Python package and CLI 1.0.3
PyRel 1.0.3 adds prescriptive reasoning (Public Preview, by request) and caps DataConfig.data_freshness_mins at three weeks, warning when it clamps larger values.
How to install this version
Review the changes below before installing. To install this version, activate a compatible Python virtual environment and run:
python -m pip install "relationalai==1.0.3"For the latest installation instructions, see Start building with PyRel.
New Features and Enhancements
Section titled “New Features and Enhancements”-
Added a new reasoner library for prescriptive reasoning. See the prescriptive reasoning guides. For API reference docs, see std.reasoners.prescriptive.
-
Improved typing support for
Graph.Graph.__init__()now has overloads so IDEs and static type checkers can catch incorrect combinations of graph constructor parameters. -
Made
Graphattributesdirectedandweightedread-only. Mutations to these attributes had no effect on graph behavior. They are now immutable to avoid confusion. -
Improved configuration and authentication diagnostics.
create_config()now includes the active profile name in YAML validation errors when available. -
Improved CLI diagnostics for Snowflake authentication failures. The CLI now surfaces clearer guidance for login and SSO failures.
-
Added support for the
await_storage_vacuumreasoner setting in configuration. You can now set this inraiconfig.yamlunderreasoners.*. Use it when you want a reasoner to wait for storage vacuum work to finish before suspending.
Bug Fixes
Section titled “Bug Fixes”-
Made field access by name in relationships case-insensitive. For example,
Thermometer.readings["time"]andThermometer.readings["Time"]now refer to the same field. -
rai init --migratenow produces cleanerraiconfig.yamloutput when migrating fromraiconfig.toml. Generated YAML no longer includes spurious default fields, placesreuse_modelundermodel, and formats profiles and connections more readably. -
Fixed
ProgrammaticAccessTokenAuthsotoken_file_pathworks correctly in v1 configuration. You can now provide either a literal token string or a file path to a Programmatic Access Token inraiconfig.yaml. -
Improved type checking for relationships and properties. If a field’s target type can’t be inferred, PyRel now raises a type mismatch error.
Upgrade Notes
Section titled “Upgrade Notes”DataConfig.data_freshness_minsis now capped at 30240 minutes (3 weeks). If you set a larger value, PyRel clamps it to 3 weeks and emits a warning during config creation.