Metadata-Version: 2.4
Name: dunzo
Version: 0.2.0
Summary: Tiny completion sounds for Python scripts and the command line.
Keywords: audio,cli,notification,sound
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Python :: 3.13
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# Dunzo

Tiny completion sounds for Python scripts and the command line.

Dunzo is useful when a training job, notebook cell, shell command, or long-running script
finishes and you want a small local sound.

## Install

```sh
pip install dunzo
```

For local development with UV:

```sh
uv sync
uv run pytest
uv run dunzo --list-sounds
```

## Use In Python

```py
from dunzo import done, dunzo

done()
dunzo()
done("success")
done("positive")
done("trumpet")
done("chime")
done("/path/to/your/sound.mp3")
```

In Jupyter and Colab notebooks, use the Python API from a cell:

```py
from dunzo import done

done()
```

Dunzo will display an autoplaying notebook audio element when IPython's display API is
available. Shell commands like `!dunzo` still run in the notebook runtime's operating
system and usually cannot play through your browser speakers.

## Use From The Command Line

```sh
dunzo
dunzo success
dunzo positive
dunzo trumpet
dunzo chime
dunzo /path/to/your/sound.mp3

# Backward-compatible command name:
done
done trumpet
```

Built-in sounds:

```sh
dunzo --list-sounds
```

Dunzo uses local system audio players when available. If none are available, built-in sounds
fall back to the terminal bell.

The default sound is `success`.

## Sound Licensing

Dunzo bundles a few short notification sounds from Pixabay under the Pixabay Content License.
Attribution is not required by Pixabay, but the source URLs and license notes are documented
in `MAINTAINING.md`.

The `chime` sound is generated locally at runtime from simple waveforms and does not use a
bundled audio asset.

You can still pass a local audio file path if you want your own sound. Make sure you have the
right to use that file in your environment or project.

## Development

```sh
uv sync
uv run ruff check .
uv run ruff format --check .
uv run pytest
uv build
```

This project uses standard `pyproject.toml` metadata and UV for development workflows. Release
uploads should be done deliberately from a clean worktree after reviewing the generated files in
`dist/`.

Maintainer notes, private wheel testing steps, and release checks live in `MAINTAINING.md`.
