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.4.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.4.0
File Size Uploaded
hamonpy-0.4.0.tar.gz 143.1 kB Details

Built distribution (wheel)

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

Release history Release notifications | RSS feed

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

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