Metadata-Version: 2.4
Name: lumi-tantrum-pipeline
Version: 0.1.1
Summary: Reusable tantrum analysis package built around YAMNet heuristics.
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: librosa>=0.11.0
Requires-Dist: numpy>=1.26.0
Requires-Dist: soundfile>=0.13.0
Requires-Dist: tensorflow-hub>=0.16.1

# tantrum-classifier

Identify tantrum segments in an audio file.

The classifier is now being extracted into a reusable package surface,
`lumi_tantrum_pipeline`, while preserving the existing CLI workflow.

## Current CLI

```bash
python classifier.py demo.wav
```

The CLI still supports:

- `--threshold`
- `--gap`
- `--segments-dir`
- `--out`
- `--plot`
- `--plot-out`
- `--no-save`

## Package Contract

The reusable package lives under `lumi_tantrum_pipeline` and exports the
router-facing contract surface through `lumi_tantrum_pipeline.__init__`.

## Status

Initial parity and benchmark validation completed locally; broader router-side
validation remains follow-up work.

## Release

This package is intended to publish to PyPI via GitHub Actions Trusted
Publishing.

Release flow:

1. Ensure the version in `pyproject.toml` is the version you want to release.
2. Create and push a matching git tag:

```bash
git tag v0.1.1
git push origin v0.1.1
```

3. GitHub Actions builds the distribution, verifies the tag matches
   `pyproject.toml`, and publishes to PyPI.

Repository setup required before the first release:

- In PyPI, create a Trusted Publisher for
  `lumi-engineering/tantrum-classifier`
- Workflow name: `Publish PyPI Package`

If you do not have access to GitHub Environments for this repository, leave the
environment unset in the PyPI publisher configuration. The workflow publishes
without requiring a GitHub environment.

The publish workflow lives in `.github/workflows/publish-pypi.yml`.
