Skip to main content

pydez: Python bindings for Dezrann

Dezrann is an open platform to hear, study, and annotate music on the web. Pydez is a simple, spec-compliant Python library for working with Dezrann file formats:

Features

  • Label: Individual annotation with start, duration, tag, type, comment, and custom attributes
  • Analysis: Collection of Labels, possibly with layout rules
  • Source: Base class with subclasses for different source types
  • Piece: Collection of Sources, with piece/opus metadata
  • Corpus: Collection of Pieces, with corpus metadata

All classes support:

  • build(dict) → Create from dict (with error handling)
  • dump() → Convert to dict

The Analysis, Piece and Corpus classes further support:

  • load(filepath) → Load from .json file
  • save(filepath) → Save to .json file
  • += → Combine instances, or adding another Label/Source/Piece to an existing Analysis/Piece/Corpus

The Corpus class further support publish (experimental) to publish corpus/pieces on a Dezrann server.

Installation

pip install pydez

# or, for development
git clone https://gitlab.com/algomus.fr/dezrann/pydez.git
cd pydez
pip install -e .

Example usage

Working with analyses, pieces, and corpora

cd examples
python generate-analysis.py
python generate-piece.py
python load_modify.py
python generate-corpus.py

Creating a service handling music data, as described in External services

python examples/service.py
python examples/service-test.py

Running tests

cd pydez
python -m pytest tests/

License

Dezrann is open-source, and developped with the help of many contributors in the Algomus computer music team and elsewhere. The Python bindings are licensed under the LGPL version 3 or any later version.

Metadata

Release files for pydez 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 pydez 0.3.0
File Size Uploaded Provenance
pydez-0.3.0.tar.gz 13.7 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 24.8 kB

Release files / pydez-0.3.0.tar.gz

Download URL pydez-0.3.0.tar.gz
Size 13.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9d06f299a84ee6a8d533cfe0b251647e608a8c2034698cb1cb9197307d648602
BLAKE2b-256 checksum
How to use checksums
77acbc7a03f3c24af6b3c8b2bd672e66f39509ca9af2ef97b67c6b0b0ac6b089
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / pydez-0.3.0-py3-none-any.whl

Download URL pydez-0.3.0-py3-none-any.whl
Size 11.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69514dc0ce3f13dd7f28e5c50fe0e238b34cb4a5febba3eef10077ca6237732d
BLAKE2b-256 checksum
How to use checksums
901bc9d199515677cfe7e8bf252c61e6109927e9b321b36e89f613f0e8aac80f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Security for pydez 0.3.0

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.

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