Skip to content

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:

Terminal window
python -m pip install "relationalai==1.0.3"

For the latest installation instructions, see Start building with PyRel.

  • 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 Graph attributes directed and weighted read-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_vacuum reasoner setting in configuration. You can now set this in raiconfig.yaml under reasoners.*. Use it when you want a reasoner to wait for storage vacuum work to finish before suspending.

  • Made field access by name in relationships case-insensitive. For example, Thermometer.readings["time"] and Thermometer.readings["Time"] now refer to the same field.

  • rai init --migrate now produces cleaner raiconfig.yaml output when migrating from raiconfig.toml. Generated YAML no longer includes spurious default fields, places reuse_model under model, and formats profiles and connections more readably.

  • Fixed ProgrammaticAccessTokenAuth so token_file_path works correctly in v1 configuration. You can now provide either a literal token string or a file path to a Programmatic Access Token in raiconfig.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.

  • DataConfig.data_freshness_mins is 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.