Metadata-Version: 2.4
Name: analysta
Version: 0.0.2
Summary: DataFrame Toolkit for Analysts
Project-URL: Documentation, https://github.com/Diego-Ignacio Ortiz/analysta#readme
Project-URL: Issues, https://github.com/Diego-Ignacio Ortiz/analysta/issues
Project-URL: Source, https://github.com/Diego-Ignacio Ortiz/analysta
Author-email: Diego-Ignacio Ortiz <31400790+dunkel000@users.noreply.github.com>
License-Expression: MIT
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.8
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 :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.8
Requires-Dist: pandas>=1.4
Description-Content-Type: text/markdown

# analysta 🖇️

[![PyPI - Version](https://img.shields.io/pypi/v/analysta.svg)](https://pypi.org/project/analysta)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/analysta.svg)](https://pypi.org/project/analysta)

**A Python library for comparing pandas DataFrames using primary keys, tolerances, and audit-friendly diffs.**  
Easily detect mismatches, missing rows, and cell-level changes between two datasets.

-----

## 🧾 Table of Contents

- [Installation](#installation)
- [Quick Example](#quick-example)
- [Features](#features)
- [License](#license)

## 🚀 Installation

```bash
pip install analysta
```

Python 3.9 or higher is required.

## ⚡ Quick Example

```python
from analysta import Delta
import pandas as pd

df1 = pd.DataFrame({"id": [1, 2], "price": [100, 200]})
df2 = pd.DataFrame({"id": [1, 2], "price": [100, 250]})

delta = Delta(df1, df2, keys=["id"])
print(delta.unmatched_a)         # Rows in df1 not in df2
print(delta.unmatched_b)         # Rows in df2 not in df1
print(delta.changed("price"))    # Row(s) where price changed
```

## ✨ Features

- Key-based row comparison: `"A not in B"` and vice versa
- Tolerant numeric diffs (absolute & relative)
- Highlight changed columns
- Built for analysts, not just engineers
- CLI and HTML reporting coming soon

## 📄 License

`analysta` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
