Metadata-Version: 2.4
Name: tab_err
Version: 0.2.1
Summary: Fully-controllable error generation for tabular data.
Author-email: Philipp Jung <philippjung@posteo.de>, Sebastian Jäger <tab_err@sebastian-jaeger.me>
License: Apache License 2.0
Project-URL: homepage, https://tab-err.readthedocs.io/latest/
Project-URL: repository, https://github.com/calgo-lab/tab_err
Project-URL: documentation, https://tab-err.readthedocs.io/latest/
Project-URL: Bug Tracker, https://github.com/calgo-lab/tab_err/issues
Keywords: tabular-data,data-quality,error-modeling,data-errors
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
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: Operating System :: POSIX :: Linux
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: <3.13,>=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas<2.4.0,>=2.3.0
Dynamic: license-file

# `tab_err`

`tab_err` is an implementation of a tabular data error model that disentangles error mechanism and error type.
It generalizes the formalization of missing values, implying that missing values are only one of many possible error type implemented here.
`tab_err` gives the user full control over the error generation process and allows to model realistic errors with complex dependency structures.

The building blocks are `ErrorMechanism`s, `ErrorType`s, and `ErrorModel`s.
`ErrorMechanism` defines where the incorrect cells are and model realistic dependency structures and `ErrorType` describes in which way the value is incorrect.
Together they build a `ErrorModel` that can be used to perturb existing data with realistic errors.

This repository offers (soon) three APIs, low-level, mid-level and high-level.

## Examples

For details and examples please check out our [Getting Started Notebook](https://github.com/calgo-lab/tab_err/blob/main/examples/1-Getting-Started.ipynb).

## Where to get it

The source code is currently hosted on GitHub at:
<https://github.com/calgo-lab/tab_err>

Binary installers for the latest released version are available at the [Python
Package Index (PyPI)](https://pypi.org/project/tab-err).

```sh
pip install tab-err
```

## Contributing

To develop `tab_err`, install the `uv` package manager.
Run tests with `uv run pytest`.
Develop features on feature branches and open pull requests once you're ready to contribute.
Make sure that your code is tested, documented, and well described in the pull request.
