Releases: jonpspri/databeak
Release 0.1.2
Test Coverage Improvements
This release focuses on improved test coverage and release infrastructure.
Coverage Increases
- Overall coverage: 88.61% → 89.05%
_version.py: 71.43% → 100%exceptions.py: 83.67% → 100%data_session.py: 81.25% → 100%
Added (26 new tests)
Release Infrastructure
- Added
tests/packaging/test_packaged_version.shscript to validate version consistency betweenpyproject.tomland installed package before deployment - Updated
.github/workflows/publish.ymlto run packaging validation tests before PyPI publication - Added
.claude/commands/release-prep.mdslash command for streamlined release management workflow
Test Coverage
- All exception class constructors and serialization (
to_dict()method) - Data session error paths (validation methods, stats generation)
- Version string format validation
Changed
- Version Handling: Simplified
_version.pyby removingPackageNotFoundErrorfallback logic (package metadata always available in deployment environments)
Fixed
- Version Validation: Packaging test now validates three-part semver format (MAJOR.MINOR.PATCH) with regex pattern matching
Full Changelog: v0.1.1...v0.1.2
DataBeak v0.1.1 - Version Reporting Fix
Fixed
- Version Reporting: Fixed
_version.pyto correctly report package version (0.1.1) instead of fallback "0.0.0" - now usesimportlib.metadata.version("databeak")instead of__name__ - Server Info:
get_server_infoandhealth_checkMCP tools now correctly return actual package version
Changed
- Version Management: Converted from dynamic versioning (via git tags) to static version in
pyproject.tomlfor more reliable version control - Test Implementation: Updated version tests to read from
pyproject.tomlusingtomllibparser instead ofimportlib.metadatafor more direct source of truth
Added
- Unit Tests: Added
test_get_server_info_returns_actual_versionunit test to validate version reporting - Integration Tests: Added 5 new integration tests in
test_system_server_integration.pyto verify version propagation through the full MCP client stack
Technical Details
Problem
The _version.py module was using __name__ (which equals "databeak._version") instead of the package name "databeak" when calling importlib.metadata.version(). This caused it to fall back to "0.0.0" since there's no package with that module name.
Solution
Changed to use the correct package name and converted to static versioning in pyproject.toml for better reliability.
Verification
Before fix:
$ uv run python -c "from databeak._version import __version__; print(__version__)"
0.0.0After fix:
$ uv run python -c "from databeak._version import __version__; print(__version__)"
0.1.1Quality Metrics
- ✅ 33/33 tests pass (28 unit + 5 integration)
- ✅ Zero ruff violations - Perfect linting compliance
- ✅ 100% MyPy compliance - Complete type safety
- ✅ All pre-commit hooks pass
Full Changelog: v0.1.0...v0.1.1
DataBeak v0.1.0 - Code Quality and Architecture Refinement
Fixed
- Type Safety: Resolved 10 mypy type checking errors including missing type parameters, circular imports, and unused type ignore comments
- Test Suite: Fixed 35 failing tests by correcting fixture names, adding dict-to-object conversion for FilterCondition, and handling None values in validators
- Circular Import: Moved
CellValuetype alias tomodels/__init__.pyto eliminate circular dependency betweentyped_dicts.pyanddata_models.py - Filter Operations: Added dict-to-FilterCondition conversion with
==to=operator normalization for backward compatibility
Changed
- Type Annotations: Added generic TypeVar
Ttoapply_violation_limitsfor improved type safety - Pandera Integration: Fixed pandera.errors import path in validation_server.py
- MyPy Configuration: Excluded
examples/directory from type checking to prevent false positives - Type Aliases: Migrated
FilterValueto moderntypestatement syntax (PEP 695) - Pydantic Validators: Simplified validation logic in pydantic_validators.py, removed duplicate type hints, and streamlined field validator implementations
Removed
- Dead Code: Removed unused
session_service.pyandstatistics_service.pymodules with dependency injection abstractions (0% actual usage) - Unused Models: Removed
DataSchemaandDataQualityRulePydantic models (61 lines) that were only tested but never used in production code - Deprecated Enum: Removed
OperationTypeenum that was marked for cleanup and had no active usage - Misleading Documentation: Removed
docs/docker-deployment.mdthat referenced deleted Docker files - Example Code: Removed
examples/dependency_injection_demo.pythat referenced deleted modules - Try-Except Wrappers: Removed 58 unnecessary try-except wrapper blocks from MCP tool functions (TRY301 violations) - FastMCP handles exception transformation automatically
- Transformation Service: Removed unused transformation_service.py module (676 lines, zero production usage)
- Dead TypedDicts: Removed 22 unused TypedDict classes (343 lines, 88.7% reduction in typed_dicts.py)
Quality Metrics
- ✅ Zero ruff violations - Perfect linting compliance
- ✅ 100% MyPy compliance - Complete type safety
- ✅ 880+ unit tests + 43 integration tests - 88%+ coverage
- ✅ Perfect MCP documentation - All tools fully documented
Full Changelog: v0.0.4...v0.1.0
v0.0.4
Added
- Relaxed JSON Schema Validation: Custom jsonschema validator that accepts integers as strings or floats, handling LLM-generated parameters that don't strictly conform to integer types (PR #115)
- Integration Testing Framework: Comprehensive integration testing with pytest configuration, isolated test environment, and coverage reporting (PR #110)
- ReadTheDocs Configuration: Official documentation site with MkDocs integration and automated deployment (PR #108)
- Type Safety Enhancements: MCP-specific type definitions including NonNegativeIntString and PositiveIntString with regex validation (PR #111)
Changed
- Header Type Architecture: Refactored HeaderConfig to use Abstract Base Class with Pydantic discriminated union pattern for cleaner polymorphic behavior (PR #113)
- FastMCP Dependency: Updated to use released fastmcp version instead of development branch (PR #114)
- Testing Configuration: Enhanced pytest configuration with integration test markers, coverage settings, and proper test isolation
- Project Structure: Streamlined documentation and removed unmaintained agent files and Docker infrastructure (PR #116)
Removed
- Docker Support: Removed Dockerfile and docker-compose.yml as Docker deployment is not officially supported
- Agent Documentation: Removed specialized agent documentation files that are no longer actively maintained
DataBeak v0.0.3 - Import Architecture Fixes
🔧 Major Fixes and Improvements
DataBeak v0.0.3 resolves critical import architecture issues and improves development workflow reliability.
🚨 Critical Fixes
- Circular Import Resolution: Fixed blocking circular import between
session.pyandsession_service.pyusing lazy imports and TYPE_CHECKING blocks - Import Architecture Overhaul: Converted all relative imports to absolute imports, eliminating 15 TID252 ruff violations that were breaking the build pipeline
⚙️ Configuration Improvements
- MyPy Integration: Added
mypy_path="src"configuration enabling type checking from project root and proper pre-commit hook integration - Pre-commit Pipeline: All 26 quality gates now pass successfully, ensuring code quality standards
📚 Documentation Updates
- Command Standardization: Updated all documentation to use consistent
uv run --directory src mypy .syntax across README, CONTRIBUTING, docs/, and agent files - Agent Streamlining: Simplified test-coverage-analyzer agent description to focus on actionable guidance rather than current state information
✅ Quality Validation
- Zero ruff violations across all files
- Zero mypy errors from project root
- Complete pre-commit pipeline success (26/26 hooks passing)
- Package imports successfully without circular dependency errors
🔄 Breaking Changes
None - this is a maintenance release focused on fixing development workflow issues.
Full Changelog: v0.0.2...v0.0.3
Installation: pip install databeak==0.0.3 or uv add databeak==0.0.3
v0.0.2 - Production Quality Excellence
🌟 DataBeak v0.0.2 - Production Quality Excellence
This release represents a major milestone in DataBeak's development, achieving exceptional code quality standards and production-ready architecture.
🎯 Major Achievements
- Zero ruff violations - Perfect linting compliance (from ~400+ violations to 0)
- 100% mypy compliance - Complete type safety across 37 source files
- 1100+ unit tests - Comprehensive test coverage with perfect pass rate
- Production-ready quality - Exceptional standards throughout the codebase
✨ Key Improvements
Code Quality & Architecture
- API Design Excellence: Eliminated boolean traps with keyword-only parameters
- Architecture Simplification: Removed CorrelatedLogger complexity, simplified logging
- Context-Based Logging: MCP-integrated logging for better traceability
- Enhanced Type Safety: Comprehensive type annotations with minimal Any usage
- Security Improvements: Eliminated silent exception handling patterns
Development Experience
- Better Error Handling: Consistent exception message patterns
- Improved Test Quality: Proper pytest patterns with specific match parameters
- Parameter Clarity: Functions require explicit parameter names for clarity
- Documentation Alignment: All docs reflect current architecture and standards
Technical Enhancements
- Data Validation: Added proper validation constraints (negative value prevention)
- Server Composition: Enhanced modular FastMCP server architecture
- Code Consistency: Fixed variable shadowing throughout codebase
- Import Organization: Cleaned up unused imports and dependencies
🛠️ Categories Completely Eliminated
- G004: Logging f-strings → Standard % formatting + Context logging
- FBT: Boolean trap patterns → Keyword-only parameters
- EM101/EM102: Exception message formatting → Variable extraction
- PT011/PT012/PT017: pytest style issues → Proper testing patterns
- A001/A002: Variable shadowing → Clear naming
- ARG: Unused arguments → Clean interfaces
- S110: Security issues → Proper exception handling
- N818: Exception naming → Consistent conventions
📚 Documentation Updates
- Updated all documentation to reflect current server composition architecture
- Added comprehensive code quality guidelines
- Corrected outdated directory references throughout
- Enhanced testing approach documentation
🚀 What This Means
DataBeak v0.0.2 delivers:
- Production-ready codebase with exceptional quality standards
- Enhanced AI integration through improved MCP patterns
- Better developer experience with clear APIs and comprehensive docs
- Solid foundation for future architectural improvements
This release transforms DataBeak from functional to exceptional, setting new standards for MCP server development.
Full Changelog: v0.0.1...v0.0.2