Skip to main content

Python tools for data type handling and validation

Project description

splurge-tools

A Python package providing tools for data type handling, validation, and text processing.

Description

splurge-tools is a collection of Python utilities focused on:

  • Data type handling and validation
  • Text file processing and manipulation
  • String tokenization and parsing
  • Text case transformations
  • Delimited separated value parsing
  • Tabular data model class
  • Typed tabular data model class
  • Data validator class
  • Random data class
  • Data transformation class
  • Text normalizer class
  • Python 3.10+ compatibility

Installation

pip install splurge-tools

Features

  • type_helper.py: Comprehensive type validation and conversion utilities
  • text_file_helper.py: Text file processing and manipulation tools
  • string_tokenizer.py: String parsing and tokenization utilities
  • case_helper.py: Text case transformation utilities
  • dsv_helper.py: Delimited separated value utilities
  • tabular_data_model.py: Data model for tabular datasets
  • typed_tabular_data_model.py: Type data model based on tabular data model
  • data_validator.py: Data validator class
  • random_helper.py: Random data class and methods for generating data
  • data_transformer.py: Data transformation utility class
  • text_normalizer.py: Text normalization utility class

Development

Requirements

  • Python 3.10 or higher
  • setuptools
  • wheel

Setup

  1. Clone the repository:
git clone https://github.com/jim-schilling/splurge-tools.git
cd splurge-tools
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install development dependencies:
pip install -e ".[dev]"

Testing

Run tests using pytest:

python -m pytest tests/

Code Quality

The project uses several tools to maintain code quality:

  • Black: Code formatting
  • isort: Import sorting
  • flake8: Linting
  • mypy: Type checking
  • pytest: Testing with coverage

Run all quality checks:

black .
isort .
flake8 splurge_tools/ tests/ --max-line-length=88
mypy splurge_tools/
python -m pytest tests/ --cov=splurge_tools

Build

Build distribution:

python -m build

Changelog

[0.1.12] - 2025-06-30

  • Rename to splurge-tools

[0.1.11] - 2025-06-29

Added

  • Added String.is_time_like() and String.to_time() for time value detection and conversion in type_helper.py
  • DataType.TIME is now fully supported in type inference and profiling
  • Added tests for time detection, conversion, and inference
  • Enhanced pyproject.toml configuration following Python best practices
  • Added comprehensive development dependencies (pytest, black, isort, flake8, mypy, pre-commit)
  • Added project URLs for better discoverability
  • Added keywords and improved classifiers for PyPI
  • Added py.typed marker for type checking support
  • Added tool configurations for Black, isort, mypy, pytest, and coverage
  • Added optional dependency groups (dev, test, build)

Changed

  • Updated development workflow to use modern Python packaging standards
  • Improved test configuration with coverage reporting
  • Enhanced code formatting and import organization

Fixed

  • Code formatting issues across all modules
  • Import sorting and organization

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Jim Schilling

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_tools-0.1.12.tar.gz (38.7 kB view details)

Uploaded Source

Built Distribution

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

splurge_tools-0.1.12-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

File details

Details for the file splurge_tools-0.1.12.tar.gz.

File metadata

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

File hashes

Hashes for splurge_tools-0.1.12.tar.gz
Algorithm Hash digest
SHA256 83c683147c9256f54acb54d9ebd852cbcc67bffa4207474fbe5ce0b93939cfc2
MD5 c9a5037214207752f71350430201f7e0
BLAKE2b-256 bbe242db7850576023286c6f348caee31fb4030e8cc5cddc6840ef48ce20e282

See more details on using hashes here.

File details

Details for the file splurge_tools-0.1.12-py3-none-any.whl.

File metadata

  • Download URL: splurge_tools-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 28.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for splurge_tools-0.1.12-py3-none-any.whl
Algorithm Hash digest
SHA256 2d64469c6900ae699cd7de8bbc7180a75625a75713fea9eaa7c1ec3d47e01f34
MD5 0069f5b3b8f75a3017eb254cf924c224
BLAKE2b-256 7c5017d510f02c1fa57870c8967b9eb362332650eb3fa125a63845fcdc2d175e

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