Chord Progressions
A library for working with chord progressions.
Installation
pip install chord-progressions
Usage
See documentation at https://p3zo.github.io/chord-progressions/.
Development
Configuration for local development with Docker is provided. Run make build to build the container, make shell to
get a shell inside of it for ad-hoc usage, and make test to run all unit tests inside the container. See
the Makefile for all available actions.
To upgrade the version and trigger a new release, use bump-my-version bump minor chord_progressions/__init__.py.
The documentation uses Material for MkDocs to build a static site from
Markdown files. Use mkdocs serve to start a live preview server of the site that automatically rebuilds upon saving.
Build the site with mkdocs build and deploy with mkdocs gh-deploy.
TODO
Analysis
- [feature] get key for progression
- [feature] get functional names for chords given key
- [feature] extend interval class vectors to "polychord content" vectors
I/O
- [performance]
extract.midi_harman.segment_and_label()is slow for many consecutive segments. test that a maximum of six segment evaluations occur per note
Misc
- [feature] Generalize
noteNumberToFrequencyto use any periodic tuning ( see https://github.com/soul-lang/SOUL/pull/26/files) - [feature] implement
is_partial_circular_match,chord_contained_in_type, andget_possible_types_of_chord - [maintainability] mk
pitch_classrefer to "C" and call 0pitch_class_ix - [maintainability] pass midi note numbers everywhere as "notes" and include note names as "noteNames"
- [maintainability] test the merging of chord types
- [maintainability] github action to build & deploy docs
Metadata
Release files for chord-progressions 0.37.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| chord_progressions-0.37.1.tar.gz | 29.0 kB | Without provenance | Details for chord_progressions-0.37.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| chord_progressions-0.37.1-py3-none-any.whl | Python 3 | none | any | Details for chord_progressions-0.37.1-py3-none-any.whl |
Total release size: 58.5 kB
Release files / chord_progressions-0.37.1.tar.gz
| Download URL | chord_progressions-0.37.1.tar.gz |
|---|---|
| Size | 29.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec822a93c5475f7587b11c09368eb611351d4a228cdb06a99b2c8d92a3d3fe6c
|
|
BLAKE2b-256 checksum How to use checksums |
42afffe38727f28dbac5287728619c41d55b91cbb60b3a27d6c7e1517fd018c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Release files / chord_progressions-0.37.1-py3-none-any.whl
| Download URL | chord_progressions-0.37.1-py3-none-any.whl |
|---|---|
| Size | 29.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a1c4afaa2c76e13a4fb3696b076fad5d27f613542f18ca53e8a0fa0924a18cef
|
|
BLAKE2b-256 checksum How to use checksums |
5a36c686ea135b75a6831db1827c002bb11e66a8468b01b9443437736a0beef3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.1.0 CPython/3.12.4
|
Security for chord-progressions 0.37.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.