corvic-engine 0.3.0rc85__tar.gz → 0.3.0rc86__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.
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/Cargo.lock +2 -2
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/Cargo.toml +1 -1
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/PKG-INFO +1 -1
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/pyproject.toml +2 -2
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_base_model.py +2 -3
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_completion_model.py +2 -4
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_feature_view.py +2 -2
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_pipeline.py +2 -2
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_proto_orm_convert.py +15 -15
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_resource.py +2 -2
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_source.py +2 -2
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_space.py +2 -2
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/__init__.py +2 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/_soft_delete.py +12 -3
- corvic_engine-0.3.0rc86/python/corvic/orm/errors.py +54 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/transfer/_orm_backed_proto.py +6 -22
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2.py +11 -5
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2.pyi +12 -0
- corvic_engine-0.3.0rc85/python/corvic/orm/errors.py +0 -18
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/LICENSE +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/README.md +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/Cargo.toml +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/context/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/context/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/embed/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/embed/node2vec.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/embed/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/embedding_metric/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/embedding_metric/embeddings.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/embedding_metric/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_defaults.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_errors.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_feature_type.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_room.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/engine/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/engine/_native.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/engine/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/eorm/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/_schema.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/_transformations.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/aggregation.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/encoders.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/errors.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/feature_types.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/ops.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/row_filters/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/row_filters/_jsonlogic.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/row_filters/_row_filters.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/sample_strategy.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/_proto_columns.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/func/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/func/utc_func.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/func/uuid_func.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/ids.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/keys.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/orm/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_const.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_from_value.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_temporal.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_to_value.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_types.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/_errors.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/_wrappers.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/result/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/result/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/sql/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/sql/parse_ops.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/sql/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/_column_encoding.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/_dimension_reduction.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/_embedder.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/_image_embedder.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/_planner.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/_text_embedder.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/client.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/in_memory_executor.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/op_graph_executor.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/staging.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system/storage.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/client.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/fs_blob_store.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/rdbms_blob_store.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/staging.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/table/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/table/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/table/table.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/transfer/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/transfer/_common_transformations.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/transfer/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/version/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/version/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/well_known_types/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/well_known_types/py.typed +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/service_pb2_grpc.pyi +0 -0
@@ -16,7 +16,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
16
16
|
|
17
17
|
[[package]]
|
18
18
|
name = "corvic-engine"
|
19
|
-
version = "0.3.0-rc.
|
19
|
+
version = "0.3.0-rc.86"
|
20
20
|
dependencies = [
|
21
21
|
"numpy",
|
22
22
|
"pyo3",
|
@@ -57,7 +57,7 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
|
57
57
|
|
58
58
|
[[package]]
|
59
59
|
name = "engine-walk"
|
60
|
-
version = "0.3.0-rc.
|
60
|
+
version = "0.3.0-rc.86"
|
61
61
|
dependencies = [
|
62
62
|
"version_check",
|
63
63
|
]
|
@@ -18,7 +18,7 @@ authors = [
|
|
18
18
|
]
|
19
19
|
readme = "README.md"
|
20
20
|
description = "Seamless embedding generation and retrieval."
|
21
|
-
version = "0.3.0-rc.
|
21
|
+
version = "0.3.0-rc.86" # sync this with tool.poetry.version below
|
22
22
|
|
23
23
|
# TODO(ddn): Pull dependencies from tool.poetry.dependencies. We use maturin as
|
24
24
|
# the build system but poetry for the development environment.
|
@@ -73,7 +73,7 @@ packages = [
|
|
73
73
|
]
|
74
74
|
description = ""
|
75
75
|
authors = []
|
76
|
-
version = "0.3.0-rc.
|
76
|
+
version = "0.3.0-rc.86"
|
77
77
|
|
78
78
|
[tool.poetry.scripts]
|
79
79
|
check = "corvic_check.cli:main"
|
@@ -3,7 +3,6 @@ from collections.abc import Callable, Iterable
|
|
3
3
|
from typing import Generic
|
4
4
|
|
5
5
|
import sqlalchemy as sa
|
6
|
-
import sqlalchemy.orm as sa_orm
|
7
6
|
|
8
7
|
from corvic import eorm, system, transfer
|
9
8
|
from corvic.emodel._proto_orm_convert import (
|
@@ -59,7 +58,7 @@ class OrmBackedModel(
|
|
59
58
|
[sa.Select[tuple[transfer.OrmT]]], sa.Select[tuple[transfer.OrmT]]
|
60
59
|
]
|
61
60
|
| None = None,
|
62
|
-
existing_session:
|
61
|
+
existing_session: eorm.Session | None = None,
|
63
62
|
) -> Ok[list[transfer.ProtoT]] | NotFoundError | InvalidArgumentError:
|
64
63
|
return super().list_as_proto(
|
65
64
|
client,
|
@@ -91,7 +90,7 @@ class HasIdOrmBackedModel(
|
|
91
90
|
[sa.Select[tuple[transfer.OrmHasIdT]]], sa.Select[tuple[transfer.OrmHasIdT]]
|
92
91
|
]
|
93
92
|
| None = None,
|
94
|
-
existing_session:
|
93
|
+
existing_session: eorm.Session | None = None,
|
95
94
|
) -> Ok[list[transfer.ProtoHasIdT]] | NotFoundError | InvalidArgumentError:
|
96
95
|
return super().list_as_proto(
|
97
96
|
client,
|
{corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_completion_model.py
RENAMED
@@ -7,8 +7,6 @@ import datetime
|
|
7
7
|
from collections.abc import Iterable, Sequence
|
8
8
|
from typing import Literal, TypeAlias
|
9
9
|
|
10
|
-
from sqlalchemy import orm as sa_orm
|
11
|
-
|
12
10
|
from corvic import eorm, system, transfer
|
13
11
|
from corvic.emodel._base_model import OrgWideStandardModel
|
14
12
|
from corvic.emodel._defaults import Defaults
|
@@ -151,7 +149,7 @@ class CompletionModel(
|
|
151
149
|
created_before: datetime.datetime | None = None,
|
152
150
|
client: system.Client | None = None,
|
153
151
|
ids: Iterable[CompletionModelID] | None = None,
|
154
|
-
existing_session:
|
152
|
+
existing_session: eorm.Session | None = None,
|
155
153
|
) -> Ok[list[CompletionModel]] | NotFoundError | InvalidArgumentError:
|
156
154
|
"""List completion models."""
|
157
155
|
client = client or Defaults.get_default_client()
|
@@ -179,7 +177,7 @@ class CompletionModel(
|
|
179
177
|
cls,
|
180
178
|
completion_model_id: CompletionModelID,
|
181
179
|
client: system.Client | None = None,
|
182
|
-
session:
|
180
|
+
session: eorm.Session | None = None,
|
183
181
|
) -> Ok[CompletionModel] | NotFoundError:
|
184
182
|
client = client or Defaults.get_default_client()
|
185
183
|
return cls.load_proto_for(completion_model_id, client, session).map(
|
@@ -691,7 +691,7 @@ class FeatureView(
|
|
691
691
|
cls,
|
692
692
|
feature_view_id: FeatureViewID,
|
693
693
|
client: system.Client | None = None,
|
694
|
-
session:
|
694
|
+
session: eorm.Session | None = None,
|
695
695
|
) -> Ok[Self] | NotFoundError:
|
696
696
|
client = client or Defaults.get_default_client()
|
697
697
|
return cls.load_proto_for(feature_view_id, client, session).map(
|
@@ -723,7 +723,7 @@ class FeatureView(
|
|
723
723
|
created_before: datetime.datetime | None = None,
|
724
724
|
client: system.Client | None = None,
|
725
725
|
ids: Iterable[FeatureViewID] | None = None,
|
726
|
-
existing_session:
|
726
|
+
existing_session: eorm.Session | None = None,
|
727
727
|
) -> Ok[list[FeatureView]] | NotFoundError | InvalidArgumentError:
|
728
728
|
"""List resources."""
|
729
729
|
client = client or Defaults.get_default_client()
|
@@ -100,7 +100,7 @@ class Pipeline(StandardModel[PipelineID, models_pb2.Pipeline, eorm.Pipeline]):
|
|
100
100
|
cls,
|
101
101
|
obj_id: PipelineID,
|
102
102
|
client: system.Client | None = None,
|
103
|
-
session:
|
103
|
+
session: eorm.Session | None = None,
|
104
104
|
) -> Ok[SpecificPipeline] | NotFoundError:
|
105
105
|
client = client or Defaults.get_default_client()
|
106
106
|
match cls.list_as_proto(
|
@@ -134,7 +134,7 @@ class Pipeline(StandardModel[PipelineID, models_pb2.Pipeline, eorm.Pipeline]):
|
|
134
134
|
created_before: datetime.datetime | None = None,
|
135
135
|
client: system.Client | None = None,
|
136
136
|
ids: Iterable[PipelineID] | None = None,
|
137
|
-
existing_session:
|
137
|
+
existing_session: eorm.Session | None = None,
|
138
138
|
) -> Ok[list[SpecificPipeline]] | InvalidArgumentError | NotFoundError:
|
139
139
|
client = client or Defaults.get_default_client()
|
140
140
|
|
{corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_proto_orm_convert.py
RENAMED
@@ -231,7 +231,7 @@ def add_orm_org_mixin_to_session(
|
|
231
231
|
orm_obj: OrmHasIdBelongsToOrgT,
|
232
232
|
proto_obj: _ModelHasIdBelongsToOrgProto,
|
233
233
|
id_class: type[transfer.OrmIdT],
|
234
|
-
session:
|
234
|
+
session: eorm.Session,
|
235
235
|
) -> Ok[OrmHasIdBelongsToOrgT] | orm.InvalidORMIdentifierError:
|
236
236
|
match transfer.translate_orm_id(proto_obj.id, id_class):
|
237
237
|
case Ok(orm_id):
|
@@ -257,7 +257,7 @@ def add_orm_room_mixin_to_session(
|
|
257
257
|
orm_obj: OrmHasIdBelongsToRoomT,
|
258
258
|
proto_obj: _ModelHasIdBelongsToRoomProto,
|
259
259
|
id_class: type[transfer.OrmIdT],
|
260
|
-
session:
|
260
|
+
session: eorm.Session,
|
261
261
|
) -> Ok[OrmHasIdBelongsToRoomT] | orm.InvalidORMIdentifierError:
|
262
262
|
room_id = eorm.RoomID(proto_obj.room_id)
|
263
263
|
match room_id.to_db():
|
@@ -270,7 +270,7 @@ def add_orm_room_mixin_to_session(
|
|
270
270
|
|
271
271
|
|
272
272
|
def _resource_pipeline_to_orm(
|
273
|
-
proto_obj: models_pb2.Resource, orm_obj: eorm.Resource, session:
|
273
|
+
proto_obj: models_pb2.Resource, orm_obj: eorm.Resource, session: eorm.Session
|
274
274
|
) -> Ok[None] | InvalidArgumentError:
|
275
275
|
if proto_obj.pipeline_id:
|
276
276
|
match transfer.translate_orm_id(proto_obj.pipeline_id, eorm.PipelineID):
|
@@ -296,7 +296,7 @@ def _resource_pipeline_to_orm(
|
|
296
296
|
|
297
297
|
|
298
298
|
def resource_proto_to_orm(
|
299
|
-
proto_obj: models_pb2.Resource, session:
|
299
|
+
proto_obj: models_pb2.Resource, session: eorm.Session
|
300
300
|
) -> Ok[eorm.Resource] | InvalidArgumentError:
|
301
301
|
orm_obj = eorm.Resource(
|
302
302
|
name=proto_obj.name,
|
@@ -321,11 +321,11 @@ def resource_proto_to_orm(
|
|
321
321
|
def _ensure_id(
|
322
322
|
proto_obj: transfer.ProtoHasIdT,
|
323
323
|
proto_to_orm: Callable[
|
324
|
-
[transfer.ProtoHasIdT,
|
324
|
+
[transfer.ProtoHasIdT, eorm.Session],
|
325
325
|
Ok[transfer.OrmHasIdT] | InvalidArgumentError,
|
326
326
|
],
|
327
327
|
id_type: type[transfer.OrmIdT],
|
328
|
-
session:
|
328
|
+
session: eorm.Session,
|
329
329
|
) -> Ok[transfer.OrmIdT] | orm.InvalidORMIdentifierError | InvalidArgumentError:
|
330
330
|
match transfer.translate_orm_id(proto_obj.id, id_type):
|
331
331
|
case orm.InvalidORMIdentifierError() as err:
|
@@ -344,7 +344,7 @@ def _ensure_id(
|
|
344
344
|
|
345
345
|
|
346
346
|
def pipeline_proto_to_orm( # noqa: C901
|
347
|
-
proto_obj: models_pb2.Pipeline, session:
|
347
|
+
proto_obj: models_pb2.Pipeline, session: eorm.Session
|
348
348
|
) -> Ok[eorm.Pipeline] | orm.InvalidORMIdentifierError | InvalidArgumentError:
|
349
349
|
orm_obj = eorm.Pipeline(
|
350
350
|
name=proto_obj.name,
|
@@ -389,7 +389,7 @@ def pipeline_proto_to_orm( # noqa: C901
|
|
389
389
|
|
390
390
|
|
391
391
|
def source_proto_to_orm(
|
392
|
-
proto_obj: models_pb2.Source, session:
|
392
|
+
proto_obj: models_pb2.Source, session: eorm.Session
|
393
393
|
) -> Ok[eorm.Source] | orm.InvalidORMIdentifierError | InvalidArgumentError:
|
394
394
|
orm_obj = eorm.Source(
|
395
395
|
name=proto_obj.name,
|
@@ -399,7 +399,7 @@ def source_proto_to_orm(
|
|
399
399
|
|
400
400
|
|
401
401
|
def space_proto_to_orm(
|
402
|
-
proto_obj: models_pb2.Space, session:
|
402
|
+
proto_obj: models_pb2.Space, session: eorm.Session
|
403
403
|
) -> Ok[eorm.Space] | orm.InvalidORMIdentifierError | InvalidArgumentError:
|
404
404
|
match _ensure_id(
|
405
405
|
proto_obj.feature_view, feature_view_proto_to_orm, eorm.FeatureViewID, session
|
@@ -423,7 +423,7 @@ def space_proto_to_orm(
|
|
423
423
|
|
424
424
|
|
425
425
|
def feature_view_proto_to_orm(
|
426
|
-
proto_obj: models_pb2.FeatureView, session:
|
426
|
+
proto_obj: models_pb2.FeatureView, session: eorm.Session
|
427
427
|
) -> Ok[eorm.FeatureView] | orm.InvalidORMIdentifierError | InvalidArgumentError:
|
428
428
|
orm_obj = eorm.FeatureView(
|
429
429
|
name=proto_obj.name,
|
@@ -493,7 +493,7 @@ def _feature_view_source_proto_to_orm(
|
|
493
493
|
proto_obj: models_pb2.FeatureViewSource,
|
494
494
|
room_id: eorm.RoomID,
|
495
495
|
feature_view_id: eorm.FeatureViewID,
|
496
|
-
session:
|
496
|
+
session: eorm.Session,
|
497
497
|
) -> Ok[eorm.FeatureViewSource] | orm.InvalidORMIdentifierError | InvalidArgumentError:
|
498
498
|
match _ensure_id(proto_obj.source, source_proto_to_orm, eorm.SourceID, session):
|
499
499
|
case orm.InvalidORMIdentifierError() | InvalidArgumentError() as err:
|
@@ -514,14 +514,14 @@ def _feature_view_source_proto_to_orm(
|
|
514
514
|
|
515
515
|
|
516
516
|
def room_proto_to_orm(
|
517
|
-
proto_obj: models_pb2.Room, session:
|
517
|
+
proto_obj: models_pb2.Room, session: eorm.Session
|
518
518
|
) -> Ok[eorm.Room] | orm.InvalidORMIdentifierError | InvalidArgumentError:
|
519
519
|
orm_obj = eorm.Room(name=proto_obj.name)
|
520
520
|
return add_orm_org_mixin_to_session(orm_obj, proto_obj, eorm.RoomID, session)
|
521
521
|
|
522
522
|
|
523
523
|
def completion_model_proto_to_orm(
|
524
|
-
proto_obj: models_pb2.CompletionModel, session:
|
524
|
+
proto_obj: models_pb2.CompletionModel, session: eorm.Session
|
525
525
|
) -> Ok[eorm.CompletionModel] | InvalidArgumentError:
|
526
526
|
orm_obj = eorm.CompletionModel(
|
527
527
|
name=proto_obj.name,
|
@@ -538,7 +538,7 @@ def completion_model_proto_to_orm(
|
|
538
538
|
|
539
539
|
def source_delete_orms(
|
540
540
|
orm_ids: Sequence[eorm.SourceID],
|
541
|
-
session:
|
541
|
+
session: eorm.Session,
|
542
542
|
) -> Ok[None] | InvalidArgumentError:
|
543
543
|
feat_view_refs = list(
|
544
544
|
session.scalars(
|
@@ -557,7 +557,7 @@ def source_delete_orms(
|
|
557
557
|
|
558
558
|
|
559
559
|
def pipeline_delete_orms(
|
560
|
-
ids: Sequence[eorm.PipelineID], session:
|
560
|
+
ids: Sequence[eorm.PipelineID], session: eorm.Session
|
561
561
|
) -> Ok[None] | InvalidArgumentError:
|
562
562
|
source_ids = [
|
563
563
|
val[0]
|
@@ -135,7 +135,7 @@ class Resource(StandardModel[ResourceID, models_pb2.Resource, eorm.Resource]):
|
|
135
135
|
client: system.Client | None = None,
|
136
136
|
ids: Iterable[ResourceID] | None = None,
|
137
137
|
is_terminal: bool | None = None,
|
138
|
-
existing_session:
|
138
|
+
existing_session: eorm.Session | None = None,
|
139
139
|
url: str | None = None,
|
140
140
|
) -> Ok[list[Resource]] | NotFoundError | InvalidArgumentError:
|
141
141
|
"""List resources."""
|
@@ -192,7 +192,7 @@ class Resource(StandardModel[ResourceID, models_pb2.Resource, eorm.Resource]):
|
|
192
192
|
cls,
|
193
193
|
resource_id: ResourceID,
|
194
194
|
client: system.Client | None = None,
|
195
|
-
session:
|
195
|
+
session: eorm.Session | None = None,
|
196
196
|
) -> Ok[Resource] | NotFoundError:
|
197
197
|
client = client or Defaults.get_default_client()
|
198
198
|
return cls.load_proto_for(resource_id, client, session).map(
|
@@ -83,7 +83,7 @@ class Source(StandardModel[SourceID, models_pb2.Source, eorm.Source]):
|
|
83
83
|
cls,
|
84
84
|
source_id: SourceID,
|
85
85
|
client: system.Client | None = None,
|
86
|
-
session:
|
86
|
+
session: eorm.Session | None = None,
|
87
87
|
) -> Ok[Self] | NotFoundError:
|
88
88
|
client = client or Defaults.get_default_client()
|
89
89
|
return cls.load_proto_for(source_id, client, session).map(
|
@@ -212,7 +212,7 @@ class Source(StandardModel[SourceID, models_pb2.Source, eorm.Source]):
|
|
212
212
|
created_before: datetime.datetime | None = None,
|
213
213
|
client: system.Client | None = None,
|
214
214
|
ids: Iterable[SourceID] | None = None,
|
215
|
-
existing_session:
|
215
|
+
existing_session: eorm.Session | None = None,
|
216
216
|
) -> Ok[list[Source]] | NotFoundError | InvalidArgumentError:
|
217
217
|
"""List sources that exist in storage."""
|
218
218
|
client = client or Defaults.get_default_client()
|
@@ -265,7 +265,7 @@ class Space(StandardModel[SpaceID, models_pb2.Space, eorm.Space]):
|
|
265
265
|
cls,
|
266
266
|
space_id: SpaceID,
|
267
267
|
client: system.Client | None = None,
|
268
|
-
session:
|
268
|
+
session: eorm.Session | None = None,
|
269
269
|
) -> Ok[SpecificSpace] | NotFoundError:
|
270
270
|
client = client or Defaults.get_default_client()
|
271
271
|
return cls.load_proto_for(space_id, client, session).map(
|
@@ -284,7 +284,7 @@ class Space(StandardModel[SpaceID, models_pb2.Space, eorm.Space]):
|
|
284
284
|
created_before: datetime.datetime | None = None,
|
285
285
|
client: system.Client | None = None,
|
286
286
|
ids: Iterable[eorm.SpaceID] | None = None,
|
287
|
-
existing_session:
|
287
|
+
existing_session: eorm.Session | None = None,
|
288
288
|
) -> Ok[list[SpecificSpace]] | InvalidArgumentError | NotFoundError:
|
289
289
|
client = client or Defaults.get_default_client()
|
290
290
|
|
@@ -23,6 +23,7 @@ from corvic.orm.errors import (
|
|
23
23
|
DeletedObjectError,
|
24
24
|
InvalidORMIdentifierError,
|
25
25
|
RequestedObjectsForNobodyError,
|
26
|
+
dbapi_error_to_result,
|
26
27
|
)
|
27
28
|
from corvic.orm.func import utc_now
|
28
29
|
from corvic.orm.ids import (
|
@@ -278,4 +279,5 @@ __all__ = [
|
|
278
279
|
"primary_key_foreign_column",
|
279
280
|
"primary_key_identity_column",
|
280
281
|
"primary_key_uuid_column",
|
282
|
+
"dbapi_error_to_result",
|
281
283
|
]
|
@@ -1,6 +1,7 @@
|
|
1
1
|
"""Mixin models for corvic orm tables."""
|
2
2
|
|
3
3
|
from datetime import UTC, datetime
|
4
|
+
from types import TracebackType
|
4
5
|
from typing import Any, LiteralString
|
5
6
|
|
6
7
|
import sqlalchemy as sa
|
@@ -9,9 +10,7 @@ from sqlalchemy import orm as sa_orm
|
|
9
10
|
from sqlalchemy.ext import hybrid
|
10
11
|
from sqlalchemy.ext.hybrid import hybrid_property
|
11
12
|
|
12
|
-
from corvic.orm.errors import
|
13
|
-
DeletedObjectError,
|
14
|
-
)
|
13
|
+
from corvic.orm.errors import DeletedObjectError, dbapi_error_to_result
|
15
14
|
|
16
15
|
|
17
16
|
class BadDeleteError(DeletedObjectError):
|
@@ -155,6 +154,16 @@ class Session(sa_orm.Session):
|
|
155
154
|
|
156
155
|
_soft_deleted: dict[sa_orm.InstanceState[Any], Any] | None = None
|
157
156
|
|
157
|
+
def __exit__(
|
158
|
+
self,
|
159
|
+
type_: type[BaseException] | None,
|
160
|
+
value: BaseException | None,
|
161
|
+
traceback: TracebackType | None,
|
162
|
+
):
|
163
|
+
super().__exit__(type_, value, traceback)
|
164
|
+
if isinstance(value, sa.exc.DBAPIError):
|
165
|
+
raise dbapi_error_to_result(value) from value
|
166
|
+
|
158
167
|
def _track_soft_deleted(self, instance: object):
|
159
168
|
if self._soft_deleted is None:
|
160
169
|
self._soft_deleted = {}
|
@@ -0,0 +1,54 @@
|
|
1
|
+
"""Errors specific to communicating with the database."""
|
2
|
+
|
3
|
+
import sqlalchemy as sa
|
4
|
+
|
5
|
+
from corvic import result
|
6
|
+
|
7
|
+
|
8
|
+
class InvalidORMIdentifierError(result.InvalidArgumentError):
|
9
|
+
"""Raised when an identifier can't be translated to its orm equivalent."""
|
10
|
+
|
11
|
+
|
12
|
+
class RequestedObjectsForNobodyError(result.Error):
|
13
|
+
"""Raised when attempts are made to access database objects as the nobody org."""
|
14
|
+
|
15
|
+
|
16
|
+
class DeletedObjectError(result.Error):
|
17
|
+
"""DeletedObjectError result Error.
|
18
|
+
|
19
|
+
Raised on invalid operations to objects which are soft deleted.
|
20
|
+
"""
|
21
|
+
|
22
|
+
|
23
|
+
def dbapi_error_to_result(err: sa.exc.DBAPIError):
|
24
|
+
# based on https://docs.sqlalchemy.org/en/20/errors.html
|
25
|
+
match err:
|
26
|
+
case sa.exc.NotSupportedError():
|
27
|
+
# raised in the unexpected case that we're doing something that the
|
28
|
+
# database just doesn't support
|
29
|
+
raise result.InternalError.from_(err) from err
|
30
|
+
case (
|
31
|
+
sa.exc.OperationalError()
|
32
|
+
| sa.exc.InterfaceError()
|
33
|
+
| sa.exc.InternalError()
|
34
|
+
):
|
35
|
+
# These are commonly things that are outside of our control that might
|
36
|
+
# succeed on retry, e.g., connections being dropped
|
37
|
+
return result.UnavailableError.from_(err)
|
38
|
+
case sa.exc.IntegrityError:
|
39
|
+
return result.InvalidArgumentError.from_(err)
|
40
|
+
case sa.exc.ProgrammingError():
|
41
|
+
if "could not serialize" in str(err):
|
42
|
+
return result.UnavailableError.from_(err)
|
43
|
+
case _:
|
44
|
+
pass
|
45
|
+
|
46
|
+
try:
|
47
|
+
import psycopg.errors
|
48
|
+
|
49
|
+
if isinstance(err.orig, psycopg.errors.SerializationFailure):
|
50
|
+
return result.UnavailableError.from_(err)
|
51
|
+
except ModuleNotFoundError:
|
52
|
+
pass
|
53
|
+
|
54
|
+
return result.InvalidArgumentError.from_(err)
|
{corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/corvic/transfer/_orm_backed_proto.py
RENAMED
@@ -102,7 +102,7 @@ class OrmBackedProto(Generic[ProtoT, OrmT], HasProtoSelf[ProtoT]):
|
|
102
102
|
|
103
103
|
@classmethod
|
104
104
|
def _generate_query_results(
|
105
|
-
cls, query: sa.Select[tuple[OrmT]], session:
|
105
|
+
cls, query: sa.Select[tuple[OrmT]], session: orm.Session
|
106
106
|
) -> Iterator[OrmT]:
|
107
107
|
it = iter(session.scalars(query))
|
108
108
|
while True:
|
@@ -131,7 +131,7 @@ class OrmBackedProto(Generic[ProtoT, OrmT], HasProtoSelf[ProtoT]):
|
|
131
131
|
[sa.Select[tuple[OrmT]]], sa.Select[tuple[OrmT]]
|
132
132
|
]
|
133
133
|
| None = None,
|
134
|
-
existing_session:
|
134
|
+
existing_session: orm.Session | None = None,
|
135
135
|
) -> Ok[list[ProtoT]] | NotFoundError | InvalidArgumentError:
|
136
136
|
"""List sources that exist in storage."""
|
137
137
|
orm_class = cls.orm_class()
|
@@ -172,7 +172,7 @@ class OrmBackedProto(Generic[ProtoT, OrmT], HasProtoSelf[ProtoT]):
|
|
172
172
|
).unwrap_or_raise()
|
173
173
|
session.commit()
|
174
174
|
except sa.exc.DBAPIError as err:
|
175
|
-
return
|
175
|
+
return orm.dbapi_error_to_result(err)
|
176
176
|
return Ok(
|
177
177
|
self.__class__(
|
178
178
|
client=self.client,
|
@@ -180,22 +180,6 @@ class OrmBackedProto(Generic[ProtoT, OrmT], HasProtoSelf[ProtoT]):
|
|
180
180
|
)
|
181
181
|
)
|
182
182
|
|
183
|
-
@staticmethod
|
184
|
-
def _dbapi_error_to_result(err: sa.exc.DBAPIError):
|
185
|
-
try:
|
186
|
-
import psycopg.errors
|
187
|
-
|
188
|
-
if isinstance(err.orig, psycopg.errors.SerializationFailure):
|
189
|
-
return UnavailableError.from_(err)
|
190
|
-
except ModuleNotFoundError:
|
191
|
-
pass
|
192
|
-
if isinstance(err, sa.exc.ProgrammingError):
|
193
|
-
if "violates foreign key constraint" in str(err):
|
194
|
-
return InvalidArgumentError.from_(err)
|
195
|
-
if "could not serialize access due to concurrent update" in str(err):
|
196
|
-
return UnavailableError.from_(err)
|
197
|
-
return InvalidArgumentError.from_(err)
|
198
|
-
|
199
183
|
def add_to_session(
|
200
184
|
self, session: orm.Session
|
201
185
|
) -> Ok[None] | InvalidArgumentError | UnavailableError:
|
@@ -210,7 +194,7 @@ class OrmBackedProto(Generic[ProtoT, OrmT], HasProtoSelf[ProtoT]):
|
|
210
194
|
session.flush()
|
211
195
|
# TODO(thunt): Possibly separate out DatabaseError into a precondition error
|
212
196
|
except sa.exc.DBAPIError as err:
|
213
|
-
return
|
197
|
+
return orm.dbapi_error_to_result(err)
|
214
198
|
return Ok(None)
|
215
199
|
|
216
200
|
|
@@ -230,7 +214,7 @@ class HasIdOrmBackedProto(
|
|
230
214
|
cls,
|
231
215
|
obj_id: OrmIdT,
|
232
216
|
client: system.Client,
|
233
|
-
existing_session:
|
217
|
+
existing_session: orm.Session | None = None,
|
234
218
|
) -> Ok[ProtoHasIdT] | NotFoundError:
|
235
219
|
"""Create a model object by loading it from the database."""
|
236
220
|
with (
|
@@ -280,7 +264,7 @@ class HasIdOrmBackedProto(
|
|
280
264
|
[sa.Select[tuple[OrmHasIdT]]], sa.Select[tuple[OrmHasIdT]]
|
281
265
|
]
|
282
266
|
| None = None,
|
283
|
-
existing_session:
|
267
|
+
existing_session: orm.Session | None = None,
|
284
268
|
) -> Ok[list[ProtoHasIdT]] | NotFoundError | InvalidArgumentError:
|
285
269
|
def query_transform(
|
286
270
|
query: sa.Select[tuple[OrmHasIdT]],
|
@@ -18,7 +18,7 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor
|
|
18
18
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
19
19
|
|
20
20
|
|
21
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63orvic/ingest/v2/resource.proto\x12\x10\x63orvic.ingest.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1c\x63orvic/status/v1/event.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x99\x04\n\x10ResourceMetadata\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xc8\x01R\x04name\x12%\n\tmime_type\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\xc8\x01R\x08mimeType\x12\x7f\n\x07room_id\x18\x03 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x06roomId\x12-\n\roriginal_path\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\xe8\x07R\x0coriginalPath\x12*\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\xe8\x07R\x0b\x64\x65scription\x12\x87\x01\n\x0bpipeline_id\x18\x08 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\npipelineId\x12;\n\ttype_hint\x18\x04 \x01(\x0e\x32\x1e.corvic.ingest.v2.ResourceTypeR\x08typeHint\x12\x1b\n\x04size\x18\x07 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x04size\"\xee\x02\n\rResourceEntry\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12\x10\n\x03md5\x18\x05 \x01(\tR\x03md5\x12\x17\n\x07room_id\x18\x06 \x01(\tR\x06roomId\x12\x12\n\x04size\x18\x07 \x01(\x04R\x04size\x12#\n\roriginal_path\x18\t \x01(\tR\x0coriginalPath\x12 \n\x0b\x64\x65scription\x18\x0b \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bpipeline_id\x18\x0c \x01(\tR\npipelineId\x12\x37\n\x18referenced_by_source_ids\x18\n \x03(\tR\x15referencedBySourceIds\x12<\n\rrecent_events\x18\x08 \x03(\x0b\x32\x17.corvic.status.v1.EventR\x0crecentEvents\"p\n\x16\x43reateUploadURLRequest\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x16\n\x06origin\x18\x02 \x01(\tR\x06origin\"A\n\x17\x43reateUploadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"s\n\x15UploadURLTokenPayload\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x1a\n\x08\x66ilename\x18\x02 \x01(\tR\x08\x66ilename\"0\n\x18\x46inalizeUploadURLRequest\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"R\n\x19\x46inalizeUploadURLResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x8f\x01\n\x15\x44\x65leteResourceRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\x18\n\x16\x44\x65leteResourceResponse\"\x8c\x01\n\x12GetResourceRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"L\n\x13GetResourceResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x97\x01\n\x14ListResourcesRequest\x12\x7f\n\x07room_id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x06roomId\"N\n\x15ListResourcesResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x8b\x01\n\x0cResourceList\x12{\n\x02id\x18\x01 \x03(\tBk\xbaHh\x92\x01\x65\"cr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\xdb\x01\n\x15WatchResourcesRequest\x12\x81\x01\n\x07room_id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')H\x00R\x06roomId\x12\x32\n\x03ids\x18\x02 \x01(\x0b\x32\x1e.corvic.ingest.v2.ResourceListH\x00R\x03idsB\n\n\x08selector\"d\n\x16WatchResourcesResponse\x12J\n\x10updated_resource\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x0fupdatedResource\"\xb5\x01\n#ListResourcesPaginatedCursorPayload\x12T\n\x19\x63reate_time_of_last_entry\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x63reateTimeOfLastEntry\x12\x17\n\x07room_id\x18\x02 \x01(\tR\x06roomId\x12\x1f\n\x0bpipeline_id\x18\x03 \x01(\tR\npipelineId\"\xef\x02\n\x1dListResourcesPaginatedRequest\x12\x80\x01\n\x07room_id\x18\x01 \x01(\tBg\xbaHdr\x02\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd8\x01\x01R\x06roomId\x12\x88\x01\n\x0bpipeline_id\x18\x04 \x01(\tBg\xbaHdr\x02\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd8\x01\x01R\npipelineId\x12(\n\x10\x65ntries_per_page\x18\x02 \x01(\rR\x0e\x65ntriesPerPage\x12\x16\n\x06\x63ursor\x18\x03 \x01(\tR\x06\x63ursor\"\x91\x01\n\x1eListResourcesPaginatedResponse\x12J\n\x10resource_entries\x18\x03 \x03(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x0fresourceEntries\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursorJ\x04\x08\x01\x10\x02R\x05\x65ntry\"\x9a\x01\n CreateResourceDownloadURLRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"5\n!CreateResourceDownloadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url*\xab\x01\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x13RESOURCE_TYPE_TABLE\x10\x01\x1a\x02\x08\x01\x12!\n\x1dRESOURCE_TYPE_DIMENSION_TABLE\x10\x02\x12\x1c\n\x18RESOURCE_TYPE_FACT_TABLE\x10\x03\x12\x1e\n\x1aRESOURCE_TYPE_PDF_DOCUMENT\x10\x04\x32\x97\x07\n\x0fResourceService\x12h\n\x0f\x43reateUploadURL\x12(.corvic.ingest.v2.CreateUploadURLRequest\x1a).corvic.ingest.v2.CreateUploadURLResponse\"\x00\x12q\n\x11\x46inalizeUploadURL\x12*.corvic.ingest.v2.FinalizeUploadURLRequest\x1a+.corvic.ingest.v2.FinalizeUploadURLResponse\"\x03\x90\x02\x02\x12\x65\n\x0e\x44\x65leteResource\x12\'.corvic.ingest.v2.DeleteResourceRequest\x1a(.corvic.ingest.v2.DeleteResourceResponse\"\x00\x12_\n\x0bGetResource\x12$.corvic.ingest.v2.GetResourceRequest\x1a%.corvic.ingest.v2.GetResourceResponse\"\x03\x90\x02\x01\x12g\n\rListResources\x12&.corvic.ingest.v2.ListResourcesRequest\x1a\'.corvic.ingest.v2.ListResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x80\x01\n\x16ListResourcesPaginated\x12/.corvic.ingest.v2.ListResourcesPaginatedRequest\x1a\x30.corvic.ingest.v2.ListResourcesPaginatedResponse\"\x03\x90\x02\x01\x12j\n\x0eWatchResources\x12\'.corvic.ingest.v2.WatchResourcesRequest\x1a(.corvic.ingest.v2.WatchResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x86\x01\n\x19\x43reateResourceDownloadURL\x12\x32.corvic.ingest.v2.CreateResourceDownloadURLRequest\x1a\x33.corvic.ingest.v2.CreateResourceDownloadURLResponse\"\x00\x62\x06proto3')
|
21
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1f\x63orvic/ingest/v2/resource.proto\x12\x10\x63orvic.ingest.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1c\x63orvic/status/v1/event.proto\x1a google/protobuf/descriptor.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x99\x04\n\x10ResourceMetadata\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xbaH\x07r\x05\x10\x01\x18\xc8\x01R\x04name\x12%\n\tmime_type\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\x18\xc8\x01R\x08mimeType\x12\x7f\n\x07room_id\x18\x03 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x06roomId\x12-\n\roriginal_path\x18\x05 \x01(\tB\x08\xbaH\x05r\x03\x18\xe8\x07R\x0coriginalPath\x12*\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\x18\xe8\x07R\x0b\x64\x65scription\x12\x87\x01\n\x0bpipeline_id\x18\x08 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\npipelineId\x12;\n\ttype_hint\x18\x04 \x01(\x0e\x32\x1e.corvic.ingest.v2.ResourceTypeR\x08typeHint\x12\x1b\n\x04size\x18\x07 \x01(\x03\x42\x07\xbaH\x04\"\x02 \x00R\x04size\"\xee\x02\n\rResourceEntry\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12\x10\n\x03md5\x18\x05 \x01(\tR\x03md5\x12\x17\n\x07room_id\x18\x06 \x01(\tR\x06roomId\x12\x12\n\x04size\x18\x07 \x01(\x04R\x04size\x12#\n\roriginal_path\x18\t \x01(\tR\x0coriginalPath\x12 \n\x0b\x64\x65scription\x18\x0b \x01(\tR\x0b\x64\x65scription\x12\x1f\n\x0bpipeline_id\x18\x0c \x01(\tR\npipelineId\x12\x37\n\x18referenced_by_source_ids\x18\n \x03(\tR\x15referencedBySourceIds\x12<\n\rrecent_events\x18\x08 \x03(\x0b\x32\x17.corvic.status.v1.EventR\x0crecentEvents\"p\n\x16\x43reateUploadURLRequest\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x16\n\x06origin\x18\x02 \x01(\tR\x06origin\"A\n\x17\x43reateUploadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n\x05token\x18\x02 \x01(\tR\x05token\"s\n\x15UploadURLTokenPayload\x12>\n\x08metadata\x18\x01 \x01(\x0b\x32\".corvic.ingest.v2.ResourceMetadataR\x08metadata\x12\x1a\n\x08\x66ilename\x18\x02 \x01(\tR\x08\x66ilename\"0\n\x18\x46inalizeUploadURLRequest\x12\x14\n\x05token\x18\x01 \x01(\tR\x05token\"R\n\x19\x46inalizeUploadURLResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x8f\x01\n\x15\x44\x65leteResourceRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\x18\n\x16\x44\x65leteResourceResponse\"\x8c\x01\n\x12GetResourceRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"L\n\x13GetResourceResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x97\x01\n\x14ListResourcesRequest\x12\x7f\n\x07room_id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x06roomId\"N\n\x15ListResourcesResponse\x12\x35\n\x05\x65ntry\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x05\x65ntry\"\x8b\x01\n\x0cResourceList\x12{\n\x02id\x18\x01 \x03(\tBk\xbaHh\x92\x01\x65\"cr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"\xdb\x01\n\x15WatchResourcesRequest\x12\x81\x01\n\x07room_id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')H\x00R\x06roomId\x12\x32\n\x03ids\x18\x02 \x01(\x0b\x32\x1e.corvic.ingest.v2.ResourceListH\x00R\x03idsB\n\n\x08selector\"d\n\x16WatchResourcesResponse\x12J\n\x10updated_resource\x18\x01 \x01(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x0fupdatedResource\"\xb5\x01\n#ListResourcesPaginatedCursorPayload\x12T\n\x19\x63reate_time_of_last_entry\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x15\x63reateTimeOfLastEntry\x12\x17\n\x07room_id\x18\x02 \x01(\tR\x06roomId\x12\x1f\n\x0bpipeline_id\x18\x03 \x01(\tR\npipelineId\"\xef\x02\n\x1dListResourcesPaginatedRequest\x12\x80\x01\n\x07room_id\x18\x01 \x01(\tBg\xbaHdr\x02\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd8\x01\x01R\x06roomId\x12\x88\x01\n\x0bpipeline_id\x18\x04 \x01(\tBg\xbaHdr\x02\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\xd8\x01\x01R\npipelineId\x12(\n\x10\x65ntries_per_page\x18\x02 \x01(\rR\x0e\x65ntriesPerPage\x12\x16\n\x06\x63ursor\x18\x03 \x01(\tR\x06\x63ursor\"\x91\x01\n\x1eListResourcesPaginatedResponse\x12J\n\x10resource_entries\x18\x03 \x03(\x0b\x32\x1f.corvic.ingest.v2.ResourceEntryR\x0fresourceEntries\x12\x16\n\x06\x63ursor\x18\x02 \x01(\tR\x06\x63ursorJ\x04\x08\x01\x10\x02R\x05\x65ntry\"\x9a\x01\n CreateResourceDownloadURLRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"5\n!CreateResourceDownloadURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url\"\x99\x01\n\x1f\x43reateResourcePreviewURLRequest\x12v\n\x02id\x18\x01 \x01(\tBf\xbaHcr\x04\x10\x01\x18\x14\xba\x01Z\n\x0estring.pattern\x12\x16value must be a number\x1a\x30this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')R\x02id\"4\n CreateResourcePreviewURLResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url*\xab\x01\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x13RESOURCE_TYPE_TABLE\x10\x01\x1a\x02\x08\x01\x12!\n\x1dRESOURCE_TYPE_DIMENSION_TABLE\x10\x02\x12\x1c\n\x18RESOURCE_TYPE_FACT_TABLE\x10\x03\x12\x1e\n\x1aRESOURCE_TYPE_PDF_DOCUMENT\x10\x04\x32\x97\x07\n\x0fResourceService\x12h\n\x0f\x43reateUploadURL\x12(.corvic.ingest.v2.CreateUploadURLRequest\x1a).corvic.ingest.v2.CreateUploadURLResponse\"\x00\x12q\n\x11\x46inalizeUploadURL\x12*.corvic.ingest.v2.FinalizeUploadURLRequest\x1a+.corvic.ingest.v2.FinalizeUploadURLResponse\"\x03\x90\x02\x02\x12\x65\n\x0e\x44\x65leteResource\x12\'.corvic.ingest.v2.DeleteResourceRequest\x1a(.corvic.ingest.v2.DeleteResourceResponse\"\x00\x12_\n\x0bGetResource\x12$.corvic.ingest.v2.GetResourceRequest\x1a%.corvic.ingest.v2.GetResourceResponse\"\x03\x90\x02\x01\x12g\n\rListResources\x12&.corvic.ingest.v2.ListResourcesRequest\x1a\'.corvic.ingest.v2.ListResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x80\x01\n\x16ListResourcesPaginated\x12/.corvic.ingest.v2.ListResourcesPaginatedRequest\x1a\x30.corvic.ingest.v2.ListResourcesPaginatedResponse\"\x03\x90\x02\x01\x12j\n\x0eWatchResources\x12\'.corvic.ingest.v2.WatchResourcesRequest\x1a(.corvic.ingest.v2.WatchResourcesResponse\"\x03\x90\x02\x01\x30\x01\x12\x86\x01\n\x19\x43reateResourceDownloadURL\x12\x32.corvic.ingest.v2.CreateResourceDownloadURLRequest\x1a\x33.corvic.ingest.v2.CreateResourceDownloadURLResponse\"\x00\x62\x06proto3')
|
22
22
|
|
23
23
|
_globals = globals()
|
24
24
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -57,6 +57,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
57
57
|
_globals['_LISTRESOURCESPAGINATEDREQUEST'].fields_by_name['pipeline_id']._serialized_options = b'\272Hdr\002\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')\330\001\001'
|
58
58
|
_globals['_CREATERESOURCEDOWNLOADURLREQUEST'].fields_by_name['id']._options = None
|
59
59
|
_globals['_CREATERESOURCEDOWNLOADURLREQUEST'].fields_by_name['id']._serialized_options = b'\272Hcr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
|
60
|
+
_globals['_CREATERESOURCEPREVIEWURLREQUEST'].fields_by_name['id']._options = None
|
61
|
+
_globals['_CREATERESOURCEPREVIEWURLREQUEST'].fields_by_name['id']._serialized_options = b'\272Hcr\004\020\001\030\024\272\001Z\n\016string.pattern\022\026value must be a number\0320this.matches(\'^[0-9]+$\') && !this.endsWith(\'\\n\')'
|
60
62
|
_globals['_RESOURCESERVICE'].methods_by_name['FinalizeUploadURL']._options = None
|
61
63
|
_globals['_RESOURCESERVICE'].methods_by_name['FinalizeUploadURL']._serialized_options = b'\220\002\002'
|
62
64
|
_globals['_RESOURCESERVICE'].methods_by_name['GetResource']._options = None
|
@@ -67,8 +69,8 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
67
69
|
_globals['_RESOURCESERVICE'].methods_by_name['ListResourcesPaginated']._serialized_options = b'\220\002\001'
|
68
70
|
_globals['_RESOURCESERVICE'].methods_by_name['WatchResources']._options = None
|
69
71
|
_globals['_RESOURCESERVICE'].methods_by_name['WatchResources']._serialized_options = b'\220\002\001'
|
70
|
-
_globals['_RESOURCETYPE']._serialized_start=
|
71
|
-
_globals['_RESOURCETYPE']._serialized_end=
|
72
|
+
_globals['_RESOURCETYPE']._serialized_start=3738
|
73
|
+
_globals['_RESOURCETYPE']._serialized_end=3909
|
72
74
|
_globals['_RESOURCEMETADATA']._serialized_start=180
|
73
75
|
_globals['_RESOURCEMETADATA']._serialized_end=717
|
74
76
|
_globals['_RESOURCEENTRY']._serialized_start=720
|
@@ -111,6 +113,10 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
111
113
|
_globals['_CREATERESOURCEDOWNLOADURLREQUEST']._serialized_end=3470
|
112
114
|
_globals['_CREATERESOURCEDOWNLOADURLRESPONSE']._serialized_start=3472
|
113
115
|
_globals['_CREATERESOURCEDOWNLOADURLRESPONSE']._serialized_end=3525
|
114
|
-
_globals['
|
115
|
-
_globals['
|
116
|
+
_globals['_CREATERESOURCEPREVIEWURLREQUEST']._serialized_start=3528
|
117
|
+
_globals['_CREATERESOURCEPREVIEWURLREQUEST']._serialized_end=3681
|
118
|
+
_globals['_CREATERESOURCEPREVIEWURLRESPONSE']._serialized_start=3683
|
119
|
+
_globals['_CREATERESOURCEPREVIEWURLRESPONSE']._serialized_end=3735
|
120
|
+
_globals['_RESOURCESERVICE']._serialized_start=3912
|
121
|
+
_globals['_RESOURCESERVICE']._serialized_end=4831
|
116
122
|
# @@protoc_insertion_point(module_scope)
|
@@ -200,3 +200,15 @@ class CreateResourceDownloadURLResponse(_message.Message):
|
|
200
200
|
URL_FIELD_NUMBER: _ClassVar[int]
|
201
201
|
url: str
|
202
202
|
def __init__(self, url: _Optional[str] = ...) -> None: ...
|
203
|
+
|
204
|
+
class CreateResourcePreviewURLRequest(_message.Message):
|
205
|
+
__slots__ = ("id",)
|
206
|
+
ID_FIELD_NUMBER: _ClassVar[int]
|
207
|
+
id: str
|
208
|
+
def __init__(self, id: _Optional[str] = ...) -> None: ...
|
209
|
+
|
210
|
+
class CreateResourcePreviewURLResponse(_message.Message):
|
211
|
+
__slots__ = ("url",)
|
212
|
+
URL_FIELD_NUMBER: _ClassVar[int]
|
213
|
+
url: str
|
214
|
+
def __init__(self, url: _Optional[str] = ...) -> None: ...
|
@@ -1,18 +0,0 @@
|
|
1
|
-
"""Errors specific to communicating with the database."""
|
2
|
-
|
3
|
-
from corvic import result
|
4
|
-
|
5
|
-
|
6
|
-
class InvalidORMIdentifierError(result.InvalidArgumentError):
|
7
|
-
"""Raised when an identifier can't be translated to its orm equivalent."""
|
8
|
-
|
9
|
-
|
10
|
-
class RequestedObjectsForNobodyError(result.Error):
|
11
|
-
"""Raised when attempts are made to access database objects as the nobody org."""
|
12
|
-
|
13
|
-
|
14
|
-
class DeletedObjectError(result.Error):
|
15
|
-
"""DeletedObjectError result Error.
|
16
|
-
|
17
|
-
Raised on invalid operations to objects which are soft deleted.
|
18
|
-
"""
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2_grpc.py
RENAMED
File without changes
|
{corvic_engine-0.3.0rc85 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2_grpc.pyi
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|