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.
Release files for hatch-pip-deepfreeze 0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hatch_pip_deepfreeze-0.2.tar.gz | 5.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hatch_pip_deepfreeze-0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 9.9 kB
Release files / hatch_pip_deepfreeze-0.2.tar.gz
| Download URL | hatch_pip_deepfreeze-0.2.tar.gz |
|---|---|
| Size | 5.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
184ead26322ee36d46a18ae66dadb8aab74ba58b552bfd84507066cd0bc21205
|
|
BLAKE2b-256 checksum How to use checksums |
fb50bca36a9ffe43fb764515c076b9335b65347ed4c56c1792b6b9ad61e129ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|
Release files / hatch_pip_deepfreeze-0.2-py3-none-any.whl
| Download URL | hatch_pip_deepfreeze-0.2-py3-none-any.whl |
|---|---|
| Size | 4.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f2e749d6371b1e7ce3d90edae49361d70f0d7eb4897fd213ec7378826592078f
|
|
BLAKE2b-256 checksum How to use checksums |
0fec4528a7d1273bf9adeefe121ba9765d413857959b3f99fc254f2ed27f1ecc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.10
|