Universal Python project scaffold — generate professional project skeletons in seconds
Project description
diamond-setup
Universal Python project scaffold — generate professional, CI-ready skeletons in seconds.
No cookiecutter, no Jinja2, no magic. Just a clean CLI that produces a fully working project — uv sync, pytest, ruff, pre-commit and CI all wired up from second one.
Installation
pip install diamond-setup
# or
uv tool install diamond-setup
Usage
# New project with the minimal template (default)
diamond scaffold my-lib
# GenesisAeon preset (adds domains.yaml + entropy-table bridge)
diamond scaffold my-physics-tool --template genesis --author "Ada Lovelace"
# Preview what would be generated (no files written)
diamond scaffold my-lib --dry-run
# See all templates
diamond list-templates
# Validate any project directory
diamond validate path/to/my-project
diamond validate # validates the current directory
What you get
Running diamond scaffold my-lib produces:
my-lib/
├── src/
│ └── my_lib/
│ └── __init__.py # __version__ = "0.1.0"
├── tests/
│ ├── __init__.py
│ └── test_main.py
├── .github/
│ └── workflows/
│ └── ci.yml # matrix: 3.11 + 3.12
├── pyproject.toml # hatchling, ruff, pytest configured
├── README.md
├── AGENT.md # GenesisAeon release & metadata rules
├── .gitignore
└── .pre-commit-config.yaml # ruff + standard hooks
Then just:
cd my-lib
uv sync --dev
pre-commit install
uv run pytest
Templates
| Template | Description |
|---|---|
minimal |
Clean Python package for everyone |
genesis |
Adds domains.yaml + entropy-table bridge (GenesisAeon preset) |
Extending
Adding a new template is one Python file. See docs/templates.md.
Role in the GenesisAeon Ecosystem
diamond-setup is P-INFRA-1 in the GenesisAeon ecosystem registry —
the ecosystem infrastructure / template scaffold package. It generates the
standardized project skeletons (CI, packaging, pre-commit) used to bootstrap
new GenesisAeon packages, including the genesis preset that wires in the
entropy-table bridge.
Citation
DOI will be assigned automatically on first GitHub Release once Zenodo–GitHub integration is enabled for this repo.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file diamond_setup-2.2.0.tar.gz.
File metadata
- Download URL: diamond_setup-2.2.0.tar.gz
- Upload date:
- Size: 95.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7005af0159ec5308755b099b2b953de56e1ab40cf8f25fe2a47642bf0d68de32
|
|
| MD5 |
24ba7b0c798373587f6c4f4430536fe5
|
|
| BLAKE2b-256 |
a28bdadf2f1804eb48c201cb5b079f2d14719606347bf74c8fe8d37817dae453
|
Provenance
The following attestation bundles were made for diamond_setup-2.2.0.tar.gz:
Publisher:
release.yml on GenesisAeon/diamond-setup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diamond_setup-2.2.0.tar.gz -
Subject digest:
7005af0159ec5308755b099b2b953de56e1ab40cf8f25fe2a47642bf0d68de32 - Sigstore transparency entry: 2185747915
- Sigstore integration time:
-
Permalink:
GenesisAeon/diamond-setup@879832b0fac8526775138480d738f9017f0f4179 -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/GenesisAeon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@879832b0fac8526775138480d738f9017f0f4179 -
Trigger Event:
push
-
Statement type:
File details
Details for the file diamond_setup-2.2.0-py3-none-any.whl.
File metadata
- Download URL: diamond_setup-2.2.0-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e59c5f6556b072aae4c1dbedcbe84f712e80c325d374a43db5d696c5246be826
|
|
| MD5 |
903837362aa2d818c320b087bd8a937f
|
|
| BLAKE2b-256 |
d10fadc789f5338be6652379e3467c896ee19086a3ff0fe70e805d75d01c5c8c
|
Provenance
The following attestation bundles were made for diamond_setup-2.2.0-py3-none-any.whl:
Publisher:
release.yml on GenesisAeon/diamond-setup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
diamond_setup-2.2.0-py3-none-any.whl -
Subject digest:
e59c5f6556b072aae4c1dbedcbe84f712e80c325d374a43db5d696c5246be826 - Sigstore transparency entry: 2185748091
- Sigstore integration time:
-
Permalink:
GenesisAeon/diamond-setup@879832b0fac8526775138480d738f9017f0f4179 -
Branch / Tag:
refs/tags/v2.2.0 - Owner: https://github.com/GenesisAeon
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@879832b0fac8526775138480d738f9017f0f4179 -
Trigger Event:
push
-
Statement type: