pykiln
pykiln is the Python engine of Kiln: it helps configure new or existing projects — configuration files, CI/CD, documentation, tests, IDE run configurations — so they reach a high level of quality from the start.
pykiln is written in Python, but the projects it generates do not have to be: Python and Rust come first, other languages follow as language packs.
Status: early development. Version 0.0.1 on PyPI only reserves the name and provides no functionality. The command line interface is not settled; this README will document it once it is.
What it does
pykiln runs in four phases:
- Inventory and questions — reads the existing project and asks what it cannot detect, then shows a plan. Nothing is written.
- Build or transform — applies the approved plan.
- Verify — checks that the environment syncs and that the quality toolchain and tests run. The previous setup is only removed once this passes.
- Remote repository — configures the remote repository (labels, milestones, issue templates, mirror).
For a Python project, pykiln detects an existing virtual environment (venv, virtualenv, Poetry, Pipenv) and offers to move it to uv. It is an offer, not a forced migration.
IDE support targets PyCharm and RustRover first, through shared run
configurations in .run/ and .editorconfig. pykiln does not write into
.idea/.
Installation
Once a functional version is released, the recommended way to install pykiln will be:
uv tool install pykiln
uv installs and manages its own Python, so no system Python is needed.
pip install pykiln will also work on a system with Python 3.10 or later.
Development
Requirements: uv.
git clone https://gitlab.com/open-works/kiln/pykiln.git
cd pykiln
uv sync # creates .venv with the dev dependency group
uv run tox # quality checks and test suite
Always run tox through uv run tox: uvx tox starts tox in an isolated
environment without the tox-uv plugin.
Contributing
Bugs, features and tasks are tracked in this project's issues. Design
decisions that apply to all of Kiln live in the
governance project;
decisions that only concern pykiln's own Python stack are filed here, with
the same DT-NNN numbering.
Metadata
Release files for pykiln 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pykiln-0.0.1.tar.gz | 2.3 kB | Without provenance | Details for pykiln-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pykiln-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for pykiln-0.0.1-py3-none-any.whl |
Total release size: 5.1 kB
Release files / pykiln-0.0.1.tar.gz
| Download URL | pykiln-0.0.1.tar.gz |
|---|---|
| Size | 2.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94a3bd1e310aad961a0733c8b477d0f7550bebb8126d5be267f3d3ee4f5bacda
|
|
BLAKE2b-256 checksum How to use checksums |
f1fae999bdfa31ec1aafab27341b4b1a0e81712a0776e43de3a44f39a24ac085
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / pykiln-0.0.1-py3-none-any.whl
| Download URL | pykiln-0.0.1-py3-none-any.whl |
|---|---|
| Size | 2.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b835e366491fd51034b1da1f368e307949ea6e64ffe7bf5e95bfa781f29b1dd4
|
|
BLAKE2b-256 checksum How to use checksums |
2059bd0a4f7b6622fd5407d007a43ca7a63248657cb4fb1165f733d9e1ad8359
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Security for pykiln 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.