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.1.0.tar.gz (93.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.1.0-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file diamond_setup-2.1.0.tar.gz.

File metadata

  • Download URL: diamond_setup-2.1.0.tar.gz
  • Upload date:
  • Size: 93.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.1.0.tar.gz
Algorithm Hash digest
SHA256 5ed44f281461068df61e8a613aaa635c2a9163c76b59b393d2a96deb0f8180b6
MD5 3fb8641cb496d1c5eaf4bc0b00df1863
BLAKE2b-256 959d79972f553d4c80a4936969d56340c030ed341a2611d3bec98245f9b38824

See more details on using hashes here.

Provenance

The following attestation bundles were made for diamond_setup-2.1.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.1.0-py3-none-any.whl.

File metadata

  • Download URL: diamond_setup-2.1.0-py3-none-any.whl
  • Upload date:
  • Size: 15.5 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.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 eaa9cacdf255317ad072312667fcfe281322b9d5c55e316c7e0012049a848f73
MD5 0d6d47dc7e53f22d5c67ab8ef0b17ff3
BLAKE2b-256 6a35958f007c57e4b3260e4b3aec0ed155e9760a06c7ae83c3be88b44e8b912b

See more details on using hashes here.

Provenance

The following attestation bundles were made for diamond_setup-2.1.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