Metadata-Version: 2.4
Name: libspot
Version: 2.0b5
Summary: Born to flag outliers (from python)
Author-email: Alban Siffer <31479857+asiffer@users.noreply.github.com>
License: LGPLv3
Project-URL: Homepage, https://asiffer.github.io/libspot
Project-URL: Repository, https://github.com/asiffer/libspot.git
Project-URL: Issues, https://github.com/asiffer/libspot/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Programming Language :: C
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Mathematics
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: auditwheel>=5.3.0
Requires-Dist: build
Requires-Dist: delvewheel>=1.1.4
Requires-Dist: setuptools

# libspot

Born to flag outliers (from python).

This is the python version of [`libspot`](https://github.com/asiffer/libspot).
It ships the whole library (so you don't have to install it beforehand).

```shell
pip install libspot
```

The bindings are implemented as a CPython `C` extension (i.e. directly using the CPython API). So the overhead is low (but it deserves to be evaluated).

> [!IMPORTANT]  
> This `C` extension uses the [CPython Limited API](https://docs.python.org/3/c-api/stable.html#limited-c-api). It makes the built wheels compatible with multiple versions of Python. So in practice, a single wheel is built for each OS et can be installed along with any `CPython>=3.6`.


## Building

First install dependencies
```shell
uv sync --all-extras
uv pip install abi3audit
```

Then you can build the wheel.
```shell
uv run python -m build --wheel --installer uv
```

Ensure abi3 compatibility
```shell
uv run auditwheel repair -w wheel --strip dist/*.whl
```

Check
```shell
uv run abi3audit --strict --report wheel/*.whl
```
