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.


Install

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
├── .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.


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-1.0.0.tar.gz (69.9 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-1.0.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: diamond_setup-1.0.0.tar.gz
  • Upload date:
  • Size: 69.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for diamond_setup-1.0.0.tar.gz
Algorithm Hash digest
SHA256 751a1c1b1b99c27545002739cb7cbe0e51a56c53525645c052155f83c7eec9ac
MD5 9e2770a8b4cdec744f053fbb4461ddc6
BLAKE2b-256 8df619c744bebba9de16767c5de3778fff105f222d958751756c625a2cfd9f0b

See more details on using hashes here.

File details

Details for the file diamond_setup-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: diamond_setup-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.17 {"installer":{"name":"uv","version":"0.9.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for diamond_setup-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee34bbcda010680a77ed0562b533c0eb87b80a24b5d7b52566cad8cc0600088d
MD5 ea4f56d94826a7504cf8a8ce3c487cdd
BLAKE2b-256 62e5dee2a154ffdfcf5bf4f4dcea27a68c750acbdf5597d2839c2665e8c91a36

See more details on using hashes here.

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