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.2.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.

soflytics-0.1.2-py3-none-any.whl (35.8 kB view details)

Uploaded Python 3

File details

Details for the file soflytics-0.1.2.tar.gz.

File metadata

  • Download URL: soflytics-0.1.2.tar.gz
  • Upload date:
  • Size: 33.9 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.2.tar.gz
Algorithm Hash digest
SHA256 6029a7150aa87c2acbfce1fdb865e6c054ac2a5c5e7ae89138b1908bb77b3752
MD5 afe5cfa4d6c233b32cecbca614c60089
BLAKE2b-256 5870ec9c98d9da654f5718cc89d8ad02b6cfd55134d45ea5331a05a4cf944b3f

See more details on using hashes here.

File details

Details for the file soflytics-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: soflytics-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 35.8 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ae772c46753f2acdef54e09c1f39a73de2608731744010126fb19843aead9dfc
MD5 eb4b45e0e21d41f271b5d627d7f491a3
BLAKE2b-256 8d1167e698d1669dfe031b1e4344a44aa6cb4648b01950626fe940a3c718cc2e

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