mmore500 / hstrat

hstrat enables phylogenetic inference on distributed digital evolution populations
Other
3 stars 2 forks source link

Unify handling of dependencies #54

Closed JJ closed 1 year ago

JJ commented 1 year ago

Description

This project has both pyproject.toml as well as requirements*.txt files. Best practices (and PEPs) have settled on the former. It should make sure it follows current best practices, and at any rate only one of them.

mmore500 commented 1 year ago

Agreed that this should be streamlined. Will make ongoing maintenance a lot easier (as well as being less confusing for people looking through/contributing). Worked on this in #57. I got rid of setup.py but did keep the requirements.txt in requirements-dev/. These are generated with pip-tools and thoroughly pin the entire install, so are useful to keep package changes from randomly breaking the CI.

I will add a note in the documentation about how to install development dependencies.

JJ commented 1 year ago

You should probably keep requirements.txt only for poetry and tox. Just for simplicity. The rest should be handled by pyproject.toml

mmore500 commented 1 year ago

Yep, pyproject.toml is doing all the heavy lifting. Under the hood, it's being used to generate the full-pinned requirements.txt files using pip-tools compile. I have updated CONTRIBUTING.rst with current instructions for developer setup.

mmore500 commented 1 year ago

Going to close this for now. Happy to discuss further ideas for improvements, though.