Skip to content
These docs are for v1 of RelationalAI. Click here to view the v2 docs.

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:

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

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

  • Model deployment can now write an impact report as machine-readable JSON. To use JSON, run rai models:deploy with --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:schema now reads column metadata only from the Snowflake schema you select. Its --depth structure mode works without a running warehouse. If your scripts read its JSON output, handle the new columns_unavailable field.

  • Graph Reasoning algorithms in deployed models now return results instead of no rows or zero betweenness when ReasonerLogicLqpConfig.compiler is 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.0 now 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.