Python package and CLI 1.39.0
Deployment adds JSON impact reports.
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.39.0"For the latest installation instructions, see Start building with PyRel.
New Features and Enhancements
Section titled “New Features and Enhancements”-
Model deployment can now write an impact report as machine-readable JSON. To use JSON, run
rai models:deploywith--plan --plan-format json. Markdown remains the default. Planning is unavailable for local and dry-run configurations. Model deployment is in Public Preview. -
rai explore:schemanow reads column metadata only from the Snowflake schema you select. Its--depth structuremode works without a running warehouse. If your scripts read its JSON output, handle the newcolumns_unavailablefield.
Bug Fixes
Section titled “Bug Fixes”-
Graph Reasoning algorithms in deployed models now return results instead of no rows or zero betweenness when
ReasonerLogicLqpConfig.compileris set to"direct". Graph Reasoning is in Public Preview. -
PyRel queries now return correct results for several patterns, including aggregates that previously failed when run in your database.
-
PyRel aggregate queries with floating-point defaults such as
0.0now keep groups with no matching rows in the result. -
PyRel queries that select a related entity’s property with a fallback alongside the current entity’s ID now compile successfully.
-
Model deployment from a notebook now completes when the operation log that records model changes is enabled. If you interrupt a deployment, PyRel waits for any active plan to finish before it closes the client and propagates the interrupt.
-
When two first deployments start at the same time for one Snowflake schema, one now proceeds and the other reports that a deployment is in progress. Retry the second after the first finishes.
-
During the first refresh after deployment, PyRel now reports failed Snowflake tasks even if they did not write a refresh log. Checks run about once a minute, and Snowflake may retry a failed task.