A data profiling tool for delimited and database sources.
Project description
Splurge Data Profiler
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
- Create a configuration file:
python -m splurge_data_profiler create-config examples/example_config.json
- 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
635e154670c8f9877f38ae8d59fda31df13f39925e4eb5d63940102a6800b0ca
|
|
| MD5 |
41457ffd5a7ef2d8267892b429aafcc7
|
|
| BLAKE2b-256 |
d17d2bc0ec28fa8c76bad9ca77d59a022a4cb8c5dccd34ed6e39ec66a92c5ac5
|
File details
Details for the file splurge_data_profiler-2025.2.0-py3-none-any.whl.
File metadata
- Download URL: splurge_data_profiler-2025.2.0-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
51bab16fa367510d62f6a0fb5772f79d2dc1c71ca109699ecfaea66c5adafc02
|
|
| MD5 |
a57596b2e5ea81f8e4798c3bdd8208c2
|
|
| BLAKE2b-256 |
6af4506ad765838c26590133571b6222a67bfcd79c58f9a816b14f422ed25e71
|