Introduction to DDEX Suite
DDEX Suite is a high-performance toolkit for processing DDEX metadata with perfect fidelity. Built in Rust with native bindings for JavaScript/TypeScript and Python, it provides two complementary tools for working with DDEX XML files.
What is DDEX?
DDEX (Digital Data Exchange) is the music industry standard for exchanging metadata between digital service providers, record labels, distributors, and other music industry stakeholders. DDEX XML files contain rich metadata about releases, tracks, artists, territories, and commercial terms.
Why DDEX Suite?
🚀 Performance
- Parse 10KB files in <5ms
- Process 100MB files in <5s
- Stream 1GB+ files with <100MB memory usage
🎯 Perfect Fidelity
- Round-trip guarantee: Parse → Modify → Build produces identical results
- Preserves all DDEX extensions and custom fields
- Deterministic output with stable ordering
🔧 Developer-Friendly
- Clean TypeScript/Python objects instead of raw XML
- Both "graph" (faithful DDEX structure) and "flattened" (developer-friendly) representations
- Comprehensive error reporting and validation
🌍 Multi-Language Support
- Native Node.js bindings with TypeScript definitions
- Python bindings with DataFrame integration
- WebAssembly build for browser usage
Core Components
ddex-parser
Transforms DDEX XML into clean, structured data:
import { DDEXParser } from 'ddex-parser';
const parser = new DDEXParser();
const result = await parser.parse(xmlContent);
// Access structured data
console.log(result.flat.releases[0].title);
console.log(result.flat.soundRecordings[0].artist);
ddex-builder
Generates deterministic DDEX XML from data structures:
import { DDEXBuilder } from 'ddex-builder';
const builder = new DDEXBuilder();
const xml = await builder.build(result.toBuildRequest());
Supported DDEX Versions
- ERN 3.8.2 - Electronic Release Notification
- ERN 4.2 - Electronic Release Notification
- ERN 4.3 - Electronic Release Notification (latest)
Installation
Node.js / TypeScript
npm install ddex-parser ddex-builder
Python
pip install ddex-parser ddex-builder
Quick Start
Ready to get started? Check out our Getting Started Guide for installation instructions and your first DDEX processing workflow.
Community & Support
- 📖 Documentation
- 🐛 Issues & Bug Reports
- 💬 Discussions
- 📦 npm
- 🐍 PyPI