Metadata-Version: 2.4
Name: neckenml
Version: 0.3.0
Summary: Swedish folk music audio analysis and dance style classification
Author: NeckenML Contributors
License: AGPL-3.0-or-later
Project-URL: Homepage, https://github.com/svnoak/neckenml-analyzer
Project-URL: Documentation, https://github.com/svnoak/neckenml-analyzer/blob/main/README.md
Project-URL: Repository, https://github.com/svnoak/neckenml-analyzer
Project-URL: Issues, https://github.com/svnoak/neckenml-analyzer/issues
Keywords: audio,music,folk,swedish,classification,dance,analysis
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Multimedia :: Sound/Audio :: Analysis
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: neckenml-core>=0.3.0
Requires-Dist: neckenml-analyzer>=0.3.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-cov>=3.0.0; extra == "dev"
Requires-Dist: black>=22.0.0; extra == "dev"
Requires-Dist: flake8>=4.0.0; extra == "dev"
Dynamic: license-file

# neckenml

Swedish folk music audio analysis and dance style classification.

This is the full package that includes both core classification and audio analysis.

**AGPL-3.0 licensed**

## Installation

```bash
pip install neckenml
```

## Quick Start

```python
from neckenml import AudioAnalyzer, StyleClassifier

# Analyze an audio file
with AudioAnalyzer() as analyzer:
    result = analyzer.analyze_file("path/to/track.mp3")
    print(f"Style: {result['ml_suggested_style']}")
    print(f"BPM: {result['tempo_bpm']}")

# Classify with the full classifier
classifier = StyleClassifier()
classifications = classifier.classify(track, result)
```

## Package Structure

This metapackage installs:

| Package | License | Description |
|---------|---------|-------------|
| `neckenml-core` | MIT | Database models, classifier, training |
| `neckenml-analyzer` | AGPL | Audio analysis with Essentia |

## MIT Alternative

If you only need classification (without audio analysis), install the MIT-licensed core:

```bash
pip install neckenml-core
```

```python
from neckenml.core import StyleClassifier, Track, TrainingService
```

## License

AGPL-3.0 License - see [LICENSE](LICENSE) for details.
