Skip to main content

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.

CI Python 3.11+ License: MIT

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

DOI will be assigned automatically on first GitHub Release once Zenodo–GitHub integration is enabled for this repo.


Built with uv · Typer · Rich

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diamond_setup-2.2.0.tar.gz (95.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diamond_setup-2.2.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

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

Hashes for diamond_setup-2.2.0.tar.gz
Algorithm Hash digest
SHA256 7005af0159ec5308755b099b2b953de56e1ab40cf8f25fe2a47642bf0d68de32
MD5 24ba7b0c798373587f6c4f4430536fe5
BLAKE2b-256 a28bdadf2f1804eb48c201cb5b079f2d14719606347bf74c8fe8d37817dae453

See more details on using hashes here.

Provenance

The following attestation bundles were made for diamond_setup-2.2.0.tar.gz:

Publisher: release.yml on GenesisAeon/diamond-setup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for diamond_setup-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e59c5f6556b072aae4c1dbedcbe84f712e80c325d374a43db5d696c5246be826
MD5 903837362aa2d818c320b087bd8a937f
BLAKE2b-256 d10fadc789f5338be6652379e3467c896ee19086a3ff0fe70e805d75d01c5c8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for diamond_setup-2.2.0-py3-none-any.whl:

Publisher: release.yml on GenesisAeon/diamond-setup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page