Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
Added¶
- Initial project structure
- Core parser for HDFC, ICICI, SBI, Axis banks
- GSTR-2A reconciliation
- CLI and Python API
- Docker support
- GitHub Actions CI/CD
[0.1.0] - 2024-08-05¶
Added¶
- Core Parsers: HDFC, ICICI, SBI, Axis (Savings, Current, Credit Card)
- Standardized Output: Unified schema (
date,description,debit,credit,balance,ref_no,category) - CLI:
parse-bank-statementswith Typer - Python API:
parse_file(),parse_statements(),list_banks() - Models: Pydantic v2 models (Transaction, Statement, GSTR2AEntry)
- GSTR-2A Reconciliation: Generate GST-compatible CSV
- Plugin Architecture: Add custom banks in ~50 lines
- Docker: Multi-platform images on GHCR
- CI/CD: GitHub Actions (lint, test, Docker, release)
- Documentation: MkDocs with Material theme
Features¶
- Multi-bank support: HDFC, ICICI, SBI, Axis (Savings/Current/Credit Card)
- SBI regional variants support (20+ formats)
- GSTR-2A reconciliation output (18% GST, configurable)
- Offline-first: 100% local, no network calls
- Dual PDF engine: pdfplumber + pymupdf fallback
- Type-safe: Full mypy strict mode, Pydantic v2 validation
Developer Experience¶
- Multiple install methods: pip, Poetry, UV
- Comprehensive docs: MkDocs with Material theme
- Code quality: ruff, black, mypy, pytest
- Pre-commit hooks
- Dependabot for dependency updates
CI/CD¶
- Automated testing on Python 3.10, 3.11, 3.12, 3.13, 3.14
- Docker multi-platform builds (amd64, arm64)
- Automatic release on tag push
- PyPI Trusted Publishing (no tokens)
- GHCR Docker images
- Release Drafter for changelogs
- License header automation (apache/skywalking-eyes)
- Annual copyright year update
Documentation¶
- MkDocs with Material theme
- Getting Started, User Guide, Developer Guide, Deployment
- CLI Reference, Python API, Supported Banks
- GSTR-2A Reconciliation guide
- Adding Bank Parser guide
- Architecture & Testing docs
- Docker, GitHub Actions, PyPI Release guides
Release Process¶
See PyPI Release for details.
Versioning¶
- Semantic Versioning (MAJOR.MINOR.PATCH)
- Tags:
v0.1.0,v1.0.0, etc. - Auto-changelog via Release Drafter
Release Types¶
- Automatic: Bump
pyproject.tomlversion, push tagvX.Y.Z→ Full release (tests, PyPI, Docker, GitHub Release viarelease-on-tag.yml)
Migration Guide¶
From Pre-Release¶
This is the first release. No migration needed.