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

pip install hamonpy

This package lives in the hamonpy/ subdirectory of the repository (the repository root is not a Python package). To run it from a checkout, with the test dependencies, install it editable from the repository root:

conda create -n hamonpy python=3.11
conda activate hamonpy
python -m pip install -e "./hamonpy[dev]"

Questions and bug reports go to the issue tracker.

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.5.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.5.0
File Size Uploaded
hamonpy-0.5.0.tar.gz 146.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hamonpy 0.5.0
File Interpreter ABI Platform
hamonpy-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 314.2 kB

Release files / hamonpy-0.5.0.tar.gz

Download URL hamonpy-0.5.0.tar.gz
Size 146.1 kB
Tags Source
SHA-256 checksum
How to use checksums
3887c547ad4fcf4bafe201e514196bbe700670b5820f818e93616c4ec4c5b78d
BLAKE2b-256 checksum
How to use checksums
0863f4b81ca9ab55142756b1c64e4b0173b410d3efd246697c346256f4bcf5d9
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.5.0-py3-none-any.whl

Download URL hamonpy-0.5.0-py3-none-any.whl
Size 168.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b6414e6669c23a0af5f6a40ad9ec994a3b388020f34608a1fef47e6d03d0ad4e
BLAKE2b-256 checksum
How to use checksums
121f7e7c716c3ff40bedd9a55ebaa6b96a263f9046c5fed31f73c95f5acd1b6c
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

This release

0.5.0 This release

2 release files

0.4.0

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