hatch-requirements-txt
Hatchling plugin to read project dependencies from requirements.txt
Decision gist · record as of 2026-08-14
Yes. If you use Hatchling and want to keep dependencies in requirements.txt files, this plugin eliminates the need to duplicate them in pyproject.toml. It's lightweight, actively maintained, permissively licensed, and has no security vulnerabilities. Install it if you're already committed to Hatchling; skip it if you use another build system or prefer managing dependencies directly in pyproject.toml.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires hatchling as the build backend; does not work with other build systems like setuptools or poetry.
- Low friction installation with only two runtime dependencies (hatchling and packaging).
- The package is actively maintained with a recent commit history and has been stable since its initial release in 2022.
License · maintenance · safety
permissive license (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for both open-source and commercial projects.
last release 2024-01-24 (933 days) · last repo commit 2026-07-06 · 41 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,522,910 downloads/mo, #2,593 on PyPI
Alternatives
Verify before relying
# In pyproject.toml:
[build-system]
requires = ["hatchling", "hatch-requirements-txt"]
build-backend = "hatchling.build"
[project]
name = "my-project"
version = "1.0.0"
dynamic = ["dependencies"]
[tool.hatch.metadata.hooks.requirements_txt]
files = ["requirements.txt"]- Whether the plugin handles complex version specifiers or environment markers beyond basic PEP 508 compliance.
- Performance characteristics when processing large or numerous requirements.txt files.
- Compatibility with Hatchling versions beyond those tested in the CI matrix.
What it is and what it does
hatch-requirements-txt is a Hatchling plugin that bridges the gap between traditional requirements.txt dependency files and modern pyproject.toml-based project configuration. It allows you to keep your dependencies specified in requirements.txt while using Hatchling as your build backend, automatically parsing those files and exposing them as project dependencies during the build process.
The plugin supports PEP 508 requirement specifiers, comments, and command-line options (which it ignores), but explicitly does not support editable installs, file references, URLs, or constraints files. It's designed for straightforward dependency declaration and works with optional dependency groups by reading multiple requirements files into separate feature sets. The package is actively maintained, supports Python 3.6 through 3.12, and has no known security vulnerabilities.
Use it for
- Migrating a legacy project from setuptools to Hatchling while keeping existing requirements.txt files intact.
- Managing separate dependency groups (e.g., dev, test, docs) by mapping each to a requirements file and declaring them as optional dependencies.
- Maintaining a single source of truth for dependencies in requirements.txt while using modern pyproject.toml-based build configuration.
- Automating dependency pinning in CI/CD by reading from generated requirements.txt files during the build process.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
If you use Hatchling and want to keep dependencies in requirements.txt files, this plugin eliminates the need to duplicate them in pyproject.toml. It's lightweight, actively maintained, permissively licensed, and has no security vulnerabilities. Install it if you're already committed to Hatchling; skip it if you use another build system or prefer managing dependencies directly in pyproject.toml.
Install
hatch-requirements-txt on PyPI
Before you install
Low friction installation with only two runtime dependencies (hatchling and packaging). The package is actively maintained with a recent commit history and has been stable since its initial release in 2022.
Requires hatchling as the build backend; does not work with other build systems like setuptools or poetry.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal obligations—suitable for both open-source and commercial projects.
Quickstart
# In pyproject.toml:
[build-system]
requires = ["hatchling", "hatch-requirements-txt"]
build-backend = "hatchling.build"
[project]
name = "my-project"
version = "1.0.0"
dynamic = ["dependencies"]
[tool.hatch.metadata.hooks.requirements_txt]
files = ["requirements.txt"]
Verify before relying
- Whether the plugin handles complex version specifiers or environment markers beyond basic PEP 508 compliance.
- Performance characteristics when processing large or numerous requirements.txt files.
- Compatibility with Hatchling versions beyond those tested in the CI matrix.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.6.1 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packageshatchlingpackaging |
| Maintenance | Actively maintained 933 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,522,910 / month, #2,593 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaFramework :: HatchIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Archiving :: PackagingTyping :: Typed |
Evidence: hatch_requirements_txt-0.4.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “hatchling requirements.txt plugin”
- hatch-requirements-txtA Hatchling plugin that reads project dependencies from…
- unidepUniDep unifies Conda and Pip dependency management by reading from a…
- hatch_build_scriptsA Hatch build plugin that runs arbitrary shell commands during…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also hatch-fancy-pypi-readme · hatchling · hatchling-autoextras-hook · pylibyear · hatch-nodejs-version · hatch_build_scripts · requirements-detector · hatch-polylith-bricks · requirements-parser · hatch-regex-commit