User Guide
Reference for depcon commands and options.
Commands
depcon provides several commands:
- convert — Convert requirements files to pyproject.toml
- show — Display dependencies from pyproject.toml
- validate — Validate pyproject.toml dependencies
- list — List all dependency groups
- check — Check for common issues
- export — Export dependencies to requirements.txt
- diff — Show differences between files
- sync — Sync dependencies to requirements files
Convert
Converts requirements files to pyproject.toml.
Options
Requirements Files
-r, --requirements PATH: Main requirements files (requirements.txt, requirements.in)-d, --dev-requirements PATH: Development requirements files-t, --test-requirements PATH: Test requirements files--docs-requirements PATH: Documentation requirements files
Output Options
-o, --output PATH: Output pyproject.toml file path (default: pyproject.toml)--append / --no-append: Append to existing dependencies instead of replacing--backup / --no-backup: Create backup of existing pyproject.toml
Processing Options
--resolve / --no-resolve: Resolve and pin dependency versions--sort / --no-sort: Sort dependencies alphabetically
Build Backend Options
--build-backend [hatchling|setuptools|poetry]: Build backend to use
Group Configuration
--dev-group TEXT: Name for development dependencies group (default: dev)--test-group TEXT: Name for test dependencies group (default: test)--docs-group TEXT: Name for documentation dependencies group (default: docs)
Project Metadata
--project-name TEXT: Project name (if creating new pyproject.toml)--project-version TEXT: Project version (if creating new pyproject.toml)--project-description TEXT: Project description (if creating new pyproject.toml)--python-version TEXT: Python version requirement (default: >=3.12)--use-optional-deps / --use-dependency-groups: Use optional-dependencies (PEP 621 extras) instead of dependency-groups (PEP 735)--remove-duplicates / --keep-duplicates: Remove duplicate dependencies across groups (default: remove)--strict / --no-strict: Strict mode: fail on parsing errors instead of warning
General Options
-v, --verbose: Enable verbose output--help: Show help message
depcon convert -r requirements.txt
depcon convert -r requirements.txt -d requirements-dev.txt -t requirements-test.txt
depcon convert -r requirements.txt --project-name "x" --project-description "..." --append
Show
-f, --file PATH (default: pyproject.toml); --format [table|json|yaml]; --group TEXT.
Validate
-f, --file; --group TEXT; --check-pypi / --no-check-pypi.
List
-f, --file. Lists dependency groups.
Check
-f, --file; --check-duplicates; --check-missing. Finds duplicates and other issues.
Dependency grouping
- Main: Runtime deps (frameworks, data libs, HTTP, DB drivers, etc.)
- Dev: Formatters, linters, type checkers, pytest, pre-commit, build tools
- Test: pytest, coverage, mocks, benchmarks
- Docs: mkdocs, sphinx, themes
File formats
Any filename. Supported: requirements.txt, requirements.in, requirements-*.txt.
Requirement specs: version (>=2.25.0,<3.0.0), extras (requests[security]), URLs (git+https://...), local paths, -e editable, environment markers.
Build backends
--build-backend [hatchling|setuptools|poetry]. Default: hatchling.
Setuptools: requires = ["setuptools>=61.0", "wheel"], build-backend = "setuptools.build_meta". Poetry: poetry-core, poetry.core.masonry.api.
Generated output
depcon generates modern pyproject.toml files following current standards:
- PEP 621: Project metadata in
[project] - PEP 639: License as SPDX string (
license = "MIT") - PEP 735: Development dependencies in
[dependency-groups]withinclude-groupsupport - Default Python:
>=3.12
Tool integration
Output uses [dependency-groups] (PEP 735) by default, which uv reads natively.
Troubleshooting
- Invalid version specifiers:
depcon convert -r requirements.txt --verboseto locate; fix the line and re-run. - Resolution failures:
--no-resolve, or install first then convert with--resolve. - File not found: Use correct path;
ls requirements*.txtto confirm.
depcon --help, depcon convert --help, etc.