Skip to main content

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)

Source distribution for hamonpy 0.3.0
File Size Uploaded
hamonpy-0.3.0.tar.gz 142.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hamonpy 0.3.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

0.5.0

2 release files

0.4.0

2 release files

This release

0.3.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page