Metadata-Version: 2.4
Name: deepfilternet-slim
Version: 0.1.0
Summary: DeepFilterNet C runtime and DFN3 model bundled in platform wheels
Keywords: audio,deepfilternet,noise-suppression,onnx
Author: samwell
License-Expression: MIT
License-File: LICENSE
License-File: NOTICE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Multimedia :: Sound/Audio :: Speech
Project-URL: Homepage, https://github.com/kiwi-data/deepfilternet-slim
Project-URL: Repository, https://github.com/kiwi-data/deepfilternet-slim
Project-URL: Issues, https://github.com/kiwi-data/deepfilternet-slim/issues
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# deepfilternet-slim

`deepfilternet-slim` distributes the DeepFilterNet C runtime and the
standard DeepFilterNet3 ONNX model in platform wheels. It does not depend on
PyTorch and does not require a system installation of DeepFilterNet.

The package is intended to be the native runtime layer used by MushroomAgent.
Applications receive stable paths from a small typed Python API instead of
asking users to configure platform-specific library and model paths.

## Installation

```bash
pip install deepfilternet-slim
```

## Usage

```python
from deepfilternet_slim import runtime_assets

assets = runtime_assets()
print(assets.library_path)
print(assets.model_path)
```

The wheel currently contains:

- the DeepFilterNet C API runtime built from the pinned `main` commit
  `d375b2d8309e0935d165700c91da9de862a99c31` (not the `v0.5.6` release tag);
- `DeepFilterNet3_onnx.tar.gz`, verified with a pinned SHA256 checksum;
- the upstream MIT and Apache-2.0 license texts.

The upstream `capi` feature normally embeds the default model in the shared
library while also accepting an external model path. The build stages a clean
copy of `libDF` and removes that feature edge, so the model is included exactly
once in each wheel.

The dedicated Cargo lock updates the compatible tract runtime to `0.21.17`.
That version avoids selecting Apple AMX kernels on virtualized macOS arm64
runners, where those instructions are unavailable.

## Supported wheels

- Linux x86_64
- Linux AArch64
- macOS x86_64
- macOS arm64
- Windows AMD64

Linux wheels are built in the manylinux environment selected by cibuildwheel.
The Python module has no CPython ABI dependency, so one `py3-none-<platform>`
wheel serves every supported Python version.

## Development

Clone with the pinned upstream source:

```bash
git clone --recurse-submodules https://github.com/kiwi-data/deepfilternet-slim.git
cd deepfilternet-slim
python -m build --wheel
python -m pip install --force-reinstall dist/*.whl
pytest -q
```

Configuration fails if the submodule commit or model checksum differs from the
values pinned by this repository.

## Releasing

Push a `v*` tag. GitHub Actions builds and tests every platform wheel, then
publishes them to PyPI using Trusted Publishing. Configure a PyPI project named
`deepfilternet-slim` with the GitHub `pypi` environment before the
first release.

## Upstream attribution

DeepFilterNet is developed by Hendrik Schröter and contributors and is
available from <https://github.com/Rikorose/DeepFilterNet>. See `NOTICE` and the
license files bundled in each wheel.
