-
Notifications
You must be signed in to change notification settings - Fork 807
Closed
Labels
Complexity: MediumFeatureIssue that describes a new feature to be implemented.Issue that describes a new feature to be implemented.Impact: High
Description
Is your feature request related to a problem? Please describe.
Project dependencies can easily break and pseudo-frozen (chilled?!) requirements.txt
gives false sense of "project couldn't have broke because of requirements, they are all locked". If package_a
needs package_c>1.0
, but package_b
needs package_c<=1.0
we're potentially screwed, once package_c
gets updated to 1.1
.
We don't have a way to separate dev vs prod dependencies except making separate requirements files.
Describe the solution you'd like
Migrate to pipenv:
- install
pipenv
in deployment scripts - convert all
requirements.txt
files topipfile
files:- gather all monkey requirements and convert them to a single
pipfile
with prod and dev dependencies separated - gather all island requirements (including from requirement files in
envs/monkey_zoo/blackbox
,monkey/common/cloud/scoutsuite
and others.) and convert them to a singlepipfile
with prod and dev dependencies separated
- gather all monkey requirements and convert them to a single
- replace usages of
requirements.txt
to usages ofpipfile
in deployment scripts - In our build environment/build scripts replace
pip install -r
topipenv install
- Add
pipenv lock
either as a git hook before merge/push or at least before building the release
Describe alternatives you've considered
leaving as it is
Metadata
Metadata
Assignees
Labels
Complexity: MediumFeatureIssue that describes a new feature to be implemented.Issue that describes a new feature to be implemented.Impact: High