Recent Releases of https://github.com/adriamontoto/criteria-pattern
https://github.com/adriamontoto/criteria-pattern - v1.1.0
v1.1.0 (2025-09-07)
โจ Features
- Implement in and not in operators (
e5294ee)
Detailed Changes: v1.0.0...v1.1.0
- Python
Published by github-actions[bot] 9 months ago
https://github.com/adriamontoto/criteria-pattern - v1.0.0
v1.0.0 (2025-07-20)
โจ Features
- Implement hole library using value objects pattern library (
7427554)
Detailed Changes: v0.1.1...v1.0.0
- Python
Published by github-actions[bot] 11 months ago
https://github.com/adriamontoto/criteria-pattern - v0.1.1
v0.1.1 (2025-06-15)
๐ฆ Build System
- Update package license locations (
4c05682)
Detailed Changes: v0.1.0...v0.1.1
- Python
Published by github-actions[bot] 12 months ago
https://github.com/adriamontoto/criteria-pattern - v0.1.0
v0.1.0 (2025-06-15)
๐ Bug Fixes
--requirements parameter was not working in requirements file (
5842d22)Add override decorator to AndCriteria.orders method (
2d6f519)Add test to make file folders (
1a7e752)Add unique decorator to filter operator enum (
9dce440)Add unique decorator to filter operator enum (
cff3973)Allow or, and criteria to access criteria method filters and orders (
03b5f56)Change PyPI URL to point to criteria-pattern in publish workflow (
860485b)Dict.get can not have default argument (
59e21be)Fix a typo (
d78e8d4)Fix a typo of functions names (
64338f9)Move NOT operator outside the parentheses (
8ae7ed2)Remove generic type on criteria classes (
c462c99)Remove SqlAlchemyConverter from the converter module's exports to prevent installing sqlalchemy if not used (
50da2b8)
๐ฆ Build System
Accept all packages versions that not exceed the major (
bb1748d)Add faker as dev requirements (
db40f95)Add sqlalchemy as project dependency (
b551c8c)Add sqlglot as package development dependency (
df57dc4)Change package versioning to date based (
9a7f959)Prepare version 2024.11.05 (
f485318)Remove requirements files (
e9312dd)Update dependencies in pyproject.toml (
811047a)Update dev dependencies to use version ranges for better compatibility and future-proofing (
ad2eee0)Update faker requirement (
49e22d9)Update faker requirement (
0cfd083)Update faker requirement (
dc2d42a)Update faker requirement (
433dcf1)
โจ Features
Adapt code to run in python 3.11 (
9ccbb5c)Add all attribute to import all criteria objects (
f53ff65)Add a basic implementation of criteria to sqlalchemy query (
b0e34d1)Add column_mapping parameter so frontend names can be mapped in the backend models or tables (
9376727)Add issues template (
2c7b643)Add not like operator (
d59fcc7)Add py.typed file to the package (
8b457fe)Add test folder (
4e23381)Allow and and or operators to use left and right orders (
72bd50b)Bump version to 2024.09.24 in init.py for release planning (
bd4ba01)Create test criteria mother (
97090d4)Create test filter mother (
49ea20c)Create test order mother (
6ab3307)Extend license year range to 2024-2025 (
358f01d)Implement all filter operators (
5cead6b)Implement and logic with a new class AndCriteria (
8d2720a)Implement and operator to criteria class (
217e6a6)Implement column mapping to change the filter name to the database filed (
f0de9ad)Implement columns injection prevention (
a88b54c)Implement converter interface (
c8a33ca)Implement criteria field injection prevention (
d89b693)Implement criteria pattern class (
9a9c5e0)Implement criteria to raw sql queries (
b32c6d4)Implement filter and filter operator (
e9c77ed)Implement not criteria logic (
3743da3)Implement or logic with OrCriteria class (
8f8eef7)Implement order to criteria (
6ba9c63)Implement table injection prevention (
6afa1fc)Improve Filter and Order string representations (
2f19cde)Improve sqlalchemy converter type hints (
a818c7c)Prevent sql injection in sql converter where clauses (
7288844)Remove converter interface (
bbcb5ef)Remove sqlalchemy support (
43827dc)Remove support of IN operator (
a8aa308)Repository configuration (
a4b344a)Support select all columns with * (
302f834)
- Python
Published by github-actions[bot] 12 months ago
https://github.com/adriamontoto/criteria-pattern - v2024.11.05
Changelog
Release Date: 2024-11-05
โจ Features
SQL Converter Enhancements:
- Added
column_mappingparameter for frontend-backend column name mapping. - Implemented
notcriteria logic. - Enabled criteria to generate raw SQL queries.
- Supported selecting all columns with
*. - Added
not likeoperator. - Supported all filter operators.
- Enhanced SQL injection prevention for
whereclauses, table, column, and criteria field injections.
- Added
Refinements in Criteria Operations:
- Changed filter operators to SQL-specific operators.
- Enabled
andandoroperators to handle left and right orders. - Added
has_filtersandhas_ordersdetection methods. - Converted orders auxiliary variable from list to string for optimization.
Enhanced Test and Mocking Utilities:
- Created test utility classes for
criteria,order, andfilter. - Developed tests for
notcriteria and column mapping.
- Created test utility classes for
๐จ Refactoring
SQL Conversion and Filtering:
- Removed
converterinterface. - Simplified
wherecondition creation in SQL converter. - Moved recursive logic in SQL converter to a dedicated method.
- Removed
Miscellaneous Refactors:
- Updated enums to uppercase.
- Added
noseccomments for security compliance. - Updated order operations for improved clarity.
๐ Bug Fixes
- Criteria and Filter Fixes:
- Fixed access issues with
orandandcriteria filters. - Resolved
dict.getdefault argument errors. - Adjusted
NOToperator placement for clarity. - Ensured
filter operatorenum uniqueness. - Corrected
requirementsparameter handling in Makefile.
- Fixed access issues with
๐ท๐ป CI/CD and Build Improvements
Pipeline Updates:
- Updated CI to use Python 3.13.
- Refined pre-commit hooks.
- Added environment variables for CI workflows.
- Enforced exact version usage in workflows.
- Introduced code quality checks and activated workflows only for PRs to
master. - Improved dependency versioning flexibility.
Build Changes:
- Added
py.typedfor type-checking. - Updated Faker and sqlglot as development dependencies.
- Introduced date-based versioning and development dependency upgrades.
- Added
๐ Documentation
- Readme and Docstrings:
- Added usage examples in
README. - Enhanced SQL converter and criteria docstrings with examples.
- Added usage examples in
๐งช Tests
- Implemented additional tests for
notcriteria logic. - Verified column mapping and SQL injection prevention measures.
Full Changelog: https://github.com/adriamontoto/criteria-pattern/compare/v2024.09.07...v2024.11.05
- Python
Published by adriamontoto over 1 year ago
https://github.com/adriamontoto/criteria-pattern - 2024.09.24
What's Changed
- Make the package lint compliance by @adriamontoto in https://github.com/adriamontoto/criteria-pattern/pull/3
Full Changelog: https://github.com/adriamontoto/criteria-pattern/compare/v2024.09.07...2024.09.24
- Python
Published by adriamontoto over 1 year ago
https://github.com/adriamontoto/criteria-pattern - v2024.09.07
What's Changed
- Prepare package to publish version 2024.09.07 by @adriamontoto in https://github.com/adriamontoto/criteria-pattern/pull/2
Full Changelog: https://github.com/adriamontoto/criteria-pattern/compare/v0.0.1...v2024.09.07
- Python
Published by adriamontoto over 1 year ago
https://github.com/adriamontoto/criteria-pattern - v0.0.1
What's Changed
- First version of criteria pattern with the sqlalchemy converter by @adriamontoto in https://github.com/adriamontoto/criteria-pattern/pull/1
New Contributors
- @adriamontoto made their first contribution in https://github.com/adriamontoto/criteria-pattern/pull/1
Full Changelog: https://github.com/adriamontoto/criteria-pattern/commits/v0.0.1
- Python
Published by adriamontoto almost 2 years ago