Introduce Pipenv
Replace requirements.txt with pipenv for consistent development environments. Pipenv maintains a superior Lockfile similar to NPM. Added additional development dependencies and mypy configuration.
This contains a package update too:
-
alembic
from1.12.1
to1.13.2
-
flask
from3.0.0
to3.0.3
-
SQLAlchemy
from2.0.23
to2.0.31
Merge request reports
Activity
requested review from @moser
assigned to @karp
@karp Thank you for the time and effort to prepare this MR. I have three questions:
- Could you explain to me how pipenv is used, please? I haven't used it yet, and would like a few pointers. Maybe even add something to the README, so others can profit from it too :)
- Could you adjust the Dockerfile so that it uses pipenv? Currently, I think merging this MR would break the pipeline.
-
Is it intentional that the dependencies in the Pipfile currently have
*
instead of version numbers? Does that have something to do with the locking mechanism?
Edited by karpadded 2 commits
@moser Pipenv captures the version numbers within the
Pipfile.lock
which is used to track the last working combination of package versions. Once you have installed pipenv in your global python version viapip install pipenv
you can create an environment viapipenv --python 3.12
, switch into the environment viapipenv shell
and install dependencies withpipenv install --dev
(without--dev
development deps are excluded).mentioned in commit 3807efc6
@karp Thanks for the explanation, approved and merged!