Skip to content

A project showcasing features and plugins for Hatch

License

Notifications You must be signed in to change notification settings

ofek/hatch-showcase

Repository files navigation

hatch-showcase

CI/CD CI - Test CD - Build
Package PyPI - Version PyPI - Python Version
Meta Hatch project code style - black types - Mypy License - MIT GitHub Sponsors

This project is meant to showcase various features and plugins for Hatch as well as providing a place to test experimental functionality.

Table of Contents

Installation

pip install hatch-showcase

Version source

  • The hatch-vcs version source plugin determines the project version using Git tags

Environments

  • Defined neatly in a standalone hatch.toml
  • The test matrix uses the hatch-containers plugin to run each environment inside Docker containers; usage can be seen in the test GitHub workflow

Build

  • All build targets use the hatch-vcs build hook plugin to ship a _version.py file so the version can be used at runtime
  • Wheels use the hatch-mypyc build hook plugin to first compile all code with Mypyc
  • The build GitHub workflow shows how to:
    • use cibuildwheel to distribute binary wheels for every platform
    • use the app build target to build standalone distributions for every platform

License

hatch-showcase is distributed under the terms of the MIT license.