Skip to content

Releases: MAIF/arta

0.9.0

18 Dec 13:22
88ebd80
Compare
Choose a tag to compare

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:

Breaking change:

  • Because of using StringConstraints (w/ Pydantic V2) rather than constr(), we can't use plain YES or NO (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

05 Sep 14:12
b7b8938
Compare
Choose a tag to compare

Fixes:

  • Simple condition: an error occurs when the field is of type camelCase or PascalCase by @meriemjebali in #32

Documentation:

0.8.0

29 Jul 14:07
86fcd7c
Compare
Choose a tag to compare

Features:

  • Add a new parameter config_dict to the RulesEngine'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 the apply_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 method get_sanitized_id() of BaseCondition class.

0.7.1

21 Jun 15:36
Compare
Choose a tag to compare

Features:

Fixes:

  • You can now use whitespaces in a string within a simple condition (e.g., input.text=="super hero") (#23).

0.7.0b*

10 Jun 08:41
fe5c31a
Compare
Choose a tag to compare
0.7.0b* Pre-release
Pre-release
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.