hamonpy
We implement the HAMON standard — Harmony Model and Notation — in Python.
We design this module to work well in a conda environment.
We install
This package lives in the hamonpy/ subdirectory of the repo (the repo root is not a
Python package).
Using it — once published to PyPI (after ICCCM'26):
pip install hamonpy
Contributing (and the only way until the PyPI release) — clone the full repo and install editable with the dev extra, from the repository root:
conda create -n hamonpy python=3.11
conda activate hamonpy
python -m pip install -e "./hamonpy[dev]"
Changes land through pull requests (branch, push, open a PR — no direct commits to
main); see CONTRIBUTING.md for the full workflow.
We run unit tests
pytest -q
We parse
We ship an ANTLR4-based parser generated from the normative grammars (antlr/hamonLexer.g4 + antlr/hamonParser.g4, kept in sync with grammar/hamon.ebnf). It parses the full HAMON surface — chord symbols, Roman numerals, Nashville, figured bass, functional labels, positions, alternatives, and rendering dictionaries — into the typed AST in hamonpy/ast.py. Labels that can't be parsed with confidence are preserved losslessly as unparsedHarmony.
Release files for hamonpy 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| hamonpy-0.3.0.tar.gz | 142.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hamonpy-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 305.9 kB
Release files / hamonpy-0.3.0.tar.gz
| Download URL | hamonpy-0.3.0.tar.gz |
|---|---|
| Size | 142.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ad6a3efbdb48c33d972b522fd5447391d0a38dcc052e1b1d58971366501f0feb
|
|
BLAKE2b-256 checksum How to use checksums |
81b47119d77b849047188ab5612b1d229b205d70efb97b7b044b1fd3c1c3b76d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / hamonpy-0.3.0-py3-none-any.whl
| Download URL | hamonpy-0.3.0-py3-none-any.whl |
|---|---|
| Size | 163.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
883863daf1463041fee057e48d379aa9b6eccd8747ac5adfa26fe95cc08a16bd
|
|
BLAKE2b-256 checksum How to use checksums |
9ffd0c23d4606e2f68f501b7a351411e652a5e29d617fdc28d88f223adc423fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|