1.35.3
Query fixes and clearer deployment errors.
Browse changes to the relationalai Python package, including the rai CLI.
Open a version to read its complete release note.
Subscribe to Python package and CLI via RSS
Query fixes and clearer deployment errors.
Earlier deployment checks and predictive date and time checks.
Corrected rule results, clearer shared-model source.
Deploy multiple PyRel models in one Snowflake schema with custom object names.
Standalone properties now deploy as their own Snowflake tables, plus model deployment reliability fixes.
Python 3.14 support, Snowflake masking and projection policies, and various bug fixes.
If you use prescriptive reasoning (Public Preview, by request), review optimization problems after upgrading because some formerly accepted constraints and objectives now error or change meaning.
Deploying a model to Snowflake now needs one less tag, plus a uniqueness-requirement deploy fix.
New variance and variance_samp aggregates measure how spread out your data is.
PyRel 1.30.4 fixes math.haversine() distances, so recompute prior results, and a select() containing only a function call on a literal can now return a null row instead of no rows.
Adds new Snowflake sign-in options, a floats module, and faster refresh, plus aggregate and deployment fixes.
Model deployment now validates generated SQL by default and supports scheduled prescriptive solves in Snowflake for users of the by-request prescriptive reasoning Public Preview who configure a Snowflake identity.
Fixes grouped aggregates that collapsed to one row in a union, and a deploy blocked after Rel App activity.
Speeds up model deployment and fixes bugs.
Prescriptive reasoning users must stop passing part= or where= to Problem.display() and pass only one argument to all_different() after upgrading.
In the model deployment Public Preview, op log recording now turns on by default when you deploy, so rai models branch, pull, and merge work without extra setup.
Speeds up undirected-graph queries and deployments; now requires DuckDB 1.5.0 or newer.
Deployments now create SQL views for eligible direct sources, and common.hash() values have changed: check stored hashes before upgrading and plan to recompute those that must stay stable.
Adds account usage reports, faster model builds for deployment, and fixes several bugs.
Improves rai models CLI commands and fixes several bugs.
PyRel 1.26.0 makes model.deploy() run a full, tracked deployment from Python and notebooks, plus many Snowflake deploy and query fixes.
Adds model.teardown() and fixes several bugs.
PyRel 1.24.0 fixes several Snowflake deploy and query correctness bugs and warns about unrecognized raiconfig.yaml keys.
PyRel 1.23.1 adds a default refresh schedule to deployed models and fixes several bugs.
PyRel 1.23.0 corrects Snowflake deployments of models with entity identity keys, and adds an option to preserve column-name case.
PyRel 1.22.0 adds a home-level ~/.rai/raiconfig.yaml file so you can share connections across projects, and improves deploy diagnostics and query performance.
PyRel 1.21.4 fixes duplicated rows in some deployed models and speeds up refreshes for models with declared primary keys.
PyRel 1.21.3 improves refresh performance for deployed models.
PyRel 1.21.2 improves error messages and fixes several bugs with model deployment.
In the model deployment Public Preview, manual mode (auto_deploy=False) starts queries faster but can return stale results, so use it only in development.
PyRel 1.21.0 introduces a new public preview feature called deploy mode that lets you deploy a PyRel model to a Snowflake schema as SQL tables and views.
PyRel 1.20.1 makes deployed Cortex tools start returning results faster and fixes queries that returned NULL for Snowflake columns with mixed-case or special-character names.
PyRel 1.20.0 adds a prefix field to DeploymentConfig so multiple Cortex agents can share one Snowflake schema, and improves the error message for unsupported operators in prescriptive problem expressions.
PyRel 1.19.4 makes predictive dataset diagrams easier to render and save and removes a dependency incompatible with Python 3.13.
PyRel 1.19.3 restores Snowflake table export via .into(Table(...)) and fixes an Unused variable declared error in expressions using the | operator.
PyRel 1.19.2 improves reasoner name validation.
PyRel 1.19.1 fixes queries against quoted and case-sensitive Snowflake table names.
PyRel 1.19.0 fixes queries that read multiple fields from the same Property.
PyRel 1.18.0 adds diagnosis reports to the rai doctor CLI command and fixes several bugs.
PyRel 1.17.0 adds relationship keyword arguments, supports per(...).product(...), and fixes several bugs.
PyRel 1.16.0 adds OplogConfig so you can opt in to recording model oplogs during deploys.
PyRel 1.15.0 adds relationalai.semantics.alias() so you can give any value an output alias, including Python literals.
PyRel 1.14.0 sends background job guidance to stderr instead of stdout, keeping script output cleaner.
PyRel 1.13.0 adds SQL backend regex support, clearer rai doctor:report summaries, earlier Direct Access authenticator warnings, and correct DeploymentConfig.role handling.
PyRel 1.12.0 adds query support for aggregates.product() and expands diagnostics in rai doctor:report.
PyRel 1.11.0 now stops at the first model compilation error.
PyRel 1.10.0 adds support for stddev_samp() in queries, improves rai doctor:report diagnostics, and fixes query, import, and Snowflake deployment issues.
Concept.filter_by() and Ref.filter_by() still work in PyRel 1.9.0 but now emit deprecation warnings, so switch to .lookup() when updating your code.
The off-by-default LogicReasonerConfig.readonly_queries option can improve performance when you run multiple queries against the same model.
PyRel 1.8.0 now includes the packages needed for GNN workflows, runs independent Snowflake exports concurrently, and uses a stable load order for predictive GNN edge tables.
PyRel 1.7.1 is available with bug fixes.
PyRel 1.7.0 adds Snowflake oauth_client_credentials authentication and a new rai reasoners sizes CLI command.
PyRel 1.6.0 adds new rai clean CLI commands for cache and debugger cleanup.
PyRel 1.5.0 adds a new rai doctor CLI command group for diagnostics, supports additional Snowflake connection settings in config, and includes several bug fixes.
PyRel 1.4.2 improves rai config use profile selection and fixes cleanup when model.keep is set to False.
PyRel 1.4.1 adds predictive reasoning APIs and includes several bug fixes.
PyRel 1.3.1 includes a bug fix for identity field handling in Concept.new().
PyRel 1.3.0 adds new rai diagnose, rai whoami, and rai version CLI commands for troubleshooting and environment checks, plus enhanced prescriptive problem display options.
PyRel 1.2.2 adds more consistent CLI JSON and YAML output, new wait controls for long-running workflows, and Cortex agent deployment diagnostics.
PyRel 1.2.1 adds several new CLI commands and features for managing configuration profiles.
PyRel 1.2.0 adds easier CLI navigation, directed graph support in Graph.cosine_similarity(), and fixes several bugs.
PyRel version 1.1.1 makes pagination clearer in the rai jobs:list and rai reasoners:list CLI commands, and adds upgrade notices to all CLI commands when your installed relationalai version is out of date.
PyRel version 1.1.0 adds directed graph support for Graph.jaccard_similarity() and fixes a bug in the CLI.
PyRel 1.0.19 removes the currently unsupported std.re APIs and speeds up Graph.is_acyclic() on many large graphs.
PyRel 1.0.18 adds support for passing an existing Snowpark session to create_config() and fixes several bugs.
PyRel 1.0.17 rejects Relationship, Property, Concept, and Table as property or relationship names on concepts, so rename those attributes before upgrading.
PyRel 1.0.16 speeds up repeated Graph API calls, improves data security, and fixes several property and concept inheritance issues.
PyRel 1.0.15 adds the RAI_ACTIVE_PROFILE env var, reduces Model.Table() schema fetch overhead, and fixes several configuration, debugger, and Model.data() issues.
PyRel 1.0.14 improves the experience using PyRel in notebooks, expands CLI and reasoner configuration options, and fixes several query and data-handling bugs.
With multiple prescriptive solutions, query the returned ProblemVariable instead of deprecated Problem.variable_values(), and stop calling Problem.load_point() with nonzero indices.
PyRel 1.0.12 adds support for configuring source tables and export targets in raiconfig.yaml and a new type parameter for Model.Table() to specify Snowflake table types.
PyRel 1.0.11 clarifies the warning shown for unsupported direct_access: true configurations in v1.
PyRel 1.0.10 makes DSL objects easier to inspect and fixes .in_() filters in select() so they no longer mutate model state.
PyRel 1.0.9 adds explicit config-file loading, restores Snowflake OAuth authorization-code sign-in for Direct Access, and includes graph support and behavior updates.
PyRel version 1.0.8 fixes exports to destination tables that do not exist yet and improves error messages for cross-model usage and relationship field access.
PyRel 1.0.7 moves auto_suspend_mins to rai reasoners:alter and await_storage_vacuum to rai reasoners:create instead of raiconfig.yaml.
Version 1.0.6 fixes require() and isclose(), improves reserved-name errors, and deprecates use_direct_access in favor of direct_access.
Version 1.0.5 adds explicit schema support for in-memory data and fixes several configuration and execution issues.
Version 1.0.4 adds a new CLI config inspection command and fixes several bugs.
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.
PyRel 1.0.2 deprecates raiconfig.toml in favor of raiconfig.yaml, and Snowflake stored procedures that relied on implicit config loading must now pass an explicit Config.
Version 1.0.1 of the Python SDK is a patch release with bug fixes and reliability improvements.
PyRel 1.0.0 changes model syntax and CLI commands, so treat upgrading as a migration and test existing workflows before switching.