Skip to content
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

Replace pipenv with poetry #246

Merged
merged 11 commits into from
Mar 24, 2020
Merged

Replace pipenv with poetry #246

merged 11 commits into from
Mar 24, 2020

Conversation

bjoernricks
Copy link
Contributor

@bjoernricks bjoernricks commented Mar 22, 2020

Checklist:

Start replacing pipenv with poetry
Drop all usage of pipenv from the README and add section about using
autohooks for formatting and linting.
Drop usage of pipenv.
It got replaced by using poetry.
Maintain the version information in the pyproject.toml file only.
@bjoernricks bjoernricks marked this pull request as ready for review March 22, 2020 16:49
@wiegandm
Copy link
Member

First impressions:

  • Setting up and using a venv with poetry seems to work.
  • Setting up the venv takes considerably longer than pipenv. But this is likely due to pipenvs arguably messy collection of vendored and pseudo-vendored dependencies, so no obstacle to poetry in my opinion.
  • Using poetry install will also install the gvm-tools package from the local directory into the venv, while pipenv install --dev only installed the dependencies and left the user to call pip install . or similar inside the venv. I have no general objection to this if it is indeed intentional, but this should be made clearer in the documentation.

@wiegandm
Copy link
Member

Using poetry install will also install the gvm-tools package from the local directory into the venv, while pipenv install --dev only installed the dependencies

After reading https://python-poetry.org/docs/cli/#install, I understand that this is the default behavior of poetry:

By default poetry will install your project's package everytime you run install (..) If you want to skip this installation, use the --no-root option.

So this actually sounds sensible and easier to use -- but I would still suggest noting this change of behavior in the documentation/changelog.

@bjoernricks
Copy link
Contributor Author

Yes poetry install is different to pipenv install

  • It installs dev packages by default
  • It installs also the own package in editable mode

Personally I think both are a good think. It is much easier that the provided scripts of the python package get installed by default then to run pipenv run pip install -e .

@bjoernricks
Copy link
Contributor Author

I've extended the changelog entry accordingly.

@wiegandm
Copy link
Member

There is still a last reference to pipenv in RELEASE.md, perhaps this could be replaced by simply creating a venv with python3 -m venv gvm-tools-install-test, activating it and testing the install from test.pypi.org there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants