Skip to main content

hatch-pip-deepfreeze

PyPI - Version PyPI - Python Version


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)

Source distribution for hatch-pip-deepfreeze 0.2
File Size Uploaded
hatch_pip_deepfreeze-0.2.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hatch-pip-deepfreeze 0.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page