Metadata-Version: 2.4
Name: aurora-melody-sdk
Version: 1.0.1
Summary: SDK for creating Aurora Melody plugins - generate melodies with Python
Author-email: Aurora Melody Labs <dev@auroramelody.com>
Maintainer-email: Aurora Melody Labs <dev@auroramelody.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/Aurora-LABS-Ai/aurora-melody-sdk
Project-URL: Documentation, https://github.com/Aurora-LABS-Ai/aurora-melody-sdk#readme
Project-URL: Repository, https://github.com/Aurora-LABS-Ai/aurora-melody-sdk
Project-URL: Issues, https://github.com/Aurora-LABS-Ai/aurora-melody-sdk/issues
Keywords: aurora-melody,midi,music,plugin,melody,generator,daw,synthesizer
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Sound/Audio :: MIDI
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: black>=23.0; extra == "dev"
Requires-Dist: mypy>=1.0; extra == "dev"
Dynamic: license-file

# Aurora Melody SDK

Python SDK for building `.aml` generator plugins for the Aurora Melody application (Standalone + Plugin).

## Installation

```bash
pip install aurora-melody-sdk
```

Package name on PyPI is `aurora-melody-sdk`.  
Import path in code is `aurora_melody_sdk`.

## What You Build

With this SDK, developers can:

- create plugin classes that generate MIDI notes
- define plugin controls and metadata
- package plugin folders into `.aml` with `aurora-pack`
- ship plugins that run in Aurora Melody

## Quick Example

```python
from aurora_melody_sdk import AuroraPlugin


class MyPlugin(AuroraPlugin):
    name = "My Plugin"
    author = "Your Name"
    version = "1.0.0"

    def generate(self, context):
        return {
            "succeeded": True,
            "notes": [
                {
                    "noteNumber": 60,
                    "startBeat": 0.0,
                    "lengthBeats": 1.0,
                    "velocity": 100,
                    "channel": 1,
                }
            ],
            "applyMode": "Replace",
        }
```

## User Paths

### Basic Users

- use example plugins as a template
- edit parameters and note logic
- run `aurora-pack ./my-plugin` and drag `.aml` into Aurora Melody

### Advanced Users

- build custom controls and AI-service backed plugins
- vendor third-party dependencies into plugin packages
- design complex generation pipelines and apply modes

## Documentation

- Full SDK implementation guide: `docs/AURORA-MELODY-SDK-GUIDE.md`
- Plugin runtime contract: `docs/PLUGIN-DEVELOPER-GUIDE.md`
- Example plugins: `aurora-melody-sdk/examples/`

## License

MIT - see [LICENSE](LICENSE).
