Skip to content

Releases: wareflowx/excel-to-sql

v0.4.1: Fix Version Inconsistency

26 Jan 12:02

Choose a tag to compare

Critical Bugfix Release

This release fixes a critical version inconsistency bug that was breaking downstream packages.

Bugfix

  • Fix version mismatch: __init__.py now imports __version__ dynamically from __version__.py
  • Remove hardcoded version: Removed incorrect __version__ = '0.2.0' from __init__.py
  • Bump version: Updated to 0.4.1 in both pyproject.toml and __version__.py

Impact

Before this fix:

  • python -c "import excel_to_sql; print(excel_to_sql.__version__)"0.2.0
  • pip show excel-to-sql0.4.0

After this fix:

  • python -c "import excel_to_sql; print(excel_to_sql.__version__)"0.4.1
  • pip show excel-to-sql0.4.1

Fixes

  • Fixes #47: Version Inconsistency Bug
  • Unblocks wareflow-analysis releases
  • Enables correct version checks in downstream packages

Installation

pip install excel-to-sql==0.4.1

Verification

python -c "import excel_to_sql; assert excel_to_sql.__version__ >= '0.3.0'"

v0.3.0 - Auto-Pilot Mode

22 Jan 11:53
9dbaff1

Choose a tag to compare

🎉 Version 0.3.0 - Auto-Pilot Mode

This major release introduces Auto-Pilot Mode, a zero-configuration intelligent import system that automatically detects patterns, scores data quality, and guides you through the setup process.

✨ What's New

🤖 Auto-Pilot Mode

Automatic Pattern Detection:

  • Primary keys - Automatically identifies unique columns
  • Foreign keys - Detects relationships between tables
  • Value mappings - Finds code columns (e.g., "1"/"0" → "Active"/"Inactive")
  • Split fields - Identifies redundant status columns to combine with COALESCE
  • Data types - Infers SQL types from data

Quality Analysis:

  • Quality score (0-100) with letter grades (A-D)
  • Issue detection (null values, duplicates, type mismatches)
  • Statistical analysis (value distributions, outliers)
  • Data profiling (column types, null percentages)

Smart Recommendations:

  • Prioritized suggestions (HIGH/MEDIUM/LOW)
  • Auto-fixable issues with one-click corrections
  • Default value suggestions
  • French code detection (ENTRÉE→inbound, SORTIE→outbound, etc.)

🎯 Interactive Wizard

Step-by-step guided configuration for complex datasets:

  • Welcome screen with instructions
  • File-by-file processing workflow
  • Analysis display (rows, columns, PK, quality score, transformations)
  • Transformation review (value mappings, calculated columns)
  • User choice menu [1/3/4/5/h/q]
  • Sample data viewer (first 10 rows)
  • Statistics viewer (column types, null percentages)
  • Help system and final summary

🛠️ Auto-Fix Capabilities

Automatic correction of common data quality issues:

  • Null value fixing - Fills nulls with smart defaults ("0", "CURRENT_TIMESTAMP", "Other")
  • French code translation - 11 common mappings (ENTRÉE→inbound, SORTIE→outbound, ACTIF→active, INACTIF→inactive, etc.)
  • Split field combination - Combines redundant status columns using COALESCE
  • Backup system - Automatic backups before modifications with rotation (max 5)

🚀 Usage

# Automatic mode - analyze and generate configuration
excel-to-sql magic --data ./excels

# Interactive mode - guided step-by-step setup
excel-to-sql magic --data ./excels --interactive

# Dry run - analyze without generating configuration
excel-to-sql magic --data ./excels --dry-run

📊 Components

PatternDetector (97% coverage)

Analyzes Excel files and detects patterns with confidence scores.

QualityScorer (99% coverage)

Generates comprehensive quality reports with multi-dimensional analysis.

RecommendationEngine (92% coverage)

Provides prioritized, actionable recommendations based on quality analysis.

AutoFixer (88% coverage)

Automatically fixes data quality issues with backup system for safe modifications.

InteractiveWizard (54% coverage)

Rich terminal UI for guided configuration workflow.

🧪 Testing

  • 143+ tests for Auto-Pilot components
  • Integration tests with real Excel fixtures
  • >85% coverage for core Auto-Pilot modules
  • 200+ total tests across all features

📝 Documentation

Completely rewritten README with:

  • Auto-Pilot quick start guide
  • Component API documentation
  • Usage examples and best practices
  • Interactive workflow examples

🔧 Under the Hood

  • New excel_to_sql/auto_pilot/ module with pattern detection, quality scoring, recommendations, and auto-fix
  • New excel_to_sql/ui/ module with InteractiveWizard
  • Enhanced magic CLI command with --interactive flag
  • Improved Rich terminal output with better formatting

📦 Installation

pip install excel-to-sql==0.3.0

# Or with uv
uv pip install excel-to-sql==0.3.0

🔄 Migration from 0.2.x

No breaking changes. The Auto-Pilot features are completely optional and additive:

  • Existing workflows continue to work unchanged
  • New magic command for zero-configuration setup
  • Interactive mode for guided configuration

🐛 Bug Fixes

  • Fixed Windows compatibility issues with tempfile handling
  • Fixed Unicode character encoding issues (cp1252 console support)
  • Improved error handling throughout Auto-Pilot components

🙏 Acknowledgments

This release completes the Auto-Pilot Mode EPIC, implementing 8 major issues:

  • Pattern Detection (#14)
  • Quality Scoring (#15)
  • Config Generation (#16)
  • CLI Magic Command (#17)
  • Rich Terminal Output (#18)
  • Dry-Run Mode (#19)
  • Recommendations Engine (#20)
  • Auto-Fix Capabilities (#22)
  • Interactive Mode (#21)
  • Documentation & Production Readiness (#10)

📖 Full Changelog

See CHANGELOG.md for complete details.


Download from PyPI | View on GitHub

v0.2.0 - Major Feature Release

20 Jan 10:32

Choose a tag to compare

🎉 Version 0.2.0 - Major Feature Release

This release adds 12 major features with comprehensive testing and documentation.

✨ New Features

Data Transformations

  • Value Mapping (#1) - Standardize data values (e.g., "NY" → "New York")
  • Calculated Columns (#2) - Create derived columns using expressions
  • Pre/Post Hooks (#10) - Execute custom code during import/export pipeline

Data Validation

  • Custom Validators (#3) - Range, regex, unique, not-null, enum validators
  • Reference Validation (#4) - Foreign key validation against lookup tables
  • Validation Rules (#9) - Declarative rule-based validation system

Data Quality

  • Data Profiling (#5) - Automatic quality analysis with detailed reports
  • Quality Reports - Generate JSON/Markdown/HTML reports

Multi-Sheet Support

  • Multi-Sheet Import (#6) - Import multiple sheets in one operation
  • Multi-Sheet Export (#7) - Export multiple sheets with custom queries

Core Enhancements

  • Incremental Import (#8) - Only process changed files using content hashing
  • Python SDK (#11) - Full-featured programmatic API
  • Metadata & Tags (#12) - Tag and categorize imports with rich metadata

📊 Statistics

  • 68 tests added with comprehensive coverage
  • 10 atomic commits for each major feature
  • 4 new packages: transformations, validators, profiling, metadata, sdk
  • 500+ lines of new functionality

🚀 Python SDK Example

from excel_to_sql import ExcelToSqlite

sdk = ExcelToSqlite()

# Import with transformations
result = sdk.import_excel(
    file_path="data.xlsx",
    type_name="products",
    tags=["q1-2024", "verified"]
)

# Profile data
profile = sdk.profile_table("products")
print(f"Quality: {profile['summary']['null_percentage']}% nulls")

📦 Installation

pip install excel-to-sql==0.2.0

🔗 Links

🙏 Credits

Built with ❤️ using Python, Pandas, SQLAlchemy, and Pydantic.


Full Changelog: AliiiBenn/excel-to-sql@v0.1.1...v0.2.0

v0.1.1 - Excel to SQL CLI Tool

19 Jan 19:36

Choose a tag to compare

Excel to SQL CLI Tool - v0.1.1

The first public release of excel-to-sql, a CLI tool for importing Excel files into SQLite and exporting data back to Excel with formatting support.

What's New in v0.1.1

This release updates package metadata:

Features

Excel to SQL Import

  • Import Excel files (.xlsx, .xls) into SQLite database
  • Automatic table creation based on column types
  • UPSERT support (insert or update based on primary key)
  • Composite primary key support
  • Content-based change detection (SHA256 hashing)
  • Skip unchanged files to avoid redundant operations
  • Detailed import logging with statistics

SQL to Excel Export

  • Export entire tables or custom SQL queries to Excel
  • Rich Excel formatting:
    • Bold headers
    • Auto-adjusted column widths
    • Frozen header row
  • Export history tracking
  • Multiple output formats supported

Status & Monitoring

  • View complete import history
  • See file statistics (rows, columns, size)
  • Track import dates and file hashes
  • Detect file changes

Configuration Management

  • Type-based mapping system
  • Auto-detect column types from Excel files
  • Add, list, show, remove, and validate mappings
  • Composite primary key configuration
  • Column type mapping (integer, float, string, boolean, date)

Installation

pip install excel-to-sql

Quick Start

# Initialize a new project
excel-to-sql init

# Add a type mapping
excel-to-sql config --add-type products --table products --pk id --file data/products.xlsx

# Import Excel data
excel-to-sql imports/products.xlsx --type products

# View import history
excel-to-sql status

# Export to Excel
excel-to-sql export output.xlsx --table products

# List configuration
excel-to-sql config --list

Documentation

Requirements

  • Python 3.10 or higher
  • Dependencies automatically installed:
    • typer (CLI framework)
    • pandas (data manipulation)
    • openpyxl (Excel I/O)
    • sqlalchemy (database ORM)
    • rich (terminal formatting)

License

MIT License - see LICENSE file for details