Zero-config data quality for humans. Profile, suggest rules, validate, and visualize — all in one call.
Project description
Soflytics is a radically simple data profiling and validation tool.
Point it at any data source — a DataFrame, a CSV, or a SQL Database — and get instant profiling, smart validation rules, and a gorgeous visual health report. No YAML, no boilerplate, no configuration needed. Just plug and play.
🚀 Installation
# Basic installation (Files & Pandas)
pip install soflytics
# With Database Support (SQL Server, Postgres, MySQL)
pip install "soflytics[db]"
💻 Quickstart (Python API)
Soflytics exposes a beautifully simple API. One function does it all: soflytics.audit().
import soflytics
# 1. Audit any data source!
report = soflytics.audit("data.csv") # Local file
report = soflytics.audit(df) # Pandas DataFrame
report = soflytics.audit("sqlite:///users.db") # SQLite Database
report = soflytics.audit("mssql://user:pass@host/db") # SQL Server (No ODBC driver needed!)
# 2. View the results your way
report.to_console() # A beautiful, rich terminal output
report.show() # Opens a premium interactive browser dashboard
report.to_html("report.html") # Save as a standalone HTML file
# 3. Generate and run smart rules
rules = report.suggest() # Auto-generates rules based on your data shape
result = report.validate(rules) # Runs validation and scores the dataset
🛠️ Command Line Interface (CLI)
Prefer the terminal? Soflytics comes with a powerful CLI.
Audit a file and see results in the terminal:
soflytics audit data.csv
Launch the interactive web dashboard:
soflytics dashboard data.csv
Connect directly to a database:
soflytics dashboard "postgresql://user:password@localhost:5432/mydb" --table employees
✨ Features & What You Get
- 🧠 Auto-Profiling: Instantly detects nulls, duplicates, outliers, type mismatches, and specific text patterns (like emails/phone numbers).
- 🤖 Smart Rules: Generates plain-English validation rules automatically. (e.g., "Age must be between 18 and 65", "Email must match pattern").
- 📊 Visual Dashboard: A premium, dark-themed local browser dashboard with per-column health grades, quality heatmaps, and drill-down details.
- 🔌 Universal Connectors: Seamlessly handles Pandas, Polars, CSV, TSV, Parquet, JSON, Excel, SQLite, SQL Server, PostgreSQL, and MySQL.
- ⚡ Dead Simple: Absolutely no setup required.
🤝 Contributing
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
To set up a local development environment:
git clone https://github.com/Shammyhero/soflytics.git
cd soflytics
pip install -e ".[dev,db]"
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file soflytics-0.1.1.tar.gz.
File metadata
- Download URL: soflytics-0.1.1.tar.gz
- Upload date:
- Size: 33.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0301ede8da9947243aa4369e0f4150eedbab5956ad476b244621fdc76f30cedd
|
|
| MD5 |
624ce7ef63a13eb57897c7f41abf2519
|
|
| BLAKE2b-256 |
35253a44a1163643ac9adb143e4623e1278ab17f3394100c6f6a76860a5b9d41
|
File details
Details for the file soflytics-0.1.1-py3-none-any.whl.
File metadata
- Download URL: soflytics-0.1.1-py3-none-any.whl
- Upload date:
- Size: 35.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5daeadc3e3ae59fe381edcd0023a954996debf0836ffc1d0266ccd0181c989e3
|
|
| MD5 |
57efd4275bb2ea22ec815c1ac86be0d8
|
|
| BLAKE2b-256 |
da2f0321c95a9ba5aa984d935181b1e1c9caa6fd8d757fe4eb56713590540767
|