monarch-initiative / mondo-ingest

Coordinating the mondo-ingest with external sources
https://monarch-initiative.github.io/mondo-ingest/
5 stars 3 forks source link

Apple Silicon, `poetry`, & cookie cutter #381

Open joeflack4 opened 9 months ago

joeflack4 commented 9 months ago

Overview

Nico and I are fortunate enough to be getting some new beastly Macbooks that use Apple Silicon processors. Mine just came in and to no surprise, pip install -r python-requirements.txt did not work in mondo-ingest.

Solution

Non-poetry/tox environments

For mondo-ingest at least, there is another file called python-requirements-unlocked.txt, which simply lists the packages that we're interested in installing, usually version agnostic, and does not contain any of the transitive dependencies for those packages. Installing from this worked for me.

Poetry/tox environments

Not sure yet; haven't thought about or researched this yet. @hrshdhgd Any ideas?

Repos where changes needed

Related

hrshdhgd commented 9 months ago

This is a good time to implement poetry in my opinion. The multiple requirements files are confusing and ancient style.

hrshdhgd commented 9 months ago

.. and mondolib does not need any updates. It's already built using the cookiecutter. That could be a possible solution here: https://github.com/monarch-initiative/monarch-project-template

This way all packages are at a central location and avoids multiple requirements.txt files.

matentzn commented 9 months ago

I agree with standardising, and moving everything to the same build/dependency systems

joeflack4 commented 9 months ago

@hrshdhgd I think you're right that this is a good time to switch soon to the cookie cutter w/ poetry.

I hadn't previously looked into best practices for handling lockfiles / locked versions for different architectures. I do see another way to do this with requirements.txt, and it looks like poetry also has a way.