Skip to content

feat: python recipe from pyproject.toml#2205

Open
wolfv wants to merge 2 commits intomainfrom
claude/python-recipe-from-pyproject-6rFYu
Open

feat: python recipe from pyproject.toml#2205
wolfv wants to merge 2 commits intomainfrom
claude/python-recipe-from-pyproject-6rFYu

Conversation

@wolfv
Copy link
Member

@wolfv wolfv commented Feb 23, 2026

No description provided.

…project.toml

Adds a new `pyproject` subcommand to `generate-recipe` that reads a local
`pyproject.toml` file and generates a conda recipe. This addresses #1673
by allowing users to generate recipes directly from their project metadata
without fetching from PyPI.

The subcommand extracts:
- Package name and version from [project]
- Build requirements from [build-system].requires
- Runtime dependencies from [project].dependencies
- Console entry points from [project.scripts]
- License, description, and URLs from [project]

Supports conda-forge PyPI name mapping via --use-mapping (default: true).

https://claude.ai/code/session_01H8oPndn4UDXz1oHjJaE2fm
Add two features borrowed from PR #1849:

1. `[tool.rattler-build.*]` overrides in pyproject.toml let users
   customise any section of the generated recipe (context, package,
   source, build, requirements, tests, about). This is especially
   useful for setting the source URL/git, adding compiler build deps,
   or overriding license files.

2. Dynamic version resolution: when `version` is listed in
   `[project].dynamic`, the generator produces Jinja expressions
   for setuptools_scm and hatchling build backends.

https://claude.ai/code/session_01H8oPndn4UDXz1oHjJaE2fm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants