Skip to main content

🎼 ABCWeaver - ABC ↔ MusicXML Transformation Engine

ABCWeaver is a powerful Python package for bidirectional transformation between ABC notation and MusicXML format, enhanced with Redis stream processing capabilities through the nyro package.

✨ Features

  • Bidirectional Conversion: ABC ↔ MusicXML with full musical integrity
  • Redis Streams: Enhanced processing through nyro package integration
  • CLI Interface: Intuitive command-line tools for all operations
  • Customer Processing: Stream-based customer-specific enhancements
  • Validation: Comprehensive syntax checking for both formats
  • Batch Operations: Process multiple files efficiently

🚀 Installation

pip install abcweaver

For development:

pip install abcweaver[dev]

📖 Quick Start

Create MusicXML from ABC

abcweaver create "C D E F G A B c" --output melody.musicxml --title "Simple Scale"

Insert ABC into existing MusicXML

abcweaver insert score.musicxml "G2 A2 B2 c2" --part "Melody" --instrument "Flute"

Extract ABC from MusicXML

abcweaver extract score.musicxml --part "P1" --output melody.abc

Stream Processing with Redis

# Send ABC to Redis stream
abcweaver stream-send "C D E F" --stream "song_evolution" 

# Consume and process
abcweaver stream-consume --stream "song_evolution" --target output.musicxml

🏗️ Architecture

ABCWeaver is built with modular architecture:

  • Core: ABC parsing, MusicXML handling, format conversion
  • Streams: Redis integration via nyro package
  • Commands: CLI interface for all operations
  • Utils: Helper functions and constants

🔧 Dependencies

  • click: CLI framework
  • lxml: XML processing
  • nyro: Redis stream management
  • pydantic: Data validation
  • rich: Beautiful CLI output

🎼 Use Cases

  • Music Composition: Convert ABC notation to professional MusicXML scores
  • Score Analysis: Extract ABC patterns from existing MusicXML files
  • Stream Processing: Real-time musical data transformation via Redis
  • Batch Conversion: Process large collections of musical notation
  • Educational Tools: Bridge between simple ABC and complex MusicXML formats

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

📡 G.Music Assembly

Part of the G.Music Assembly ecosystem - transforming musical creativity through collaborative AI orchestration.

♠️🌿🎸🧵 Assembly Mode Engaged

📄 License

MIT License - see LICENSE file for details.

Metadata

Release files for abcweaver 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for abcweaver 0.2.1
File Size Uploaded Provenance
abcweaver-0.2.1.tar.gz 24.0 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 51.7 kB

Release files / abcweaver-0.2.1.tar.gz

Download URL abcweaver-0.2.1.tar.gz
Size 24.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a9808086cce5c3ef63ff9efa0aa83795d75877a3ea004de3318d7d7d2fe2ea18
BLAKE2b-256 checksum
How to use checksums
14bd590ca4aedb27cc6fe0f2c55f8c4fa1829028682d85daf2ef081051111afc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Release files / abcweaver-0.2.1-py3-none-any.whl

Download URL abcweaver-0.2.1-py3-none-any.whl
Size 27.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b7f482317cd5512e58d1031e0dfa510fd7caddb4b40eb88350e73c0aec2ef0d
BLAKE2b-256 checksum
How to use checksums
cdf55facf567f33ea5a7bc56fe3fdd04b1999b85d01907df8c703dc88d7e0624
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.17

Security for abcweaver 0.2.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.

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