Skip to main content

Zero-config data quality for humans. Profile, suggest rules, validate, and visualize — all in one call.

Project description

🩺 Soflytics

Zero-config data quality for humans.

PyPI - Version Python Versions License: MIT


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


Download files

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

Source Distribution

soflytics-0.1.1.tar.gz (33.7 kB view details)

Uploaded Source

Built Distribution

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

soflytics-0.1.1-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

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

Hashes for soflytics-0.1.1.tar.gz
Algorithm Hash digest
SHA256 0301ede8da9947243aa4369e0f4150eedbab5956ad476b244621fdc76f30cedd
MD5 624ce7ef63a13eb57897c7f41abf2519
BLAKE2b-256 35253a44a1163643ac9adb143e4623e1278ab17f3394100c6f6a76860a5b9d41

See more details on using hashes here.

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

Hashes for soflytics-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5daeadc3e3ae59fe381edcd0023a954996debf0836ffc1d0266ccd0181c989e3
MD5 57efd4275bb2ea22ec815c1ac86be0d8
BLAKE2b-256 da2f0321c95a9ba5aa984d935181b1e1c9caa6fd8d757fe4eb56713590540767

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