hatch-pip-deepfreeze 0.2

Creator: bradpython12

Last updated:

Add to Cart

Description:

hatchpipdeepfreeze 0.2

hatch-pip-deepfreeze



A hatch virtual
environment plugin to lock
dependencies with pip-deepfreeze.
Installation
hatch-pip-deepfreeze must be installed in the same environment as hatch itself.
If hatch has been installed with pipx:
pipx runpip hatch install hatch-pip-deepfreeze

If hatch has been installed with pip in the user environment:
pip install --user hatch-pip-deepfreeze

Usage
In the tool.hatch.envs.{name} section, add type = "pip-deepfreeze".
Such environments behave similarly to the standard hatch virtual environments,
except the installation and synchronization is performed using pip-deepfreeze sync.
This will automatically generate locked dependencies in requirements.txt, and
uninstall unneeded dependencies after removing them from pyproject.toml.
It also pins optional dependencies groups in requirements-{extra}.txt.
You can use the features to install project.optional-dependencies in environments.
Note that this pluging does not support per environment dependencies, because
pip-deepfreeze works exclusively with project.optional-dependencies for that.
Fortunately this is well supported by hatch.
As an example, you can adapt a pyproject.toml generated by hatch new like so:
Declare optional dependencies for test:
[project.optional-dependencies]
test = [
"pytest",
"pytest-cov",
]

Update the default environment section to remove dependencies and add features:
[tool.hatch.envs.default]
type = "pip-deepfreeze"
features = ["test"]

Use the usual hatch environment activation features such as hatch shell and notice
pip-deepfreeze in action.
License
hatch-pip-deepfreeze is distributed under the terms of the
MIT license.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.