relationalai 0.13.1__tar.gz → 0.13.2__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.13.1 → relationalai-0.13.2}/PKG-INFO +1 -1
- {relationalai-0.13.1 → relationalai-0.13.2}/pyproject.toml +2 -2
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/client.py +49 -14
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/local.py +23 -8
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/azure/azure.py +36 -11
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/__init__.py +3 -3
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/cli_resources.py +12 -1
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/direct_access_resources.py +57 -17
- relationalai-0.13.2/src/relationalai/clients/resources/snowflake/engine_service.py +381 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/engine_state_handlers.py +35 -29
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/error_handlers.py +43 -2
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/snowflake.py +116 -121
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/types.py +5 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/errors.py +1 -1
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/typer/typer.py +6 -2
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/cli.py +339 -186
- relationalai-0.13.2/src/relationalai/tools/cli_helpers.py +802 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai_test_util/fixtures.py +2 -2
- relationalai-0.13.1/src/relationalai/tools/cli_helpers.py +0 -398
- {relationalai-0.13.1 → relationalai-0.13.2}/.gitignore +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/LICENSE +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/docs/pypi/README.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/.gitignore +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/assets/favicon-Dy0ZgA6N.png +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/assets/index-Cssla-O7.js +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/assets/index-DlHsYx1V.css +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/frontend/debugger/dist/index.html +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/events/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/procedures/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/procedures/procedure.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/rel/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/tables/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/tasks/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/raitoolkit/tasks/task.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/analysis/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/analysis/mechanistic.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/analysis/whynot.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/jwt_generator.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/oauth_callback_server.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/token_handler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/auth/util.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/config.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/direct_access_client.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/exec_txn_poller.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/hash_util.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/profile_polling.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/cache_store.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/export_procedure.py.jinja +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/resources_factory.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/use_index_poller.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/use_index_resources.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/util.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/result_helpers.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/util.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/compiler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/debugging.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/dependencies.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/docutils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/dsl.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/builder/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/snowflake/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/decimals/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/integers/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/math/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/builder/std/strings/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/devtools/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/devtools/benchmark_lqp/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/devtools/extract_lqp/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/adapter_qb.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/model.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/orm/parser.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/adapter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/model.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/adapters/owl/parser.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/common.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/csv.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/legacy/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/legacy/binding_models.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/bindings/snowflake.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/binder.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/common.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/helpers.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/relations.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/codegen/weaver.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/constants.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/builders/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/builders/logic.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/builders/scalar_constraint.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/predicate/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/predicate/atomic.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/predicate/universal.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/constraints/scalar.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/context.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/cset.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/exprs/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/exprs/relational.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/exprs/scalar.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/instances.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/aggregation.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/exists.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/logic/helper.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/namespaces.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/relations.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/rules.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/stack.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/std/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/temporal/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/temporal/recall.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/concepts.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/constrained/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/constrained/nominal.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/constrained/subtype.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/standard.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/unconstrained.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/types/variables.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/core/utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ir/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ir/compiler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ir/executor.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/constraints.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/export.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/models.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/python_printer.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/raw_source.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/readings.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/relationships.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/roles.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/ontologies/subtyping.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/constraints.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/dimensions.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/initializer.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/measure_rules.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/measures.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/measures/role_exprs.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/models.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/object_oriented_printer.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/printer.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/reasoner_errors.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/reasoners.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/relations.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/relationships.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/types.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/orm/verb.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/physical_metadata/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/physical_metadata/tables.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/relations.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/rulesets.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/builder.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/comp_names.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/components.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/contexts.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/exprs.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/schemas/fragments.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialization.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/binding_model.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/exporter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/serialize/model.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/snow/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/snow/api.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/snow/common.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/state_mgmt/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/state_mgmt/state_charts.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/state_mgmt/transitions.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/concepts.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/entities.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/types/values.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/dsl/utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/graphs/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/compiler/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/constructors/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/executor/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/ir/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/passes/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/pragmas/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/primitives/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/types/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/utils/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/lqp/validators/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/builtins/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/compiler/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/dependency/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/factory/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/helpers/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/ir/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/rewrite/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/typer/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/typer/typer/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/types/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/util/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/metamodel/visitor/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/executor/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/rel_utils/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/rel/rewrite/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/solvers/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/sql/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/sql/executor/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/sql/rewrite/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/logging/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/test_snapshot_base/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/early_access/tests/utils/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/base.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/ci.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/colab.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/generic.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/hex.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/ipython.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/jupyter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/snowbook.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/environments/terminal.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/SF.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/graphs.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/inspect.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/api.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/automaton.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/bridge.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/compiler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/datalog.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/diagnostics.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/filter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/glushkov.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/options.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/pathfinder-v0.7.0.rel +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/rpq.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/transition.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/pathfinder/utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/README.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/api.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/benchmarks/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/benchmarks/grid_graph.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/code_organization.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/Movies.ipynb +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/basic_example.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/minimal_engine_warmup.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movie_example.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/actedin.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/directed.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/follows.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/movies.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/person.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/produced.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/ratings.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/movies_data/wrote.csv +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/paths_benchmark.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/paths_example.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/examples/pattern_to_automaton.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/find_paths_via_automaton.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/graph.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/find_paths.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/one_sided_ball_repetition.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/one_sided_ball_upto.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/two_sided_balls_repetition.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/two_sided_balls_upto.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/usp-old.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/usp-tuple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/path_algorithms/usp.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/product_graph.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/automaton.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/diagnostics.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/filter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/glushkov.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/rpq.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/rpq/transition.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_sp_max_length.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_sp_multiple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_sp_single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_walks_multiple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_limit_walks_single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_repetition_multiple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_repetition_single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_upto_multiple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_one_sided_ball_upto_single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_single_paths.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_single_walks.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_single_walks_undirected.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_repetition_multiple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_repetition_single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_upto_multiple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_two_sided_balls_upto_single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_usp_nsp_multiple.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tests/tests_usp_nsp_single.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/tree_agg.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/iterators.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/prefix_sum.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/paths/utilities/utilities.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/experimental/solvers.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/csv.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/loader.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/loaders/types.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/metagen.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/metamodel.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/rel.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/rel_emitter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/rel_utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/designs/query_builder/identify_by.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/benchmark_lqp.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/compilation_manager.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/devtools/extract_lqp.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/annotations.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/internal.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/internal/snowflake.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/README.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/builtins.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/compiler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/constructors.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/executor.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/intrinsics.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/ir.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/model2lqp.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/passes.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/pragmas.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/primitives.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/result_helpers.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/annotate_constraints.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/cdc.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/extract_common.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/extract_keys.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/function_annotations.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/functional_dependencies.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/quantify_vars.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/rewrite/splinter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/types.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/lqp/validators.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/builtins.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/compiler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/dataflow.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/dependency.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/executor.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/factory.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/helpers.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/ir.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/discharge_constraints.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/dnf_union_splitter.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/extract_nested_logicals.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/flatten.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/rewrite/format_outputs.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/typer/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/typer/checker.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/types.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/util.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/metamodel/visitor.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/experimental/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/README.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/core.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/design/beyond_demand_transform.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/graph/tests/README.md +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/common.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/solvers_dev.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/reasoners/optimization/solvers_pb.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/builtins.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/compiler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/executor.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/rel.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/rel/rel_utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/snowflake/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/compiler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/duck_db.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/result_helpers.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/executor/snowflake.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/denormalize.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/double_negation.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/recursive_union.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/rewrite/sort_output_query.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/sql/sql.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/constraints.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/datetime.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/decimals.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/floats.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/integers.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/math.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/pragmas.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/re.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/std.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/std/strings.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/logging.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/test_snapshot_abstract.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/test_snapshot_base.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/semantics/tests/utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/aggregates.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/dates.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/graphs.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/inspect.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/math.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/re.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/std/strings.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/cleanup_snapshots.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/cli_controls.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/constants.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/debugger.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/debugger_client.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/debugger_server.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/dev.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/notes +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/qb_debugger.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/query_utils.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/tools/snapshot_viewer.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/clean_up_databases.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/constants.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/format.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/graph.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/list_databases.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/otel_configuration.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/otel_handler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/snowflake_handler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/span_format_test.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/span_tracker.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/spans_file_handler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/timeout.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/util/tracing_handler.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai_test_util/__init__.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai_test_util/snapshot.py +0 -0
- {relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai_test_util/traceback.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = 'relationalai'
|
|
3
|
-
version = '0.13.
|
|
3
|
+
version = '0.13.2'
|
|
4
4
|
description = 'RelationalAI Library and CLI'
|
|
5
5
|
readme="docs/pypi/README.md"
|
|
6
6
|
authors = [
|
|
@@ -120,7 +120,7 @@ reportMissingImports = true
|
|
|
120
120
|
reportMissingTypeStubs = false
|
|
121
121
|
pythonVersion = "3.10"
|
|
122
122
|
venvPath = "."
|
|
123
|
-
venv = ".venv"
|
|
123
|
+
venv = ".venv/3.11"
|
|
124
124
|
typeCheckingMode = "standard"
|
|
125
125
|
reportUnusedExpression = false
|
|
126
126
|
|
|
@@ -164,11 +164,18 @@ class ResourcesBase(ABC):
|
|
|
164
164
|
pass
|
|
165
165
|
|
|
166
166
|
@abstractmethod
|
|
167
|
-
def list_engines(
|
|
167
|
+
def list_engines(
|
|
168
|
+
self,
|
|
169
|
+
state: str | None = None,
|
|
170
|
+
name: str | None = None,
|
|
171
|
+
type: str | None = None,
|
|
172
|
+
size: str | None = None,
|
|
173
|
+
created_by: str | None = None,
|
|
174
|
+
) -> List[Any]:
|
|
168
175
|
pass
|
|
169
176
|
|
|
170
177
|
@abstractmethod
|
|
171
|
-
def get_engine(self, name: str) -> EngineState | None:
|
|
178
|
+
def get_engine(self, name: str, type: str) -> EngineState | None:
|
|
172
179
|
pass
|
|
173
180
|
|
|
174
181
|
@abstractmethod
|
|
@@ -180,23 +187,31 @@ class ResourcesBase(ABC):
|
|
|
180
187
|
pass
|
|
181
188
|
|
|
182
189
|
@abstractmethod
|
|
183
|
-
def create_engine(
|
|
190
|
+
def create_engine(
|
|
191
|
+
self,
|
|
192
|
+
name: str,
|
|
193
|
+
type: str | None = None,
|
|
194
|
+
size: str | None = None,
|
|
195
|
+
auto_suspend_mins: int | None = None,
|
|
196
|
+
headers: Dict | None = None,
|
|
197
|
+
settings: dict | None = None,
|
|
198
|
+
) -> dict | None:
|
|
184
199
|
pass
|
|
185
200
|
|
|
186
201
|
@abstractmethod
|
|
187
|
-
def delete_engine(self, name:str,
|
|
202
|
+
def delete_engine(self, name:str, type: str) -> dict | None:
|
|
188
203
|
pass
|
|
189
204
|
|
|
190
205
|
@abstractmethod
|
|
191
|
-
def suspend_engine(self, name: str):
|
|
206
|
+
def suspend_engine(self, name: str, type: str | None = None):
|
|
192
207
|
pass
|
|
193
208
|
|
|
194
209
|
@abstractmethod
|
|
195
|
-
def resume_engine(self, name: str, headers: Dict | None = None) -> dict:
|
|
210
|
+
def resume_engine(self, name: str, type: str | None = None, headers: Dict | None = None) -> dict:
|
|
196
211
|
pass
|
|
197
212
|
|
|
198
213
|
@abstractmethod
|
|
199
|
-
def resume_engine_async(self, name: str) -> dict:
|
|
214
|
+
def resume_engine_async(self, name: str, type: str | None = None, headers: Dict | None = None) -> dict:
|
|
200
215
|
pass
|
|
201
216
|
|
|
202
217
|
@abstractmethod
|
|
@@ -210,7 +225,7 @@ class ResourcesBase(ABC):
|
|
|
210
225
|
return engine
|
|
211
226
|
|
|
212
227
|
@abstractmethod
|
|
213
|
-
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
228
|
+
def auto_create_engine_async(self, name: str | None = None, type: str | None = None) -> str:
|
|
214
229
|
pass
|
|
215
230
|
|
|
216
231
|
_active_engine: EngineState|None = None
|
|
@@ -428,14 +443,34 @@ class ProviderBase(ABC):
|
|
|
428
443
|
|
|
429
444
|
resources: ResourcesBase
|
|
430
445
|
|
|
431
|
-
def list_engines(
|
|
432
|
-
|
|
446
|
+
def list_engines(
|
|
447
|
+
self,
|
|
448
|
+
state: str | None = None,
|
|
449
|
+
name: str | None = None,
|
|
450
|
+
type: str | None = None,
|
|
451
|
+
size: str | None = None,
|
|
452
|
+
created_by: str | None = None,
|
|
453
|
+
):
|
|
454
|
+
return self.resources.list_engines(state=state, name=name, type=type, size=size, created_by=created_by)
|
|
433
455
|
|
|
434
|
-
def create_engine(
|
|
435
|
-
|
|
456
|
+
def create_engine(
|
|
457
|
+
self,
|
|
458
|
+
name: str,
|
|
459
|
+
type: str | None = None,
|
|
460
|
+
size: str | None = None,
|
|
461
|
+
auto_suspend_mins: int | None = None,
|
|
462
|
+
settings: dict | None = None,
|
|
463
|
+
):
|
|
464
|
+
return self.resources.create_engine(
|
|
465
|
+
name,
|
|
466
|
+
type=type,
|
|
467
|
+
size=size,
|
|
468
|
+
auto_suspend_mins=auto_suspend_mins,
|
|
469
|
+
settings=settings,
|
|
470
|
+
)
|
|
436
471
|
|
|
437
|
-
def delete_engine(self, name:str):
|
|
438
|
-
return self.resources.delete_engine(name)
|
|
472
|
+
def delete_engine(self, name:str, type: str = "LOGIC"):
|
|
473
|
+
return self.resources.delete_engine(name, type)
|
|
439
474
|
|
|
440
475
|
def get_transaction(self, transaction_id:str):
|
|
441
476
|
return self.resources.get_transaction(transaction_id)
|
|
@@ -172,10 +172,17 @@ class LocalResources(ResourcesBase):
|
|
|
172
172
|
def get_engine_sizes(self, cloud_provider: str | None = None):
|
|
173
173
|
raise NotImplementedError("get_engine_sizes not supported in local mode")
|
|
174
174
|
|
|
175
|
-
def list_engines(
|
|
175
|
+
def list_engines(
|
|
176
|
+
self,
|
|
177
|
+
state: str | None = None,
|
|
178
|
+
name: str | None = None,
|
|
179
|
+
type: str | None = None,
|
|
180
|
+
size: str | None = None,
|
|
181
|
+
created_by: str | None = None,
|
|
182
|
+
):
|
|
176
183
|
raise NotImplementedError("list_engines not supported in local mode")
|
|
177
184
|
|
|
178
|
-
def get_engine(self, name: str):
|
|
185
|
+
def get_engine(self, name: str, type: str):
|
|
179
186
|
raise NotImplementedError("get_engine not supported in local mode")
|
|
180
187
|
|
|
181
188
|
def get_cloud_provider(self) -> str:
|
|
@@ -184,25 +191,33 @@ class LocalResources(ResourcesBase):
|
|
|
184
191
|
def is_valid_engine_state(self, name: str) -> bool:
|
|
185
192
|
raise NotImplementedError("is_valid_engine_state not supported in local mode")
|
|
186
193
|
|
|
187
|
-
def create_engine(
|
|
194
|
+
def create_engine(
|
|
195
|
+
self,
|
|
196
|
+
name: str,
|
|
197
|
+
type: str | None = None,
|
|
198
|
+
size: str | None = None,
|
|
199
|
+
auto_suspend_mins: int | None = None,
|
|
200
|
+
headers: dict | None = None,
|
|
201
|
+
settings: dict | None = None,
|
|
202
|
+
):
|
|
188
203
|
raise NotImplementedError("create_engine not supported in local mode")
|
|
189
204
|
|
|
190
|
-
def delete_engine(self, name: str,
|
|
205
|
+
def delete_engine(self, name: str, type: str):
|
|
191
206
|
raise NotImplementedError("delete_engine not supported in local mode")
|
|
192
207
|
|
|
193
|
-
def suspend_engine(self, name: str):
|
|
208
|
+
def suspend_engine(self, name: str, type: str | None = None):
|
|
194
209
|
raise NotImplementedError("suspend_engine not supported in local mode")
|
|
195
210
|
|
|
196
|
-
def resume_engine(self, name: str, headers: Dict | None = None):
|
|
211
|
+
def resume_engine(self, name: str, type: str | None = None, headers: Dict | None = None):
|
|
197
212
|
raise NotImplementedError("resume_engine not supported in local mode")
|
|
198
213
|
|
|
199
|
-
def resume_engine_async(self, name: str):
|
|
214
|
+
def resume_engine_async(self, name: str, type: str | None = None, headers: Dict | None = None):
|
|
200
215
|
raise NotImplementedError("resume_engine_async not supported in local mode")
|
|
201
216
|
|
|
202
217
|
def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
|
|
203
218
|
raise NotImplementedError("alter_engine_pool not supported in local mode")
|
|
204
219
|
|
|
205
|
-
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
220
|
+
def auto_create_engine_async(self, name: str | None = None, type: str | None = None) -> str:
|
|
206
221
|
raise NotImplementedError("auto_create_engine_async not supported in local mode")
|
|
207
222
|
|
|
208
223
|
#--------------------------------------------------
|
{relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/azure/azure.py
RENAMED
|
@@ -78,34 +78,59 @@ class Resources(ResourcesBase):
|
|
|
78
78
|
def get_cloud_provider(self) -> str:
|
|
79
79
|
return "azure"
|
|
80
80
|
|
|
81
|
-
def list_engines(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
def list_engines(
|
|
82
|
+
self,
|
|
83
|
+
state: str | None = None,
|
|
84
|
+
name: str | None = None,
|
|
85
|
+
type: str | None = None,
|
|
86
|
+
size: str | None = None,
|
|
87
|
+
created_by: str | None = None,
|
|
88
|
+
):
|
|
89
|
+
# Azure only supports state filtering at the API level; other filters are ignored.
|
|
90
|
+
engines = api.list_engines(self._api_ctx(), state)
|
|
91
|
+
# Ensure EngineState shape includes 'type' for callers/tests.
|
|
92
|
+
for eng in engines:
|
|
93
|
+
eng.setdefault("type", "LOGIC")
|
|
94
|
+
return engines
|
|
95
|
+
|
|
96
|
+
def get_engine(self, name: str, type: str) -> EngineState:
|
|
97
|
+
# type is ignored for Azure as it doesn't support multiple engine types
|
|
98
|
+
engine = cast(EngineState, api.get_engine(self._api_ctx(), name))
|
|
99
|
+
engine.setdefault("type", "LOGIC")
|
|
100
|
+
return engine
|
|
86
101
|
|
|
87
102
|
def is_valid_engine_state(self, name:str):
|
|
88
103
|
return name in VALID_ENGINE_STATES
|
|
89
104
|
|
|
90
|
-
def create_engine(
|
|
105
|
+
def create_engine(
|
|
106
|
+
self,
|
|
107
|
+
name: str,
|
|
108
|
+
type: str | None = None,
|
|
109
|
+
size: str | None = None,
|
|
110
|
+
auto_suspend_mins: int | None = None,
|
|
111
|
+
headers: dict | None = None,
|
|
112
|
+
settings: dict | None = None,
|
|
113
|
+
):
|
|
114
|
+
# Azure only supports one engine type, so type parameter is ignored
|
|
91
115
|
if size is None:
|
|
92
116
|
size = "M"
|
|
93
117
|
with debugging.span("create_engine", name=name, size=size):
|
|
94
118
|
return api.create_engine_wait(self._api_ctx(), name, size)
|
|
95
119
|
|
|
96
|
-
def delete_engine(self, name:str,
|
|
120
|
+
def delete_engine(self, name:str, type: str):
|
|
97
121
|
return api.delete_engine(self._api_ctx(), name)
|
|
98
122
|
|
|
99
|
-
def suspend_engine(self, name:str):
|
|
123
|
+
def suspend_engine(self, name:str, type: str | None = None): # type is ignored for Azure
|
|
100
124
|
return api.suspend_engine(self._api_ctx(), name)
|
|
101
125
|
|
|
102
|
-
def resume_engine(self, name:str, headers={}):
|
|
126
|
+
def resume_engine(self, name:str, type: str | None = None, headers={}):
|
|
127
|
+
# type is ignored for Azure as it doesn't support multiple engine types
|
|
103
128
|
return api.resume_engine_wait(self._api_ctx(), name)
|
|
104
129
|
|
|
105
|
-
def resume_engine_async(self, name:str):
|
|
130
|
+
def resume_engine_async(self, name:str, type: str | None = None, headers: Dict | None = None):
|
|
106
131
|
return api.resume_engine(self._api_ctx(), name)
|
|
107
132
|
|
|
108
|
-
def auto_create_engine_async(self, name: str | None = None) -> str:
|
|
133
|
+
def auto_create_engine_async(self, name: str | None = None, type: str | None = None) -> str:
|
|
109
134
|
raise Exception("Azure doesn't support auto_create_engine_async")
|
|
110
135
|
|
|
111
136
|
def alter_engine_pool(self, size: str | None = None, mins: int | None = None, maxs: int | None = None):
|
{relationalai-0.13.1 → relationalai-0.13.2}/src/relationalai/clients/resources/snowflake/__init__.py
RENAMED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Snowflake resources module.
|
|
3
3
|
"""
|
|
4
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,
|
|
6
|
-
|
|
5
|
+
from .snowflake import Resources, Provider, Graph, SnowflakeClient, APP_NAME, PYREL_ROOT_DB, ExecContext, PrimaryKey, PRINT_TXN_PROGRESS_FLAG
|
|
6
|
+
from .engine_service import EngineType, INTERNAL_ENGINE_SIZES, ENGINE_SIZES_AWS, ENGINE_SIZES_AZURE
|
|
7
7
|
# These imports depend on Resources, so they come after
|
|
8
8
|
from .cli_resources import CLIResources
|
|
9
9
|
from .use_index_resources import UseIndexResources
|
|
@@ -12,7 +12,7 @@ from .resources_factory import create_resources_instance
|
|
|
12
12
|
|
|
13
13
|
__all__ = [
|
|
14
14
|
'Resources', 'DirectAccessResources', 'Provider', 'Graph', 'SnowflakeClient',
|
|
15
|
-
'APP_NAME', 'PYREL_ROOT_DB', 'CLIResources', 'UseIndexResources', 'ExecContext',
|
|
15
|
+
'APP_NAME', 'PYREL_ROOT_DB', 'CLIResources', 'UseIndexResources', 'ExecContext', 'EngineType',
|
|
16
16
|
'INTERNAL_ENGINE_SIZES', 'ENGINE_SIZES_AWS', 'ENGINE_SIZES_AZURE', 'PrimaryKey',
|
|
17
17
|
'PRINT_TXN_PROGRESS_FLAG', 'create_resources_instance',
|
|
18
18
|
]
|
|
@@ -11,6 +11,7 @@ from ....tools.constants import RAI_APP_NAME
|
|
|
11
11
|
# Import Resources from snowflake - this creates a dependency but no circular import
|
|
12
12
|
# since snowflake.py doesn't import from this file
|
|
13
13
|
from .snowflake import Resources, ExecContext
|
|
14
|
+
from .error_handlers import AppMissingErrorHandler, AppFunctionMissingErrorHandler, ServiceNotStartedErrorHandler
|
|
14
15
|
|
|
15
16
|
|
|
16
17
|
class CLIResources(Resources):
|
|
@@ -20,7 +21,17 @@ class CLIResources(Resources):
|
|
|
20
21
|
"""
|
|
21
22
|
|
|
22
23
|
def _handle_standard_exec_errors(self, e: Exception, ctx: ExecContext) -> Any | None:
|
|
23
|
-
"""
|
|
24
|
+
"""
|
|
25
|
+
For CLI resources, keep exceptions raw except for few specific cases.
|
|
26
|
+
"""
|
|
27
|
+
message = str(e).lower()
|
|
28
|
+
for handler in (
|
|
29
|
+
ServiceNotStartedErrorHandler(),
|
|
30
|
+
AppMissingErrorHandler(),
|
|
31
|
+
AppFunctionMissingErrorHandler(),
|
|
32
|
+
):
|
|
33
|
+
if handler.matches(e, message, ctx, self):
|
|
34
|
+
handler.handle(e, ctx, self)
|
|
24
35
|
raise e
|
|
25
36
|
|
|
26
37
|
def list_warehouses(self):
|
|
@@ -513,7 +513,14 @@ class DirectAccessResources(UseIndexResources):
|
|
|
513
513
|
# Engines
|
|
514
514
|
#--------------------------------------------------
|
|
515
515
|
|
|
516
|
-
def list_engines(
|
|
516
|
+
def list_engines(
|
|
517
|
+
self,
|
|
518
|
+
state: str | None = None,
|
|
519
|
+
name: str | None = None,
|
|
520
|
+
type: str | None = None,
|
|
521
|
+
size: str | None = None,
|
|
522
|
+
created_by: str | None = None,
|
|
523
|
+
):
|
|
517
524
|
response = self.request("list_engines")
|
|
518
525
|
if response.status_code != 200:
|
|
519
526
|
raise ResponseStatusException(
|
|
@@ -526,19 +533,31 @@ class DirectAccessResources(UseIndexResources):
|
|
|
526
533
|
{
|
|
527
534
|
"name": engine["name"],
|
|
528
535
|
"id": engine["id"],
|
|
536
|
+
"type": engine.get("type", "LOGIC"),
|
|
529
537
|
"size": engine["size"],
|
|
530
538
|
"state": engine["status"], # callers are expecting 'state'
|
|
531
539
|
"created_by": engine["created_by"],
|
|
532
540
|
"created_on": engine["created_on"],
|
|
533
541
|
"updated_on": engine["updated_on"],
|
|
542
|
+
# Optional fields (present in newer APIs / service-functions path)
|
|
543
|
+
"auto_suspend_mins": engine.get("auto_suspend_mins"),
|
|
544
|
+
"suspends_at": engine.get("suspends_at"),
|
|
545
|
+
"settings": engine.get("settings"),
|
|
534
546
|
}
|
|
535
547
|
for engine in response_content.get("engines", [])
|
|
536
|
-
if state is None or engine.get("status") == state
|
|
548
|
+
if (state is None or engine.get("status") == state)
|
|
549
|
+
and (name is None or name.upper() in engine.get("name", "").upper())
|
|
550
|
+
and (type is None or engine.get("type", "LOGIC").upper() == type.upper())
|
|
551
|
+
and (size is None or engine.get("size") == size)
|
|
552
|
+
and (created_by is None or created_by.upper() in engine.get("created_by", "").upper())
|
|
537
553
|
]
|
|
538
554
|
return sorted(engines, key=lambda x: x["name"])
|
|
539
555
|
|
|
540
|
-
def get_engine(self, name: str):
|
|
541
|
-
|
|
556
|
+
def get_engine(self, name: str, type: str):
|
|
557
|
+
if type is None:
|
|
558
|
+
raise Exception("Engine type is required. Valid types are: LOGIC, SOLVER, ML")
|
|
559
|
+
engine_type_lower = type.lower()
|
|
560
|
+
response = self.request("get_engine", path_params={"engine_name": name, "engine_type": engine_type_lower}, skip_auto_create=True)
|
|
542
561
|
if response.status_code == 404: # engine not found return 404
|
|
543
562
|
return None
|
|
544
563
|
elif response.status_code != 200:
|
|
@@ -552,6 +571,7 @@ class DirectAccessResources(UseIndexResources):
|
|
|
552
571
|
"name": engine["name"],
|
|
553
572
|
"id": engine["id"],
|
|
554
573
|
"size": engine["size"],
|
|
574
|
+
"type": engine.get("type", type),
|
|
555
575
|
"state": engine["status"], # callers are expecting 'state'
|
|
556
576
|
"created_by": engine["created_by"],
|
|
557
577
|
"created_on": engine["created_on"],
|
|
@@ -559,31 +579,47 @@ class DirectAccessResources(UseIndexResources):
|
|
|
559
579
|
"version": engine["version"],
|
|
560
580
|
"auto_suspend": engine["auto_suspend_mins"],
|
|
561
581
|
"suspends_at": engine["suspends_at"],
|
|
582
|
+
"settings": engine.get("settings"),
|
|
562
583
|
}
|
|
563
584
|
return engine_state
|
|
564
585
|
|
|
565
586
|
def _create_engine(
|
|
566
587
|
self,
|
|
567
588
|
name: str,
|
|
589
|
+
type: str = "LOGIC",
|
|
568
590
|
size: str | None = None,
|
|
569
591
|
auto_suspend_mins: int | None = None,
|
|
570
592
|
is_async: bool = False,
|
|
571
|
-
headers: Dict[str, str] | None = None
|
|
593
|
+
headers: Dict[str, str] | None = None,
|
|
594
|
+
settings: Dict[str, Any] | None = None,
|
|
572
595
|
):
|
|
573
596
|
# only async engine creation supported via direct access
|
|
574
597
|
if not is_async:
|
|
575
|
-
return super()._create_engine(
|
|
598
|
+
return super()._create_engine(
|
|
599
|
+
name,
|
|
600
|
+
type=type,
|
|
601
|
+
size=size,
|
|
602
|
+
auto_suspend_mins=auto_suspend_mins,
|
|
603
|
+
is_async=is_async,
|
|
604
|
+
headers=headers,
|
|
605
|
+
settings=settings,
|
|
606
|
+
)
|
|
607
|
+
engine_type_lower = type.lower()
|
|
576
608
|
payload:Dict[str, Any] = {
|
|
577
609
|
"name": name,
|
|
578
610
|
}
|
|
611
|
+
# Allow passing arbitrary engine settings (API-dependent).
|
|
612
|
+
if settings:
|
|
613
|
+
payload["settings"] = settings
|
|
579
614
|
if auto_suspend_mins is not None:
|
|
580
615
|
payload["auto_suspend_mins"] = auto_suspend_mins
|
|
581
|
-
if size is
|
|
582
|
-
|
|
616
|
+
if size is None:
|
|
617
|
+
size = self.config.get_default_engine_size()
|
|
618
|
+
payload["size"] = size
|
|
583
619
|
response = self.request(
|
|
584
620
|
"create_engine",
|
|
585
621
|
payload=payload,
|
|
586
|
-
path_params={"engine_type":
|
|
622
|
+
path_params={"engine_type": engine_type_lower},
|
|
587
623
|
headers=headers,
|
|
588
624
|
skip_auto_create=True,
|
|
589
625
|
)
|
|
@@ -592,11 +628,11 @@ class DirectAccessResources(UseIndexResources):
|
|
|
592
628
|
f"Failed to create engine {name} with size {size}.", response
|
|
593
629
|
)
|
|
594
630
|
|
|
595
|
-
def delete_engine(self, name:str,
|
|
631
|
+
def delete_engine(self, name: str, type: str):
|
|
596
632
|
response = self.request(
|
|
597
633
|
"delete_engine",
|
|
598
|
-
path_params={"engine_name": name, "engine_type":
|
|
599
|
-
headers=
|
|
634
|
+
path_params={"engine_name": name, "engine_type": type.lower()},
|
|
635
|
+
headers={},
|
|
600
636
|
skip_auto_create=True,
|
|
601
637
|
)
|
|
602
638
|
if response.status_code != 200:
|
|
@@ -604,10 +640,12 @@ class DirectAccessResources(UseIndexResources):
|
|
|
604
640
|
f"Failed to delete engine {name}.", response
|
|
605
641
|
)
|
|
606
642
|
|
|
607
|
-
def suspend_engine(self, name:str):
|
|
643
|
+
def suspend_engine(self, name: str, type: str | None = None):
|
|
644
|
+
if type is None:
|
|
645
|
+
type = "LOGIC"
|
|
608
646
|
response = self.request(
|
|
609
647
|
"suspend_engine",
|
|
610
|
-
path_params={"engine_name": name, "engine_type":
|
|
648
|
+
path_params={"engine_name": name, "engine_type": type.lower()},
|
|
611
649
|
skip_auto_create=True,
|
|
612
650
|
)
|
|
613
651
|
if response.status_code != 200:
|
|
@@ -615,11 +653,13 @@ class DirectAccessResources(UseIndexResources):
|
|
|
615
653
|
f"Failed to suspend engine {name}.", response
|
|
616
654
|
)
|
|
617
655
|
|
|
618
|
-
def resume_engine_async(self, name:str, headers=
|
|
656
|
+
def resume_engine_async(self, name: str, type: str | None = None, headers: Dict | None = None):
|
|
657
|
+
if type is None:
|
|
658
|
+
type = "LOGIC"
|
|
619
659
|
response = self.request(
|
|
620
660
|
"resume_engine",
|
|
621
|
-
path_params={"engine_name": name, "engine_type":
|
|
622
|
-
headers=headers,
|
|
661
|
+
path_params={"engine_name": name, "engine_type": type.lower()},
|
|
662
|
+
headers=headers or {},
|
|
623
663
|
skip_auto_create=True,
|
|
624
664
|
)
|
|
625
665
|
if response.status_code != 200:
|