Hatchling build hooks for Angee addons — generated entry points + source distribution.
Project description
hatch-angee
The one published implementation of Angee's addon build machinery. An addon repo
sets hatch_angee.build as its build backend and carries no hatch_build.py,
no hook tables, and no dynamic of its own — the backend wires everything
in.
# an addon repo's pyproject.toml — no Python hook code, no hook tables
[build-system]
requires = ["hatch-angee>=0.1"] # pulls hatchling transitively
build-backend = "hatch_angee.build"
[project]
name = "angee-addon-crm"
version = "0.1.0"
# no `dynamic = [...]` — the backend declares entry-points dynamic for you
[tool.hatch.build.targets.wheel]
packages = ["vendor"] # the import package(s) to ship
On a wheel/editable build the backend discovers every addon.toml in the repo
(pruning node_modules, .venv, dist, …) and:
- generates the
angee.addonsentry points (name -> import anchor) — the runtime enumerates these overuv.lockto list available addons; - ships each addon's
web/,templates/,skills/into the wheel at the addon's import path (vendor.crm→vendor/crm/...), layout-agnostic.
Backend config lives in [tool.hatch-angee] — e.g. extra-web names glob roots
of non-addon shared web packages (no addon.toml) to ship verbatim. A normal
addon repo configures none.
Escape hatch: explicit hatchling hooks
The same two hooks are also registered by name, so a repo that prefers plain hatchling can wire them itself instead of using the backend:
[build-system]
requires = ["hatchling", "hatch-angee>=0.1"]
build-backend = "hatchling.build"
[project]
dynamic = ["entry-points"]
[tool.hatch.metadata.hooks.angee-addons]
[tool.hatch.build.targets.wheel.hooks.angee-addon-sources]
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hatch_angee-0.1.1.tar.gz.
File metadata
- Download URL: hatch_angee-0.1.1.tar.gz
- Upload date:
- Size: 43.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc1690e104f11a67c72db27b823772966612ba6dc4e431988d4355988f6738d9
|
|
| MD5 |
1b426fb0e17d3bba8c44e32442a85fdf
|
|
| BLAKE2b-256 |
eda5d39c1a572051502516152e7f92c3e195e391b30d41b835461b7bbbe9101d
|
File details
Details for the file hatch_angee-0.1.1-py3-none-any.whl.
File metadata
- Download URL: hatch_angee-0.1.1-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
12551e298da3d700e9761f6b2a1f11d89820025499599dd34ba55193e5371600
|
|
| MD5 |
6dff9a4382a30a0fc01e5778d7d4252a
|
|
| BLAKE2b-256 |
0e3c39797e074eaeddfe66f704a439a71977212711d729004a9b6d7a50f3b026
|