Skip to main content

AI toolkit for tabular data — auto EDA, data profiling, anomaly detection, and smart transformations on DataFrames.

Project description

tableai

AI toolkit for your DataFrames

PyPI Python License

AI toolkit for tabular data -- auto EDA, data profiling, anomaly detection, and smart transformations on DataFrames. The pandas AI companion.

Runs completely offline. All processing uses local pandas/numpy/scikit-learn. No cloud APIs or internet connection required.

Built by Viet-Anh Nguyen | GitHub


Installation

pip install tableai

With optional dependencies:

pip install tableai[ml]    # scikit-learn for Isolation Forest anomaly detection
pip install tableai[viz]   # matplotlib + seaborn for visualizations
pip install tableai[all]   # everything

Quick Start

import pandas as pd
import tableai

df = pd.read_csv("your_data.csv")

# Comprehensive data profile
report = tableai.profile(df)
print(report)

Output:

=== Data Profile ===
Shape: (1000, 8)
Memory usage: 62.6 KB

Column Profiles:
  age (int64)
    Non-null: 950 / 1000 (95.0%)  |  Unique: 60
    Mean: 35.2  |  Std: 12.1  |  Min: 18.0  |  Max: 75.0

  city (object)
    Non-null: 980 / 1000 (98.0%)  |  Unique: 25
    Top values: New York (120), London (98), Tokyo (85)
...

Auto-Clean

cleaned_df = tableai.clean(df)
# Fills missing values, removes duplicates, fixes dtypes, handles outliers

Anomaly Detection

result = tableai.anomalies(df)
print(result)

Output:

=== Anomaly Report ===
Method: iqr
Total rows flagged: 42 / 1000 (4.2%)

  salary: 18 anomalies (min_bound=20000, max_bound=150000)
  age: 7 anomalies (min_bound=5, max_bound=80)
...

Auto Insights

insights = tableai.insights(df)
for insight in insights:
    print(f"- {insight}")

Output:

- Column 'age' has 5.0% missing values
- Strong positive correlation (0.87) between 'hours_worked' and 'salary'
- Column 'income' is highly skewed (skewness=2.31)
- Column 'city' has high cardinality (250 unique values out of 1000 rows)

DataFrame Comparison

diff = tableai.compare(df_old, df_new)
print(diff)

Smart Transformations

transformed_df = tableai.transform(df)
# Auto-encodes categoricals, scales numerics, extracts datetime features

Comparison with Alternatives

Feature tableai pandas-profiling sweetviz
Zero-config profiling Yes Yes Yes
Auto-cleaning Yes No No
Anomaly detection Yes No No
Smart transforms Yes No No
Auto insights (text) Yes No No
DataFrame comparison Yes No Yes
Lightweight (no heavy deps) Yes No No
Notebook-friendly output Yes Yes Yes

API Reference

  • tableai.profile(df) -- Comprehensive data profile
  • tableai.clean(df, **kwargs) -- Auto-clean DataFrame
  • tableai.anomalies(df, method="iqr") -- Detect anomalies
  • tableai.transform(df, **kwargs) -- Smart feature engineering
  • tableai.insights(df) -- Auto-generate text insights
  • tableai.compare(df1, df2) -- Compare two DataFrames

Local-First / Edge AI

This package is designed to work completely offline. All data profiling, cleaning, anomaly detection, and transformations run locally using pandas, numpy, and scikit-learn. No internet connection or cloud APIs are required.

License

MIT License. See LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tableai-0.2.1.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tableai-0.2.1-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file tableai-0.2.1.tar.gz.

File metadata

  • Download URL: tableai-0.2.1.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for tableai-0.2.1.tar.gz
Algorithm Hash digest
SHA256 83ca1bc35ae8a37d7d910164cef41f8d13eb2473ef6bc3c27d760b2e7744e6eb
MD5 2fbd025848c13ca5290b37503ebbdf66
BLAKE2b-256 11fcd81aabdabb4fc6b44caae2afb1b4ca7d7d53a758e2598818bf921442f625

See more details on using hashes here.

File details

Details for the file tableai-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: tableai-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for tableai-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6f8d729f7b887d7b68eb285ceb1e6e444a3f430c8d57829c643164f3a5e99527
MD5 3cecafb0eda4d2da919d70b0657a4d21
BLAKE2b-256 a34a9ff1e1d0b18bf6db4461fd915424b0a32f61dee0819247f27d1e7de30d99

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page