Releases: MAIF/arta
Releases · MAIF/arta
0.10.3
Fixes:
- User extra arguments in
.apply_rules()
were not given to action and condition function implementations (#49 by @heandr) by @develop-cs in #50
Documentation:
- Improve value sharing page.
0.10.2
Fixes:
kwargs
were mandatory for action functions used inside a dictionary of rules (#47 by @StephaneTy-Pro), they are now optional, by @develop-cs in #48
0.10.1
Fixes:
- Unintentional breaking change on the action function parameter
input_data
(now deprecated) by @develop-cs in #46
0.10.0
Features:
- Ability to share values between validation and action functions (#7) by @develop-cs in #44
- The
kwargs
parameter of action functions is now optional (only mandatory if you need to accessinput_data
) by @develop-cs in #44
Documentation:
- Value sharing by @develop-cs in #44
- Add information on how to retrieve input or output data (#43) by @develop-cs in #44
Maintenance:
- Enable Dependabot by @develop-cs in #45
0.9.0
Features:
- Add a new configuration setting for rule execution:
rule_activation_mode
(#38) by @develop-cs in #40
Maintenance:
- Use true Pydantic V2 (or Pydantic V1) models (#16) by @roman2git in #37
DeprecationWarning
added about Pydantic V1 by @develop-cs in #39- Python 3.13 compatibility
Documentation:
- Use your business objects (#35) by @guilieb in #36
- Rule activation mode by @develop-cs in #40
Breaking change:
- Because of using
StringConstraints
(w/ Pydantic V2) rather thanconstr()
, we can't use plainYES
orNO
(YAML booleans) as rule ids anymore. Use"YES"
or"NO"
instead in your YAML file.
IMPORTANT
Arta + Pydantic V1 + Python 3.13 is not supported because Pydantic V1 is not supported for Python > 3.12 (issue 9663).
0.8.1
Fixes:
- Simple condition: an error occurs when the field is of type
camelCase
orPascalCase
by @meriemjebali in #32
Documentation:
- Explain how to ignore rules by @develop-cs in #30
- Fix some code in A Simple Example page by @develop-cs in #34
0.8.0
Features:
- Add a new parameter
config_dict
to theRulesEngine
's constructor. It can be used when you have already loaded the YAML configuration in a dictionary and want to use it straightforward. - Add a new parameter
ignored_rules
to theapply_rules()
method. It can be used to easily disable a rule by its id. - Split a rule set in two (or more) files (keep the rules organized by their file names [alphabetically sorted]).
Fixes:
- Simple condition: an error occurs when the right operand is an uppercase string (e.g.,
input.text=="LABEL"
).
Refactoring:
- Function
sanitize_regex()
is converted to an instance methodget_sanitized_id()
ofBaseCondition
class.
0.7.1
Features:
- Configure your rules in a YAML file or use a straightforward python dictionary.
- Use "standard conditions" (YAML defined conditions) for flexibility.
- Use "simple conditions" (one-liner conditions) for simplicity (beta feature).
- Use math expressions in "simple conditions" (#25).
- Implement your own "custom conditions" (python classes) for adaptability.
- Define your own parameter's parsing strategy (raise, ignore, default value).
- Use many rule sets as you need.
Fixes:
- You can now use whitespaces in a string within a simple condition (e.g.,
input.text=="super hero"
) (#23).
0.7.0b*
Features:
- Configure your rules in a YAML file or use a straightforward python dictionary.
- Use "standard conditions" (YAML defined conditions) for flexibility.
- Use "simple conditions" (one-liner conditions) for simplicity (beta feature).
- Implement your own "custom conditions" (python classes) for adaptability.
- Define your own parameter's parsing strategy (raise, ignore, default value).
- Use many rule sets as you need.