Releases: wareflowx/excel-to-sql
v0.4.1: Fix Version Inconsistency
Critical Bugfix Release
This release fixes a critical version inconsistency bug that was breaking downstream packages.
Bugfix
- Fix version mismatch:
__init__.pynow 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.tomland__version__.py
Impact
Before this fix:
python -c "import excel_to_sql; print(excel_to_sql.__version__)"→0.2.0❌pip show excel-to-sql→0.4.0✅
After this fix:
python -c "import excel_to_sql; print(excel_to_sql.__version__)"→0.4.1✅pip show excel-to-sql→0.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.1Verification
python -c "import excel_to_sql; assert excel_to_sql.__version__ >= '0.3.0'"v0.3.0 - Auto-Pilot Mode
🎉 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
magicCLI command with--interactiveflag - 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
magiccommand 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.
v0.2.0 - Major Feature Release
🎉 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
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:
- Updated author to "Code with dave"
- Updated contact email to davidddpereiraaa6@gmail.com
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-sqlQuick 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 --listDocumentation
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