Releases: elong0527/csrlite
Releases · elong0527/csrlite
v0.2.0
[0.2.0]
Added
- Centralized Configuration: Introduced
src/csrlite/common/config.pywithCsrLiteConfigPydantic model for managing global settings (column names, logging levels). - Listing: Added logging configuration in
src/csrlite/__init__.py. - Integration Tests: Added
tests/integration_test_pipeline.pycovering the full pipeline from plan loading to RTF generation. - Extended Testing: Added
tests/test_plan_extended.pysignificantly increasing coverage forplan.py.
Changed
- Refactored
count.py:- Decoupled calculation from formatting.
- Split
count_subject_with_observationintocount_summary_data(numeric) andformat_summary_table(string). - Preserved backward compatibility with a wrapper.
- Enhanced
StudyPlan:- Migrated
StudyPlanand related classes (Keyword,Population,Observation, etc.) fromdataclassestoPydanticmodels for robust validation. - Improved
KeywordRegistryto better handle nested polymorphism and legacygroup_labellist structures.
- Migrated
- Dependencies:
- Added
structlog(optional) and standardloggingintegration. - Enforced
pydantic>=2.0.0.
- Added
Fixed
- Static Analysis: Resolved all
pyre,mypy, andrufferrors, including restoring the correct search path for Pyre. - Polars Deprecation: Fixed
is_indeprecation warning inae_specific.py. - Bug: Fixed
TypeErrorinStudyPlan.__str__whereDictwas instantiated.
Removed
- Removed manual
printstatements in favor of structured logging.