reqs¶
Entrypoint for dependency fix and legacy unlock fix_v1
cli option
--show-resolvable-shareddoc string
- wreck.cli_dependencies.main()¶
reqs --help, prints help
reqs COMMAND --help, prints help for a command
Table 9 Commands¶ command
creates
desc
.lock
Create lock and unlock fix both
.unlock
Create unlock dependency file. Legacy algo
- wreck.cli_dependencies.present_results(fcn, venv_relpath, lock_msgs_for_venv, lock_unresolvables_for_venv, lock_applies_to_shared_for_venv, unlock_msgs_for_venv, unlock_applies_to_shared_for_venv, show_unresolvables, show_fixed, show_resolvable_shared)¶
Present results groups by venv.
- wreck.cli_dependencies.requirements_fix_v2(*args: t.Any, **kwargs: t.Any) t.Any¶
Lock dependencies creates (
*.lock) filesDisadvantages of locking dependencies
FOSS is
as-is, largely unpaid work, often lacks necessary skillset, often doesn’t care to do tedious tasks, is pressed for time, and live happens. These are the people supposed to be making packages for production use?! Having such expectations is ridiculous and conflicts with the human conditionpackage quickly becomes unusable when, not if, the author is no longer maintaining the package
Non-experts might not be using pipenv, only pip. Almost guaranteeing dependency hell.
pipwon’t have what it needs to resolve dependency version conflictspipenvsays don’t automate updating dependency lock files thru CI/CDMultiple calls to
pip-compilealways causes avoidable mistakes; choosing non-sync’ed dependency versions.
Advantage
Job security. Knowledgable eyeballs must regularly update dependency version locks
pipenvdiscourages attackers setting up alternative repository hostspypi.organd swapping out an obscure package with their own.The stars align in the cosmos, miraculously, all package authors regularly update their packages dependencies’ locks. Get that warm feeling inside knowing we are alive, loved, and appreciated. We shout,
it's a miracle!and be right!
Usage
reqs fix
or
python src/wreck/cli_dependencies.py fix
- Parameters:
path¶ (pathlib.Path) – The root directory [default: pyproject.toml directory]
venv_relpath¶ (pathlib.Path) – Filter by venv relative path
timeout¶ (int) – Default 15. Web connection time out in seconds
show_unresolvables¶ (bool) – Default True. Report unresolvable dependency conflicts
show_resolvable_shared¶ (bool) – Default True. Report resolvable issues affecting
.shared.{.unlock, .lock}files.
- wreck.cli_dependencies.requirements_unlock(*args: t.Any, **kwargs: t.Any) t.Any¶
Unlock dependencies creates (
*.unlock) filesPackage dependencies are only locked if the package is an app. A
.inresolves-rand-c, which can be understood by pipUsage
reqs unlock
or
python src/wreck/cli_dependencies.py unlock
- Parameters:
path¶ (pathlib.Path) – The root directory [default: pyproject.toml directory]
venv_relpath¶ (pathlib.Path) – Filter by venv relative path