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.4.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.4.0.tar.gz | 143.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hamonpy-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 308.0 kB
Release files / hamonpy-0.4.0.tar.gz
| Download URL | hamonpy-0.4.0.tar.gz |
|---|---|
| Size | 143.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f322eaf2cbc9f38b345ba508f9aa2e1101731ebb2afd19caa422d7de7e0612b
|
|
BLAKE2b-256 checksum How to use checksums |
bc42914caa4d38a21b14a394c8a3bae1247455cc8426e5f7232718c016c6d3d8
|
| 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.4.0-py3-none-any.whl
| Download URL | hamonpy-0.4.0-py3-none-any.whl |
|---|---|
| Size | 164.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bef47d96632f04878f450f73578475ad0432e775b04afdce315d71f0a14d9ebf
|
|
BLAKE2b-256 checksum How to use checksums |
352afee233a3eba469b2b0845e810e2934ff71c9c5a00a47e450a04606fdcb2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|