Metadata-Version: 2.4
Name: mbox
Version: 0.1.2
Summary: Fault-tolerant search and identity resolution for business-critical data
Author: exorbyte GmbH
License-Expression: LicenseRef-exorbyte-lic
Project-URL: Homepage, https://exorbyte.ai
Project-URL: Documentation, https://exorbyte.ai/produkte/mbox-python/docs
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Information Analysis
Classifier: Topic :: Text Processing :: Indexing
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pandas>=2.0.0
Requires-Dist: pydantic>=2.0.0
Dynamic: license-file

## **M|BOX Python SDK**
Identity resolution and explainable data matching for Python and Pandas.
**M|BOX** provides fast, fault-tolerant matching for messy business data. Build reusable indexes, resolve identities with configurable matching rules, and inspect transparent field-level scores.

### Quick Start
Transform any Pandas DataFrame into a fault-tolerant search index and start querying immediately.

```python
import pandas as pd
from mbox import TableIndexer

### Dummy data for demonstration
df = pd.DataFrame({
    "full_name": ["Robert Smith", "Katharina Müller"],
    "city": ["Konstanz", "Berlin"]
})

#### 1. Create an index from your existing DataFrame
index = TableIndexer.create_index(df, index_columns=["full_name", "city"])

#### 2. Perform a fuzzy match with typos or variations
results = index.match(
    full_name="Bob Smit", 
    city="Konstanz", 
    include_field_scores=True
)
```

For more hands-on examples, check out the [M|BOX Cookbook](https://github.com/exorbyte/mbox-cookbook) on GitHub.

### Highlights

* Fuzzy, exact, and substring matching
* Explainable scores for every matched field
* Character mappings and aliases for data harmonization
* Configurable indexing and recall behavior
* Persistent binary indexes for fast reuse
* Pandas-friendly workflows

For installation details, configuration options, persistence, and advanced usage, see the [M|BOX Python SDK documentation](https://exorbyte.ai/produkte/mbox-python/docs).

M|BOX is currently in `beta` status. Breaking changes may occur in minor releases until version `1.0.0`.
