Metadata-Version: 2.4
Name: musicflow-studioai
Version: 1.0.1
Summary: AI adaptive game music & generation SDK for MusicFlow.
Author-email: MusicFlow <hello@musicflow.io>
License: MIT
Project-URL: Homepage, https://musicflow.io
Project-URL: Documentation, https://musicflow.io/dashboard/docs
Keywords: music,ai,game,adaptive,soundtrack,musicflow,generation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.25
Dynamic: license-file

# musicflow-studioai (Python SDK)

AI adaptive game music & generation for Python backends and tools.

## Install
```bash
pip install musicflow-studioai
# or from the downloaded archive:
pip install ./musicflow-studioai.tar.gz
```

## Usage
```python
from musicflow import MusicFlow

mf = MusicFlow("mf_live_xxx")

# Generate and wait for completion
track = mf.generate("epic boss battle", genre="Orchestral", duration=60, loop=True)
print(track["audio_files"]["mp3"], track["metadata"]["bpm"])

# Adaptive session
mf.adaptive.create_session(game="Neon Drift", mood="dark")
mf.adaptive.set_intensity(0.8)
mf.adaptive.transition("boss")
```

## License
MIT

## Publishing (maintainers)
```bash
pip install build twine
python -m build                       # builds dist/*.tar.gz and dist/*.whl
twine check dist/*                    # validates metadata (should PASS)
# 1) TestPyPI first (token from https://test.pypi.org/manage/account/token/)
TWINE_USERNAME=__token__ TWINE_PASSWORD=pypi-... twine upload --repository testpypi dist/*
pip install --index-url https://test.pypi.org/simple/ --no-deps musicflow-studioai
# 2) then PyPI (token from https://pypi.org/manage/account/token/)
TWINE_USERNAME=__token__ TWINE_PASSWORD=pypi-... twine upload dist/*
```

Docs: https://musicflow.io/dashboard/docs
