Releases: yeongseon/excel-dbapi
Releases · yeongseon/excel-dbapi
v0.3.0
What's Changed
Added
- Formal SQL subset specification (
docs/SQL_SPEC.md) with EBNF grammar - Parser golden tests for all statement families (SELECT, INSERT, UPDATE, DELETE, DDL)
- Reflection helpers unit tests
- Comprehensive low-coverage module tests (executor, backends, graph engine)
Changed
- README restructured: limitations-first layout, Graph API moved to experimental section
- Test coverage: 84% → 98% (397 tests)
Fixed
- Parser tokenizer: quoted strings with embedded spaces now handled correctly
- Parser: escaped quotes (
'',"") parsed correctly in all contexts
Full Changelog: v0.2.1...v0.3.0
v0.2.1
Fixes
- Add
py.typedmarker file for PEP 561 compliance - Fix logo URL to absolute GitHub raw URL for PyPI rendering
- Add
twine checkvalidation step to publish workflow - Bump CI actions to latest versions (checkout v6, setup-python v6, codecov-action v6)
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's Changed
- feat: Add IN, BETWEEN, LIKE operators to SQL parser and executor
- ci: Add test coverage reporting with Codecov integration
- fix: Resolve all mypy strict errors and enable strict mode in CI
New SQL Operators
SELECT * FROM Sheet1 WHERE name IN ('Alice', 'Bob')
SELECT * FROM Sheet1 WHERE score BETWEEN 70 AND 90
SELECT * FROM Sheet1 WHERE name LIKE 'A%'All three operators support parameter binding with ? placeholders.
Note: Versions 0.1.2-0.1.9 skipped due to PyPI filename reservations from a previously deleted project.
v0.1.3
What's Changed
- feat: Add IN, BETWEEN, LIKE operators to SQL parser and executor
- ci: Add test coverage reporting with Codecov integration
New SQL Operators
SELECT * FROM Sheet1 WHERE name IN ('Alice', 'Bob')
SELECT * FROM Sheet1 WHERE score BETWEEN 70 AND 90
SELECT * FROM Sheet1 WHERE name LIKE 'A%'All three operators support parameter binding with ? placeholders.
Note: v0.1.2 was skipped due to PyPI filename reservation from a previous deleted project.
v0.1.2
What's Changed
- feat: Add IN, BETWEEN, LIKE operators to SQL parser and executor
- ci: Add test coverage reporting with Codecov integration
- chore: Version bump to 0.1.2
New SQL Operators
SELECT * FROM Sheet1 WHERE name IN ('Alice', 'Bob')
SELECT * FROM Sheet1 WHERE score BETWEEN 70 AND 90
SELECT * FROM Sheet1 WHERE name LIKE 'A%'All three operators support parameter binding with ? placeholders.
v0.1.1
excel-dbapi v0.1.1
PEP 249 compliant DB-API 2.0 driver for Excel files.
Features
- Full DB-API 2.0 interface (connect, cursor, execute, fetch)
- SQL parser: SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE
- WHERE clause with =, !=, <, >, <=, >=, AND, OR, IS NULL, IS NOT NULL
- ORDER BY, LIMIT support
- Parameterized queries (qmark style)
- Reflection helpers: list_tables, has_table, get_columns
- DDL metadata tracking via excel_meta sheet
- openpyxl (default) and pandas engines
Requirements
- Python >= 3.10
- openpyxl >= 3.1.0
Install
pip install excel-dbapi