Releases: MAIF/arta
Releases · MAIF/arta
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.