Skip to main content

A data profiling tool for delimited and database sources.

Project description

Splurge Data Profiler

Version Python Versions License: MIT Documentation Coverage

A powerful data profiling tool for delimited and database sources that automatically infers data types and creates optimized data lakes (SQLite database).

Features

  • DSV File Support: Profile CSV, TSV, and other delimiter-separated value files
  • Automatic Type Inference: Intelligently detect data types using adaptive sampling
  • Data Lake Creation: Generate SQLite databases with optimized schemas
  • Inferred Tables: Create tables with both original and type-cast columns
  • Flexible Configuration: JSON-based configuration for customization
  • Command Line Interface: Easy-to-use CLI for batch processing
  • Comprehensive Testing: Extensive test coverage ensuring reliability and robustness
  • Production Ready: Enterprise-grade error handling and performance optimization

Installation

pip install splurge-data-profiler

Quick Start

  1. Create a configuration file:
python -m splurge_data_profiler create-config examples/example_config.json
  1. Profile your data:
python -m splurge_data_profiler profile examples/example_data.csv examples/example_config.json

CLI Usage

Profile Command

Profile a DSV file and create a data lake:

python -m splurge_data_profiler profile <dsv_file> <config_file> [options]

Options:

  • --verbose: Enable verbose output

Create Config Command

Generate a sample configuration file:

python -m splurge_data_profiler create-config <output_file>

Configuration

The configuration file is a JSON file that specifies how to process your DSV file:

{
  "data_lake_path": "./data_lake",
  "dsv": {
    "delimiter": ",",
    "encoding": "utf-8"
  }
}

Documentation

For detailed documentation, examples, and API reference, see:

Requirements

  • Python 3.10+
  • SQLAlchemy >= 2.0.37

Quality Assurance

This project maintains high code quality through comprehensive testing:

  • Unit Tests: Core component testing with 100% coverage of critical paths
  • Integration Tests: End-to-end workflow validation
  • Edge Case Tests: Error handling and boundary condition testing
  • E2E Tests: Complete user scenario validation
  • Performance Tests: Large dataset processing validation

Run tests with:

pytest

License

MIT License

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

splurge_data_profiler-2025.2.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

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

splurge_data_profiler-2025.2.0-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file splurge_data_profiler-2025.2.0.tar.gz.

File metadata

  • Download URL: splurge_data_profiler-2025.2.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for splurge_data_profiler-2025.2.0.tar.gz
Algorithm Hash digest
SHA256 635e154670c8f9877f38ae8d59fda31df13f39925e4eb5d63940102a6800b0ca
MD5 41457ffd5a7ef2d8267892b429aafcc7
BLAKE2b-256 d17d2bc0ec28fa8c76bad9ca77d59a022a4cb8c5dccd34ed6e39ec66a92c5ac5

See more details on using hashes here.

File details

Details for the file splurge_data_profiler-2025.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for splurge_data_profiler-2025.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51bab16fa367510d62f6a0fb5772f79d2dc1c71ca109699ecfaea66c5adafc02
MD5 a57596b2e5ea81f8e4798c3bdd8208c2
BLAKE2b-256 6af4506ad765838c26590133571b6222a67bfcd79c58f9a816b14f422ed25e71

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