Skip to main content

hatch plugin to use pip-compile to manage project dependencies

Project description

hatch-pip-compile

hatch plugin to use pip-compile (or uv) to manage project dependencies and lockfiles.

PyPI PyPI - Python Version GitHub License docs Testing Status Hatch project Pip Tools project uv Ruff pre-commit semantic-release Gitmoji

Usage

The hatch-pip-compile plugin will automatically run pip-compile whenever your environment needs to be updated. Behind the scenes, this plugin creates a lockfile at requirements.txt (non-default lockfiles are located at requirements/requirements-{env_name}.txt). Once the dependencies are resolved the plugin will install the lockfile into your virtual environment and keep it up-to-date.

Installation

Declare hatch-pip-compile as a dependency in your pyproject.toml file under the [tool.hatch.env] table and hatch will automatically install it. You must also have your environment type set to pip-compile (see Configuration).

  • pyproject.toml

    [tool.hatch.env]
    requires = [
        "hatch-pip-compile"
    ]
    
    [tool.hatch.envs.default]
    type = "pip-compile"
    
  • hatch.toml

    [env]
    requires = [
        "hatch-pip-compile"
    ]
    
    [envs.default]
    type = "pip-compile"
    

Configuration

Set your environment type to pip-compile to use this plugin for the respective environment:

  • pyproject.toml

    [tool.hatch.envs.default]
    type = "pip-compile"
    
  • hatch.toml

    [envs.default]
    type = "pip-compile"
    

Common Scenarios

Configuration Options

The plugin gives you options to configure how lockfiles are generated and how they are installed into your environment.

The following example shows how to specify the pip-compile-hashes option on your environment in your pyproject.toml file:

[tool.hatch.envs.default]
type = "pip-compile"
pip-compile-hashes = true

Generating Lockfiles

name type description
lock-filename str The filename of the ultimate lockfile. default env is requirements.txt, non-default is requirements/requirements-{env_name}.txt
pip-compile-constraint str An environment to use as a constraint file, ensuring that all shared dependencies are pinned to the same versions.
pip-compile-hashes bool Whether to generate hashes in the lockfile. Defaults to false.
pip-compile-resolver str Whether to use pip-compile or uv to resolve dependencies into the project. Defaults to pip-compile
pip-compile-args list[str] Additional command-line arguments to pass to pip-compile-resolver
pip-compile-verbose bool Set to true to run pip-compile in verbose mode instead of quiet mode, set to false to silence warnings

Installing Lockfiles

name type description
pip-compile-installer str Whether to use pip, pip-sync, or uv to install dependencies into the project. Defaults to pip
pip-compile-install-args list[str] Additional command-line arguments to pass to pip-compile-installer


Check Out the Docs

Looking to contribute? See the Contributing Guide

See the Changelog

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hatch_pip_compile-1.11.6.tar.gz (574.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hatch_pip_compile-1.11.6-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file hatch_pip_compile-1.11.6.tar.gz.

File metadata

  • Download URL: hatch_pip_compile-1.11.6.tar.gz
  • Upload date:
  • Size: 574.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hatch_pip_compile-1.11.6.tar.gz
Algorithm Hash digest
SHA256 1c279b546da75b4bd0c3f81484a31e0dcc377b96f39d429a5306df0b38823f6d
MD5 269be8253418935135fed8d12c463506
BLAKE2b-256 a7e0d82483fc9eb5c618263fc32ad08be3980492d353ade3f023eed1fec6321a

See more details on using hashes here.

File details

Details for the file hatch_pip_compile-1.11.6-py3-none-any.whl.

File metadata

File hashes

Hashes for hatch_pip_compile-1.11.6-py3-none-any.whl
Algorithm Hash digest
SHA256 b3650470afd7cd10669080c5c78878869a99024f5a57547c1c79c529e27f0b9e
MD5 651d20483ed9dc7e20539e568ecc508e
BLAKE2b-256 c3a3cd4bac00ff0e14d65f9be24df2638d870eaa3d5439f1fbf16463d9ee0bb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page