relationalai 0.12.13__tar.gz → 0.13.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {relationalai-0.12.13 → relationalai-0.13.0}/PKG-INFO +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/pyproject.toml +4 -2
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/events/__init__.py +3 -2
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/procedures/procedure.py +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/rel/__init__.py +5 -5
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/tables/__init__.py +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/tasks/task.py +2 -2
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/__init__.py +69 -22
- relationalai-0.13.0/src/relationalai/clients/__init__.py +18 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/client.py +4 -4
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/local.py +5 -5
- relationalai-0.13.0/src/relationalai/clients/resources/__init__.py +8 -0
- {relationalai-0.12.13/src/relationalai/clients → relationalai-0.13.0/src/relationalai/clients/resources/azure}/azure.py +12 -12
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/__init__.py +20 -0
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/cli_resources.py +87 -0
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/direct_access_resources.py +711 -0
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/engine_state_handlers.py +309 -0
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/error_handlers.py +199 -0
- {relationalai-0.12.13/src/relationalai/clients → relationalai-0.13.0/src/relationalai/clients/resources/snowflake}/export_procedure.py.jinja +1 -1
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/resources_factory.py +99 -0
- {relationalai-0.12.13/src/relationalai/clients → relationalai-0.13.0/src/relationalai/clients/resources/snowflake}/snowflake.py +606 -1392
- {relationalai-0.12.13/src/relationalai/clients → relationalai-0.13.0/src/relationalai/clients/resources/snowflake}/use_index_poller.py +43 -12
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/use_index_resources.py +188 -0
- relationalai-0.13.0/src/relationalai/clients/resources/snowflake/util.py +387 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ir/executor.py +4 -4
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/snow/api.py +2 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/errors.py +23 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/solvers.py +7 -7
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/devtools/benchmark_lqp.py +4 -5
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/devtools/extract_lqp.py +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/internal/internal.py +4 -4
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/internal/snowflake.py +3 -2
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/executor.py +22 -22
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/model2lqp.py +42 -4
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/passes.py +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/cdc.py +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/extract_keys.py +72 -15
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/builtins.py +8 -6
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/rewrite/flatten.py +9 -4
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/util.py +6 -5
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/graph/core.py +8 -9
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/rel/executor.py +14 -11
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/compiler.py +2 -2
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/executor/snowflake.py +9 -5
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/tests/test_snapshot_abstract.py +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/cli.py +26 -30
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/cli_helpers.py +10 -2
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/otel_configuration.py +2 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/otel_handler.py +1 -1
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai_test_util/fixtures.py +2 -1
- relationalai-0.12.13/src/relationalai/clients/__init__.py +0 -5
- {relationalai-0.12.13 → relationalai-0.13.0}/.gitignore +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/LICENSE +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/docs/pypi/README.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/frontend/debugger/dist/.gitignore +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/frontend/debugger/dist/assets/favicon-Dy0ZgA6N.png +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/frontend/debugger/dist/assets/index-Cssla-O7.js +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/frontend/debugger/dist/assets/index-DlHsYx1V.css +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/frontend/debugger/dist/index.html +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/procedures/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/raitoolkit/tasks/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/analysis/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/analysis/mechanistic.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/analysis/whynot.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/auth/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/auth/jwt_generator.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/auth/oauth_callback_server.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/auth/token_handler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/auth/util.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/config.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/direct_access_client.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/hash_util.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/profile_polling.py +0 -0
- {relationalai-0.12.13/src/relationalai/clients → relationalai-0.13.0/src/relationalai/clients/resources/snowflake}/cache_store.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/result_helpers.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/types.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/clients/util.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/compiler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/debugging.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/dependencies.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/docutils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/dsl.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/builder/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/snowflake/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/std/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/std/decimals/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/std/integers/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/std/math/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/builder/std/strings/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/devtools/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/devtools/benchmark_lqp/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/devtools/extract_lqp/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/orm/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/orm/adapter_qb.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/orm/model.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/orm/parser.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/owl/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/owl/adapter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/owl/model.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/adapters/owl/parser.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/bindings/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/bindings/common.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/bindings/csv.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/bindings/legacy/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/bindings/legacy/binding_models.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/bindings/snowflake.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/codegen/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/codegen/binder.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/codegen/common.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/codegen/helpers.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/codegen/relations.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/codegen/weaver.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/constants.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/builders/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/builders/logic.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/builders/scalar_constraint.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/constraints/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/constraints/predicate/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/constraints/predicate/atomic.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/constraints/predicate/universal.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/constraints/scalar.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/context.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/cset.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/exprs/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/exprs/relational.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/exprs/scalar.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/instances.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/logic/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/logic/aggregation.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/logic/exists.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/logic/helper.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/namespaces.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/relations.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/rules.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/stack.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/std/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/temporal/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/temporal/recall.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/concepts.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/constrained/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/constrained/nominal.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/constrained/subtype.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/standard.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/unconstrained.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/types/variables.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/core/utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ir/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ir/compiler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/constraints.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/export.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/models.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/python_printer.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/raw_source.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/readings.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/relationships.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/roles.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/ontologies/subtyping.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/constraints.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/measures/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/measures/dimensions.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/measures/initializer.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/measures/measure_rules.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/measures/measures.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/measures/role_exprs.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/models.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/object_oriented_printer.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/printer.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/reasoner_errors.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/reasoners.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/relations.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/relationships.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/types.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/orm/verb.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/physical_metadata/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/physical_metadata/tables.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/relations.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/rulesets.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/schemas/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/schemas/builder.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/schemas/comp_names.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/schemas/components.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/schemas/contexts.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/schemas/exprs.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/schemas/fragments.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/serialization.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/serialize/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/serialize/binding_model.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/serialize/exporter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/serialize/model.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/snow/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/snow/common.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/state_mgmt/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/state_mgmt/state_charts.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/state_mgmt/transitions.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/types/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/types/concepts.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/types/entities.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/types/values.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/dsl/utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/graphs/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/compiler/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/constructors/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/executor/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/ir/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/passes/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/pragmas/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/primitives/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/types/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/utils/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/lqp/validators/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/builtins/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/compiler/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/dependency/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/factory/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/helpers/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/ir/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/rewrite/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/typer/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/typer/typer/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/types/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/util/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/metamodel/visitor/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/rel/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/rel/executor/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/rel/rel_utils/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/rel/rewrite/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/solvers/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/sql/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/sql/executor/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/sql/rewrite/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/tests/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/tests/logging/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/tests/test_snapshot_base/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/early_access/tests/utils/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/base.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/ci.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/colab.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/generic.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/hex.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/ipython.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/jupyter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/snowbook.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/environments/terminal.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/SF.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/graphs.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/inspect.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/api.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/automaton.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/bridge.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/compiler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/datalog.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/diagnostics.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/filter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/glushkov.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/options.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/pathfinder-v0.7.0.rel +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/rpq.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/transition.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/pathfinder/utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/README.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/api.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/benchmarks/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/benchmarks/grid_graph.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/code_organization.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/Movies.ipynb +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/basic_example.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/minimal_engine_warmup.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movie_example.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/actedin.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/directed.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/follows.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/movies.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/person.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/produced.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/ratings.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/movies_data/wrote.csv +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/paths_benchmark.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/paths_example.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/examples/pattern_to_automaton.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/find_paths_via_automaton.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/graph.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/find_paths.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/one_sided_ball_repetition.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/one_sided_ball_upto.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/two_sided_balls_repetition.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/two_sided_balls_upto.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/usp-old.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/usp-tuple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/path_algorithms/usp.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/product_graph.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/rpq/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/rpq/automaton.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/rpq/diagnostics.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/rpq/filter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/rpq/glushkov.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/rpq/rpq.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/rpq/transition.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_limit_sp_max_length.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_limit_sp_multiple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_limit_sp_single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_limit_walks_multiple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_limit_walks_single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_repetition_multiple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_repetition_single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_upto_multiple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_upto_single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_single_paths.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_single_walks.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_single_walks_undirected.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_repetition_multiple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_repetition_single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_upto_multiple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_upto_single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_usp_nsp_multiple.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tests/tests_usp_nsp_single.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/tree_agg.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/utilities/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/utilities/iterators.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/utilities/prefix_sum.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/experimental/paths/utilities/utilities.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/loaders/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/loaders/csv.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/loaders/loader.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/loaders/types.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/metagen.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/metamodel.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/rel.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/rel_emitter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/rel_utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/designs/query_builder/identify_by.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/devtools/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/devtools/compilation_manager.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/internal/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/internal/annotations.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/README.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/builtins.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/compiler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/constructors.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/intrinsics.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/ir.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/pragmas.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/primitives.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/result_helpers.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/annotate_constraints.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/extract_common.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/function_annotations.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/functional_dependencies.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/quantify_vars.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/rewrite/splinter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/types.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/lqp/validators.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/compiler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/dataflow.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/dependency.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/executor.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/factory.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/helpers.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/ir.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/rewrite/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/rewrite/discharge_constraints.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/rewrite/dnf_union_splitter.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/rewrite/extract_nested_logicals.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/rewrite/format_outputs.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/typer/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/typer/checker.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/typer/typer.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/types.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/metamodel/visitor.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/experimental/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/graph/README.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/graph/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/graph/design/beyond_demand_transform.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/graph/tests/README.md +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/optimization/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/optimization/common.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/optimization/solvers_dev.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/reasoners/optimization/solvers_pb.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/rel/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/rel/builtins.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/rel/compiler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/rel/rel.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/rel/rel_utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/snowflake/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/executor/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/executor/duck_db.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/executor/result_helpers.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/rewrite/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/rewrite/denormalize.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/rewrite/double_negation.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/rewrite/recursive_union.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/rewrite/sort_output_query.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/sql/sql.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/constraints.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/datetime.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/decimals.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/floats.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/integers.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/math.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/pragmas.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/re.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/std.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/std/strings.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/tests/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/tests/logging.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/tests/test_snapshot_base.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/semantics/tests/utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/aggregates.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/dates.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/graphs.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/inspect.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/math.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/re.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/std/strings.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/cleanup_snapshots.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/cli_controls.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/constants.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/debugger.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/debugger_client.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/debugger_server.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/dev.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/notes +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/qb_debugger.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/query_utils.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/tools/snapshot_viewer.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/clean_up_databases.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/constants.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/format.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/graph.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/list_databases.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/snowflake_handler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/span_format_test.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/span_tracker.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/spans_file_handler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/timeout.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai/util/tracing_handler.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai_test_util/__init__.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai_test_util/snapshot.py +0 -0
- {relationalai-0.12.13 → relationalai-0.13.0}/src/relationalai_test_util/traceback.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = 'relationalai'
|
|
3
|
-
version = '0.
|
|
3
|
+
version = '0.13.0'
|
|
4
4
|
description = 'RelationalAI Library and CLI'
|
|
5
5
|
readme="docs/pypi/README.md"
|
|
6
6
|
authors = [
|
|
@@ -118,7 +118,9 @@ exclude = ["**/node_modules", "**/__pycache__", "**/.*", "**/test_cases/*", "src
|
|
|
118
118
|
useLibraryCodeForTypes = true
|
|
119
119
|
reportMissingImports = true
|
|
120
120
|
reportMissingTypeStubs = false
|
|
121
|
-
pythonVersion = "3.
|
|
121
|
+
pythonVersion = "3.10"
|
|
122
|
+
venvPath = "."
|
|
123
|
+
venv = ".venv"
|
|
122
124
|
typeCheckingMode = "standard"
|
|
123
125
|
reportUnusedExpression = false
|
|
124
126
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import relationalai as rai
|
|
2
2
|
from typing import cast, Literal
|
|
3
|
+
from relationalai.clients.resources.snowflake import Provider
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
def get_active_event_table() -> str:
|
|
6
|
-
provider = cast(
|
|
7
|
+
provider = cast(Provider, rai.Provider())
|
|
7
8
|
return cast(
|
|
8
9
|
str, provider.sql("show parameters like 'event_table' in account;")[0]["value"]
|
|
9
10
|
)
|
|
@@ -16,7 +17,7 @@ def get_events(
|
|
|
16
17
|
event_table=None,
|
|
17
18
|
format: Literal["list", "pandas", "polars", "lazy"] = "pandas",
|
|
18
19
|
):
|
|
19
|
-
provider = cast(
|
|
20
|
+
provider = cast(Provider, rai.Provider())
|
|
20
21
|
if event_table is None:
|
|
21
22
|
event_table = get_active_event_table()
|
|
22
23
|
where_clauses = []
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
import relationalai as rai
|
|
3
2
|
import string
|
|
4
3
|
import random
|
|
5
4
|
import textwrap
|
|
5
|
+
import relationalai as rai
|
|
6
6
|
|
|
7
7
|
def rel(model, rel_code):
|
|
8
|
-
resources = rai.
|
|
8
|
+
resources = rai.Resources()
|
|
9
9
|
resources.config.set("use_graph_index", False)
|
|
10
10
|
database = model
|
|
11
11
|
try:
|
|
@@ -31,8 +31,8 @@ def get_models(session, database, engine):
|
|
|
31
31
|
'{database}',
|
|
32
32
|
'{engine}',
|
|
33
33
|
'def pairs(name, model): rel(:catalog, :model, name, model) and not starts_with(name, "rel/") and not starts_with(name, "pkg/std")
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
def Export_Relation(:key, i, key): exists( (value) | sort(pairs, i, key, value) )'
|
|
35
|
+
'def Export_Relation(:value, i, value): exists( (key) | sort(pairs, i, key, value) )',
|
|
36
36
|
'{tmp_name}',
|
|
37
37
|
true
|
|
38
38
|
);
|
|
@@ -47,4 +47,4 @@ def get_models(session, database, engine):
|
|
|
47
47
|
for row in result:
|
|
48
48
|
if row["KEY"] == "catalog":
|
|
49
49
|
continue
|
|
50
|
-
yield row["KEY"], row["VALUE"]
|
|
50
|
+
yield row["KEY"], row["VALUE"]
|
|
@@ -5,7 +5,7 @@ from typing import Optional, cast
|
|
|
5
5
|
import relationalai as rai
|
|
6
6
|
from snowflake.snowpark import Row
|
|
7
7
|
|
|
8
|
-
from relationalai.clients.snowflake import Provider
|
|
8
|
+
from relationalai.clients.resources.snowflake import Provider
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
@dataclass
|
|
@@ -14,7 +14,7 @@ class Task:
|
|
|
14
14
|
database: str
|
|
15
15
|
schema: str
|
|
16
16
|
procedure: str
|
|
17
|
-
provider: Provider = cast(
|
|
17
|
+
provider: Provider = cast(Provider, rai.Provider())
|
|
18
18
|
last_execution_time: Optional[str] = None
|
|
19
19
|
logs_table: Optional[str] = None
|
|
20
20
|
|
|
@@ -7,8 +7,8 @@ import importlib.metadata
|
|
|
7
7
|
|
|
8
8
|
from typing import cast
|
|
9
9
|
|
|
10
|
-
from .clients import config as cfg
|
|
11
10
|
from .clients.config import Config, save_config
|
|
11
|
+
from . import clients
|
|
12
12
|
from . import dsl
|
|
13
13
|
from . import debugging
|
|
14
14
|
from . import metamodel
|
|
@@ -19,11 +19,14 @@ from . import tools
|
|
|
19
19
|
from .util.otel_configuration import configure_otel
|
|
20
20
|
from snowflake.snowpark import Session
|
|
21
21
|
from .errors import RAIException, handle_missing_integration
|
|
22
|
-
from .environments import runtime_env, SessionEnvironment
|
|
23
|
-
from relationalai.tools.constants import
|
|
22
|
+
from .environments import runtime_env, SessionEnvironment, SnowbookEnvironment
|
|
23
|
+
from relationalai.tools.constants import Generation
|
|
24
24
|
|
|
25
25
|
import __main__
|
|
26
26
|
|
|
27
|
+
# Define cfg after all imports since it depends on clients being imported
|
|
28
|
+
cfg = clients.config
|
|
29
|
+
|
|
27
30
|
__version__ = importlib.metadata.version(__package__ or __name__)
|
|
28
31
|
|
|
29
32
|
def Model(
|
|
@@ -113,9 +116,9 @@ def Model(
|
|
|
113
116
|
|
|
114
117
|
try:
|
|
115
118
|
if platform == "azure":
|
|
116
|
-
|
|
119
|
+
from relationalai.clients.resources.azure.azure import Graph
|
|
117
120
|
from .util.otel_handler import disable_otel_handling, is_otel_initialized
|
|
118
|
-
model =
|
|
121
|
+
model = Graph(
|
|
119
122
|
name,
|
|
120
123
|
profile=profile,
|
|
121
124
|
config=config,
|
|
@@ -127,8 +130,18 @@ def Model(
|
|
|
127
130
|
if is_otel_initialized:
|
|
128
131
|
disable_otel_handling()
|
|
129
132
|
elif platform == "snowflake":
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
try:
|
|
134
|
+
from relationalai.clients.resources.snowflake import Graph
|
|
135
|
+
except ImportError as e:
|
|
136
|
+
# Provide a helpful error message for Snowflake notebook environments
|
|
137
|
+
if isinstance(runtime_env, SnowbookEnvironment):
|
|
138
|
+
raise ImportError(
|
|
139
|
+
"Failed to import relationalai.clients.resources.snowflake. "
|
|
140
|
+
"This may indicate that the relationalai.zip package structure is incomplete. "
|
|
141
|
+
"Please ensure the zip file includes the full clients/resources/snowflake directory structure."
|
|
142
|
+
) from e
|
|
143
|
+
raise
|
|
144
|
+
model = Graph(
|
|
132
145
|
name,
|
|
133
146
|
profile=profile,
|
|
134
147
|
config=config,
|
|
@@ -163,18 +176,41 @@ def Resources(
|
|
|
163
176
|
config = config or Config(profile)
|
|
164
177
|
platform = config.get("platform", "snowflake")
|
|
165
178
|
if platform == "azure":
|
|
166
|
-
from relationalai.clients.azure import Resources
|
|
179
|
+
from relationalai.clients.resources.azure.azure import Resources
|
|
167
180
|
return Resources(config=config)
|
|
168
181
|
elif platform == "snowflake":
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
182
|
+
try:
|
|
183
|
+
from relationalai.clients.resources.snowflake.resources_factory import create_resources_instance
|
|
184
|
+
except ImportError as e:
|
|
185
|
+
# Provide a helpful error message for Snowflake notebook environments
|
|
186
|
+
from relationalai.environments import runtime_env, SnowbookEnvironment
|
|
187
|
+
if isinstance(runtime_env, SnowbookEnvironment):
|
|
188
|
+
raise ImportError(
|
|
189
|
+
"Failed to import relationalai.clients.resources.snowflake. "
|
|
190
|
+
"This may indicate that the relationalai.zip package structure is incomplete. "
|
|
191
|
+
"Please ensure the zip file includes the full clients/resources/snowflake directory structure."
|
|
192
|
+
) from e
|
|
193
|
+
raise
|
|
194
|
+
return create_resources_instance(
|
|
195
|
+
config=config,
|
|
196
|
+
profile=profile,
|
|
197
|
+
connection=connection,
|
|
198
|
+
reset_session=reset_session,
|
|
199
|
+
generation=generation or Generation.V0,
|
|
200
|
+
dry_run=False,
|
|
201
|
+
language="rel",
|
|
202
|
+
)
|
|
175
203
|
elif platform == "local":
|
|
176
|
-
from relationalai.clients.
|
|
177
|
-
return
|
|
204
|
+
from relationalai.clients.resources.snowflake.resources_factory import create_resources_instance
|
|
205
|
+
return create_resources_instance(
|
|
206
|
+
config=config,
|
|
207
|
+
profile=profile,
|
|
208
|
+
connection=connection,
|
|
209
|
+
reset_session=reset_session,
|
|
210
|
+
generation=generation or Generation.V0,
|
|
211
|
+
dry_run=False,
|
|
212
|
+
language="rel",
|
|
213
|
+
)
|
|
178
214
|
else:
|
|
179
215
|
raise Exception(f"Unknown platform: {platform}")
|
|
180
216
|
|
|
@@ -187,15 +223,26 @@ def Provider(
|
|
|
187
223
|
resources = Resources(profile, config, connection, generation=generation)
|
|
188
224
|
platform = resources.config.get("platform", "snowflake")
|
|
189
225
|
if platform == "azure":
|
|
190
|
-
|
|
191
|
-
resources = cast(
|
|
192
|
-
return
|
|
226
|
+
from relationalai.clients.resources.azure.azure import Resources as AzureResources, Provider as AzureProvider
|
|
227
|
+
resources = cast(AzureResources, resources)
|
|
228
|
+
return AzureProvider(
|
|
193
229
|
resources=resources
|
|
194
230
|
)
|
|
195
231
|
elif platform == "snowflake":
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
232
|
+
try:
|
|
233
|
+
from relationalai.clients.resources.snowflake import Resources as SnowflakeResources, Provider as SnowflakeProvider
|
|
234
|
+
except ImportError as e:
|
|
235
|
+
# Provide a helpful error message for Snowflake notebook environments
|
|
236
|
+
from relationalai.environments import runtime_env, SnowbookEnvironment
|
|
237
|
+
if isinstance(runtime_env, SnowbookEnvironment):
|
|
238
|
+
raise ImportError(
|
|
239
|
+
"Failed to import relationalai.clients.resources.snowflake. "
|
|
240
|
+
"This may indicate that the relationalai.zip package structure is incomplete. "
|
|
241
|
+
"Please ensure the zip file includes the full clients/resources/snowflake directory structure."
|
|
242
|
+
) from e
|
|
243
|
+
raise
|
|
244
|
+
resources = cast(SnowflakeResources, resources)
|
|
245
|
+
return SnowflakeProvider(
|
|
199
246
|
resources=resources,
|
|
200
247
|
generation=generation
|
|
201
248
|
)
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Azure import is dropped because we need to to do runtime import of azure module to support our package running on Snowflake Notebook
|
|
2
|
+
from . import config
|
|
3
|
+
|
|
4
|
+
# Lazy imports for client and local to avoid circular import issues
|
|
5
|
+
# These modules import from relationalai which imports from clients, creating a cycle
|
|
6
|
+
def __getattr__(name: str):
|
|
7
|
+
if name == 'client':
|
|
8
|
+
from . import client
|
|
9
|
+
return client
|
|
10
|
+
elif name == 'local':
|
|
11
|
+
from . import local
|
|
12
|
+
return local
|
|
13
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
14
|
+
|
|
15
|
+
# note: user must do `import relationalai.clients.azure` to get `azure` submodule
|
|
16
|
+
# note: snowflake module is now at relationalai.clients.resources.snowflake
|
|
17
|
+
# note: 'client' and 'local' are lazy-loaded via __getattr__, so they're not in __all__
|
|
18
|
+
__all__ = ['config']
|
|
@@ -10,12 +10,12 @@ from dataclasses import dataclass
|
|
|
10
10
|
from pandas import DataFrame
|
|
11
11
|
import time
|
|
12
12
|
|
|
13
|
-
from
|
|
14
|
-
from
|
|
13
|
+
from .hash_util import database_name_from_sproc_name
|
|
14
|
+
from ..tools.constants import USE_GRAPH_INDEX, USE_PACKAGE_MANAGER
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
from .types import AvailableModel, EngineState, Import, ImportSource, ImportsStatus, SourceMapEntry
|
|
18
|
-
from
|
|
18
|
+
from .config import Config
|
|
19
19
|
from ..compiler import Compiler
|
|
20
20
|
from ..environments import runtime_env, NotebookRuntimeEnvironment
|
|
21
21
|
from .. import dsl, debugging, metamodel as m
|
|
@@ -210,7 +210,7 @@ class ResourcesBase(ABC):
|
|
|
210
210
|
return engine
|
|
211
211
|
|
|
212
212
|
@abstractmethod
|
|
213
|
-
def auto_create_engine_async(self, name: str | None = None):
|
|
213
|
+
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
214
214
|
pass
|
|
215
215
|
|
|
216
216
|
_active_engine: EngineState|None = None
|
|
@@ -13,10 +13,10 @@ from typing import Any, Dict, List, Iterable, Literal, Optional, Tuple, Union
|
|
|
13
13
|
from requests.adapters import HTTPAdapter
|
|
14
14
|
from urllib3.util.retry import Retry
|
|
15
15
|
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
16
|
+
from .client import ResourcesBase, ProviderBase
|
|
17
|
+
from .config import Config
|
|
18
|
+
from .types import TransactionAsyncResponse
|
|
19
|
+
from .util import get_pyrel_version
|
|
20
20
|
from ..errors import ResponseStatusException
|
|
21
21
|
from .. import debugging
|
|
22
22
|
|
|
@@ -202,7 +202,7 @@ class LocalResources(ResourcesBase):
|
|
|
202
202
|
def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
|
|
203
203
|
raise NotImplementedError("alter_engine_pool not supported in local mode")
|
|
204
204
|
|
|
205
|
-
def auto_create_engine_async(self, name: str | None = None):
|
|
205
|
+
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
206
206
|
raise NotImplementedError("auto_create_engine_async not supported in local mode")
|
|
207
207
|
|
|
208
208
|
#--------------------------------------------------
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Resources module for RelationalAI clients.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
# This package contains resource implementations for different platforms:
|
|
6
|
+
# - snowflake: Snowflake-specific resources
|
|
7
|
+
# - azure: Azure-specific resources (optional, may not be available in all environments)
|
|
8
|
+
|
|
@@ -9,18 +9,18 @@ from urllib.error import HTTPError
|
|
|
9
9
|
|
|
10
10
|
from pandas import DataFrame
|
|
11
11
|
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
|
|
15
|
-
from
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
20
|
-
from
|
|
21
|
-
from
|
|
12
|
+
from .... import debugging
|
|
13
|
+
from ...util import poll_with_specified_overhead
|
|
14
|
+
|
|
15
|
+
from ....errors import EngineNotFoundException, RAIException, AzureUnsupportedQueryTimeoutException
|
|
16
|
+
from ....rel_utils import assert_no_problems
|
|
17
|
+
from ....loaders.loader import emit_delete_import, import_file, list_available_resources
|
|
18
|
+
from ...config import Config
|
|
19
|
+
from ...types import EngineState, ImportSource, ImportSourceFile, TransactionAsyncResponse
|
|
20
|
+
from ...client import Client, ExportParams, ProviderBase, ResourcesBase
|
|
21
|
+
from .... import dsl, rel, metamodel as m
|
|
22
22
|
from railib import api
|
|
23
|
-
from
|
|
23
|
+
from ... import result_helpers
|
|
24
24
|
|
|
25
25
|
#--------------------------------------------------
|
|
26
26
|
# Constants
|
|
@@ -105,7 +105,7 @@ class Resources(ResourcesBase):
|
|
|
105
105
|
def resume_engine_async(self, name:str):
|
|
106
106
|
return api.resume_engine(self._api_ctx(), name)
|
|
107
107
|
|
|
108
|
-
def auto_create_engine_async(self, name: str | None = None):
|
|
108
|
+
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
109
109
|
raise Exception("Azure doesn't support auto_create_engine_async")
|
|
110
110
|
|
|
111
111
|
def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Snowflake resources module.
|
|
3
|
+
"""
|
|
4
|
+
# Import order matters - Resources must be imported first since other classes depend on it
|
|
5
|
+
from .snowflake import Resources, Provider, Graph, SnowflakeClient, APP_NAME, PYREL_ROOT_DB, ExecContext, INTERNAL_ENGINE_SIZES, ENGINE_SIZES_AWS, ENGINE_SIZES_AZURE, PrimaryKey
|
|
6
|
+
|
|
7
|
+
# These imports depend on Resources, so they come after
|
|
8
|
+
from .cli_resources import CLIResources
|
|
9
|
+
from .use_index_resources import UseIndexResources
|
|
10
|
+
from .direct_access_resources import DirectAccessResources
|
|
11
|
+
from .resources_factory import create_resources_instance
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
'Resources', 'DirectAccessResources', 'Provider', 'Graph', 'SnowflakeClient',
|
|
15
|
+
'APP_NAME', 'PYREL_ROOT_DB', 'CLIResources', 'UseIndexResources', 'ExecContext',
|
|
16
|
+
'INTERNAL_ENGINE_SIZES', 'ENGINE_SIZES_AWS', 'ENGINE_SIZES_AZURE', 'PrimaryKey',
|
|
17
|
+
'create_resources_instance',
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
"""
|
|
2
|
+
CLI Resources - Resources class for CLI operations.
|
|
3
|
+
Re-raises exceptions without transformation and provides CLI utility methods.
|
|
4
|
+
"""
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
import json
|
|
7
|
+
from typing import Any
|
|
8
|
+
|
|
9
|
+
from ....tools.constants import RAI_APP_NAME
|
|
10
|
+
|
|
11
|
+
# Import Resources from snowflake - this creates a dependency but no circular import
|
|
12
|
+
# since snowflake.py doesn't import from this file
|
|
13
|
+
from .snowflake import Resources, ExecContext
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CLIResources(Resources):
|
|
17
|
+
"""
|
|
18
|
+
Resources class for CLI operations.
|
|
19
|
+
Re-raises exceptions without transformation and provides CLI utility methods.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
def _handle_standard_exec_errors(self, e: Exception, ctx: ExecContext) -> Any | None:
|
|
23
|
+
"""For CLI resources, re-raise exceptions without transformation."""
|
|
24
|
+
raise e
|
|
25
|
+
|
|
26
|
+
def list_warehouses(self):
|
|
27
|
+
"""List all warehouses in the Snowflake account."""
|
|
28
|
+
results = self._exec("SHOW WAREHOUSES")
|
|
29
|
+
if not results:
|
|
30
|
+
return []
|
|
31
|
+
return [{"name": name}
|
|
32
|
+
for (name, *rest) in results]
|
|
33
|
+
|
|
34
|
+
def list_compute_pools(self):
|
|
35
|
+
"""List all compute pools in the Snowflake account."""
|
|
36
|
+
results = self._exec("SHOW COMPUTE POOLS")
|
|
37
|
+
if not results:
|
|
38
|
+
return []
|
|
39
|
+
return [{"name": name, "status": status, "min_nodes": min_nodes, "max_nodes": max_nodes, "instance_family": instance_family}
|
|
40
|
+
for (name, status, min_nodes, max_nodes, instance_family, *rest) in results]
|
|
41
|
+
|
|
42
|
+
def list_roles(self):
|
|
43
|
+
"""List all available roles in the Snowflake account."""
|
|
44
|
+
results = self._exec("SELECT CURRENT_AVAILABLE_ROLES()")
|
|
45
|
+
if not results:
|
|
46
|
+
return []
|
|
47
|
+
# the response is a single row with a single column containing
|
|
48
|
+
# a stringified JSON array of role names:
|
|
49
|
+
row = results[0]
|
|
50
|
+
if not row:
|
|
51
|
+
return []
|
|
52
|
+
return [{"name": name} for name in json.loads(row[0])]
|
|
53
|
+
|
|
54
|
+
def list_apps(self):
|
|
55
|
+
"""List all applications in the Snowflake account."""
|
|
56
|
+
all_apps = self._exec(f"SHOW APPLICATIONS LIKE '{RAI_APP_NAME}'")
|
|
57
|
+
if not all_apps:
|
|
58
|
+
all_apps = self._exec("SHOW APPLICATIONS")
|
|
59
|
+
if not all_apps:
|
|
60
|
+
return []
|
|
61
|
+
return [{"name": name}
|
|
62
|
+
for (time, name, *rest) in all_apps]
|
|
63
|
+
|
|
64
|
+
def list_databases(self):
|
|
65
|
+
"""List all databases in the Snowflake account."""
|
|
66
|
+
results = self._exec("SHOW DATABASES")
|
|
67
|
+
if not results:
|
|
68
|
+
return []
|
|
69
|
+
return [{"name": name}
|
|
70
|
+
for (time, name, *rest) in results]
|
|
71
|
+
|
|
72
|
+
def list_sf_schemas(self, database: str):
|
|
73
|
+
"""List all schemas in a given database."""
|
|
74
|
+
results = self._exec(f"SHOW SCHEMAS IN {database}")
|
|
75
|
+
if not results:
|
|
76
|
+
return []
|
|
77
|
+
return [{"name": name}
|
|
78
|
+
for (time, name, *rest) in results]
|
|
79
|
+
|
|
80
|
+
def list_tables(self, database: str, schema: str):
|
|
81
|
+
"""List all tables and views in a given schema."""
|
|
82
|
+
results = self._exec(f"SHOW OBJECTS IN {database}.{schema}")
|
|
83
|
+
items = []
|
|
84
|
+
if results:
|
|
85
|
+
for (time, name, db_name, schema_name, kind, *rest) in results:
|
|
86
|
+
items.append({"name": name, "kind": kind.lower()})
|
|
87
|
+
return items
|