-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add poetry #193
Add poetry #193
Conversation
Hey @jesteria! Can you give your opinion on changing the setup of aequitas to Poetry? Thank you! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe that with the changes I sent, this MR is good to be merged to master. I think we can also drop the previous requirement files.
Co-authored-by: Sérgio Jesus <36162088+sgpjesus@users.noreply.github.com>
@sgpjesus I accepted your suggestions and removed the old requirements. Let me know if you need me to do anything else. |
@valmik-patel Can you just update the |
I will actually open a new MR to try and relax some of the dependency versions |
I'm creating this request to start a conversation about adding Poetry to the project for dependency management.
Poetry allows for easy dependency management while ensuring there are no clashes. I've added the dependencies mentioned in
requirements/management.txt
as dev dependencies to poetry. Dependencies inrequirements/cli.txt
andrequirements/webapp.txt
have been added as optional extras dependencies. And finally, the dependencies inrequirements/main.txt
have been added as the main dependencies for the project.You can test this locally through the following steps
poetry install --all-extras
from project root to set up a poetry venv and install all dependenciespoetry run
in front of the commandWe can do the following things easily through poetry
poetry run coverage run -m pytest --cov-report xml:cov.xml --cov-report term
poetry build
poetry publish
. This will require configuring poetry with PyPI credentials.In addition to all this, we can also automate testing when a PR is made using
GitHub Actions
. Using this method, we can block PRs from being merged if the unit tests fail. `GitHub Actions will also allow us to automatically build and publish packages when a PR is merged. Doing all this setup requires us to add PyPI credentials to GitHub secrets at minimum, and we might need to change some GitHub settings, too.I wanted to start a conversation using this MR so we can get some opinions from the original maintainers. We will need someone with admin access to the repo to help us add secrets and block PRs from merging when the unit tests fail.
@sgpjesus FYI