Skip to main content

hatchit 🚀

A modern, Python project scaffolder combining the blazing speed of uv with the robust build ecosystem of hatch.

Inspired by PyScaffold, hatchit scaffolds Python packages, fully equipped with automated testing, documentation, and scientific publishing metadata.

Setup & Installation

You must have uv installed on your system.

pip install hatchit

Quickstart Tutorial

To create a brand new repository, simply run the hatchit CLI command:

hatchit my-awesome-package --description "A robust new tool" --license MIT

or to programmatically create a project,

from hatchit import create_hatchit_repository
create_hatchit_repository(project_path = "my-awesome-package", description = "new tool", license = "MIT")

This will generate the project in the my-awesome-package directory and initialize a fresh Git repository.

After setup

  • The GitHub workflows use "trusted publisher workflow" to publish packages to PyPI. Read more instructions here.
  • Install tox to handle package tasks. GitHub Actions relies on the tox configuration to test, generate documentation, and publish packages.
  • (Optional) Enable the pre-commit.ci bot for your repository.
  • (Optional) Install ruff for code formatting.
  • (Optional) Setup codecov for coverage reports.

Development Process

hatchit structures your project around tox and uv. To run your tests during development:

cd my-awesome-package
tox -e default

To build your documentation locally and preview:

tox -e docs

Publishing Process

  1. GitHub Actions: The included workflows will automatically begin checking your tests on all commits and PR's.
  2. PyPI: Create a new GitHub Release or tag. The publish-pypi.yml workflow will automatically securely publish your wheel to PyPI via Trusted Publishing.
  3. Zenodo: If you've activated Zenodo for your repository, hatchit includes a .zenodo.json and will automatically generate DOIs for new releases!

Download files

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

Source Distribution

hatchit-0.1.0.tar.gz (129.4 kB view details)

Uploaded Source

Built Distribution

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

hatchit-0.1.0-py3-none-any.whl (26.7 kB view details)

Uploaded Python 3

File details

Details for the file hatchit-0.1.0.tar.gz.

File metadata

  • Download URL: hatchit-0.1.0.tar.gz
  • Upload date:
  • Size: 129.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hatchit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 57fe6af29b0341267eb65e0a5e8dcde177a4324fe9674d201a4ac176e247fe01
MD5 ce86ee95c6712c923c4a6c4316c46862
BLAKE2b-256 4144a9d47a31f85f81c7a6c7fe22d1c725ae1e8297787e0da90ce49c8e46e4b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hatchit-0.1.0.tar.gz:

Publisher: publish-pypi.yml on BiocPy/hatchit

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

File details

Details for the file hatchit-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hatchit-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hatchit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a6b415e07e71683d90cc1a73d0101b333886b71531327833c10bf7a0c8c6dafa
MD5 94eba13d00a77f7bf967fbe3c2f7ae87
BLAKE2b-256 4b4fa6267c4fd2a7761a88736c79229f802182e6bb3a5ca4727bf75a817a2267

See more details on using hashes here.

Provenance

The following attestation bundles were made for hatchit-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on BiocPy/hatchit

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

0.0.1

1 file

Supported by

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