Releases: vertti/daffy
Releases · vertti/daffy
v2.8.0
Performance improvements
Significant runtime performance improvements to minimize decorator overhead:
- Eliminated repetitive Python introspection (
inspect.signature) from the execution path by resolving parameters during decoration - Vectorized validation checks (
nullableandunique) across multiple columns simultaneously using Narwhals expression API (.select()) - Avoided redundant dataframe wrappers when running value checks
- Optimized the validation builder for faster pipeline setup and eliminated unused dtype resolution overhead
What's Changed
- perf: streamline runtime overhead and simplify configurations by @vertti in #189
- chore(deps): update dependency skylos to v3.4.1 by @renovate[bot] in #180
- chore(deps): update dependency uv to v0.10.6 by @renovate[bot] in #181
- chore(deps): update dependency ruff to v0.15.3 by @renovate[bot] in #185
- chore(deps): update dependency zensical to v0.0.24 by @renovate[bot] in #184
- chore(deps): update dependency dprint to v0.52.0 by @renovate[bot] in #183
- chore(deps): update dependency ruff to v0.15.4 by @renovate[bot] in #186
- chore(deps): update dependency skylos to v3.5.1 by @renovate[bot] in #182
- chore(deps): update dependency uv to v0.10.7 by @renovate[bot] in #187
- chore(deps): update dependency skylos to v3.5.2 by @renovate[bot] in #188
Full Changelog: v2.7.0...v2.8.0
v2.7.0
2.7.0
Added
@df_in(["col1", "col2"])shorthand: pass columns as the first positional argument- Opt-in
strict_specsmode ([tool.daffy] strict_specs = true): raisesTypeErroron invalid column spec keys or types instead of silently ignoring them
Changed
- Config discovery now searches
pyproject.tomlfrom the current directory up through parent directories - Configuration caching is now keyed by current working directory for deterministic behavior across cwd changes
- Unnamed
df_innow selects the first DataFrame-like argument instead of always taking the first positional argument
Full Changelog: v2.6.1...v2.7.0
v2.6.1
Changed
- Optional dependency detection now recognizes all advertised backends (Pandas, Polars, Modin, PyArrow)
- Early import failure now triggers only when none of the supported DataFrame libraries are installed
- Updated optional dependency tests and isolation docs/scripts to align with the expanded backend detection contract
- Synced API docs and README examples with current
df_in/df_out/df_logsignatures and built-in check names
Added
- Declared
pydanticoptional dependency extra sopip install 'daffy[pydantic]'matches runtime install guidance - Added docs contract tests to detect signature/example drift in
README.mdanddocs/api.md
Full Changelog: v2.6.0...v2.6.1
v2.6.0
What's Changed
- Update dependency uv to v0.9.25 by @renovate[bot] in #121
- Update dependency hypothesis to v6.150.2 by @renovate[bot] in #120
- Update dependency zensical to v0.0.16 by @renovate[bot] in #123
- Update dependency ruff to v0.14.12 by @renovate[bot] in #122
- Update dependency uv to v0.9.26 by @renovate[bot] in #125
- Update dependency ruff to v0.14.13 by @renovate[bot] in #124
- Fix Codecov coverage upload by @vertti in #127
- Enable Renovate to update GitHub Action digests by @vertti in #129
- Update codecov/codecov-action action to v5.5.2 by @renovate[bot] in #128
- Update jdx/mise-action digest to c53b923 by @renovate[bot] in #130
- Update dependency zensical to v0.0.17 by @renovate[bot] in #131
- Update dependency skylos to v3.1.1 by @renovate[bot] in #132
- Update jdx/mise-action digest to 6d1e696 by @renovate[bot] in #133
- Update dependency zensical to v0.0.18 by @renovate[bot] in #138
- Update dependency hypothesis to v6.150.3 by @renovate[bot] in #137
- Update dependency ruff to v0.14.14 by @renovate[bot] in #136
- Update dependency zensical to v0.0.19 by @renovate[bot] in #139
- Update dependency hypothesis to v6.151.0 by @renovate[bot] in #141
- Update dependency coverage to v7.13.2 by @renovate[bot] in #140
- Update dependency hypothesis to v6.151.1 by @renovate[bot] in #142
- Update dependency skylos to v3.1.2 by @renovate[bot] in #144
- Update dependency hypothesis to v6.151.2 by @renovate[bot] in #143
- Update dependency uv to v0.9.27 by @renovate[bot] in #145
- Add pandas 3.x support by @vertti in #146
Full Changelog: v2.5.1...v2.6.0
v2.5.1
v2.5.0
What's Changed
- Update dependency uv to v0.9.24 by @renovate[bot] in #111
- Update dependency skylos to v3.0.3 by @renovate[bot] in #112
- Refactor: Code cleanup and simplification by @vertti in #113
- Replace monolithic validation with composable pipeline architecture by @vertti in #114
- Remove dead code and use vulture for CI by @vertti in #115
- Release v2.5.0 - Architecture refactoring by @vertti in #116
Full Changelog: v2.4.1...v2.5.0
v2.4.1
What's Changed
- Update dependency hypothesis to v6.148.11 by @renovate[bot] in #99
- Migrate documentation from MkDocs to Zensical by @vertti in #100
- Update dependency hypothesis to v6.148.13 by @renovate[bot] in #101
- Update dependency hypothesis to v6.149.0 by @renovate[bot] in #102
- Update dependency hypothesis to v6.149.1 by @renovate[bot] in #104
- Update dependency uv to v0.9.22 by @renovate[bot] in #105
- Update dependency hypothesis to v6.150.0 by @renovate[bot] in #106
- Replace Vulture with Skylos for dead code detection by @vertti in #107
- remove leftover pydocstyle by @vertti in #108
- Enable ALL Ruff rules with selective ignores by @vertti in #110
- Update dependency ruff to v0.14.11 by @renovate[bot] in #109
Full Changelog: v2.4.0...v2.4.1
v2.4.0
What's Changed
- Harden GitHub Actions workflows based on zizmor audit by @vertti in #93
- Fix type errors reported by ty type checker by @vertti in #92
- Update dependency uv to v0.9.21 by @renovate[bot] in #94
- Add FUNDING.yml by @vertti in #96
- Add shape validation (min_rows, max_rows, exact_rows, allow_empty) by @vertti in #97
- Add test improvements from mutation testing analysis by @vertti in #98
Full Changelog: v2.3.1...v2.4.0
v2.3.1
What's Changed
- Clean up mise.toml by @vertti in #87
- Add dprint for markdown formatting by @vertti in #88
- Update dependency uv to v0.9.18 by @renovate[bot] in #89
- Update dependency uv to v0.9.20 by @renovate[bot] in #90
- Replace broken DataFrameType with narwhals IntoDataFrame by @vertti in #91
Full Changelog: v2.3.0...v2.3.1
v2.3.0
Breaking Changes
- Drops Python 3.9 support
What's Changed
- Update dependency coverage to v7.13.1 by @renovate[bot] in #77
- Replace abandoned deadcode with vulture by @vertti in #79
- Update dependency pre-commit to v4.5.1 by @renovate[bot] in #80
- Drop Python 3.9 support by @vertti in #85
- Simplify CI by using mise-action by @vertti in #84
- Use mise-action in release workflow by @vertti in #86
New Contributors
Full Changelog: v2.2.0...v2.3.0