corvic-engine 0.3.0rc84__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.0rc84 → corvic_engine-0.3.0rc86}/Cargo.lock +2 -2
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/Cargo.toml +1 -1
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/PKG-INFO +1 -1
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/pyproject.toml +3 -3
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_base_model.py +2 -3
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_completion_model.py +2 -4
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_feature_view.py +2 -2
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_pipeline.py +2 -2
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_proto_orm_convert.py +15 -15
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_resource.py +2 -2
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_source.py +2 -2
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_space.py +2 -2
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/__init__.py +2 -0
- {corvic_engine-0.3.0rc84 → 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.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/_embedder.py +0 -8
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/_image_embedder.py +28 -18
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/in_memory_executor.py +1 -2
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/staging.py +1 -1
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/staging.py +1 -1
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/transfer/_orm_backed_proto.py +6 -22
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2.py +11 -5
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2.pyi +12 -0
- corvic_engine-0.3.0rc84/python/corvic/orm/errors.py +0 -18
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/LICENSE +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/README.md +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/Cargo.toml +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/buf/validate/validate_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/context/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/context/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/embed/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/embed/node2vec.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/embed/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/embedding_metric/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/embedding_metric/embeddings.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/embedding_metric/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_defaults.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_errors.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_feature_type.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/_room.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/emodel/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/engine/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/engine/_native.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/engine/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/eorm/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/_schema.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/_transformations.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/aggregation.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/encoders.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/errors.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/feature_types.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/ops.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/row_filters/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/row_filters/_jsonlogic.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/row_filters/_row_filters.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/op_graph/sample_strategy.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/_proto_columns.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/func/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/func/utc_func.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/func/uuid_func.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/ids.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/keys.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/orm/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_const.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_from_value.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_temporal.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_to_value.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/_types.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/pa_scalar/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/_errors.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/_wrappers.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/proto_wrapper/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/result/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/result/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/sql/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/sql/parse_ops.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/sql/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/_column_encoding.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/_dimension_reduction.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/_planner.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/_text_embedder.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/client.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/op_graph_executor.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/storage.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/client.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/fs_blob_store.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system_sqlite/rdbms_blob_store.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/table/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/table/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/table/table.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/transfer/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/transfer/_common_transformations.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/transfer/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/version/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/version/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/well_known_types/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/well_known_types/py.typed +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/embedding/v1/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/experiment_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/feature/v2/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/resource_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/room_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/source_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/ingest/v2/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/model/v1alpha/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/agent_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/common_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/orm/v1/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/event_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic_generated/status/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc84 → 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"
|
@@ -164,7 +164,7 @@ torch = [
|
|
164
164
|
{ platform = "darwin", version = "^2.7.1", source = "pypi" },
|
165
165
|
]
|
166
166
|
torchvision = [
|
167
|
-
{ platform = "linux", version = "^0.22.1", source = "torch-cpu-linux" },
|
167
|
+
{ platform = "linux", version = "^0.22.1+cpu", source = "torch-cpu-linux" },
|
168
168
|
{ platform = "darwin", version = "^0.22.1", source = "pypi" },
|
169
169
|
]
|
170
170
|
transformers = "^4.51.3"
|
@@ -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.0rc84 → 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.0rc84 → 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)
|
@@ -39,10 +39,6 @@ class EmbedTextResult:
|
|
39
39
|
class TextEmbedder(Protocol):
|
40
40
|
"""Use a model to embed text."""
|
41
41
|
|
42
|
-
def embed(
|
43
|
-
self, context: EmbedTextContext
|
44
|
-
) -> Ok[EmbedTextResult] | InvalidArgumentError | InternalError: ...
|
45
|
-
|
46
42
|
async def aembed(
|
47
43
|
self,
|
48
44
|
context: EmbedTextContext,
|
@@ -74,10 +70,6 @@ class ImageEmbedder(Protocol):
|
|
74
70
|
@classmethod
|
75
71
|
def model_name(cls) -> str: ...
|
76
72
|
|
77
|
-
def embed(
|
78
|
-
self, context: EmbedImageContext
|
79
|
-
) -> Ok[EmbedImageResult] | InvalidArgumentError | InternalError: ...
|
80
|
-
|
81
73
|
async def aembed(
|
82
74
|
self,
|
83
75
|
context: EmbedImageContext,
|
@@ -3,7 +3,7 @@ import asyncio
|
|
3
3
|
import dataclasses
|
4
4
|
from concurrent.futures import ThreadPoolExecutor
|
5
5
|
from io import BytesIO
|
6
|
-
from typing import TYPE_CHECKING, Any, cast
|
6
|
+
from typing import TYPE_CHECKING, Any, Protocol, cast
|
7
7
|
|
8
8
|
import numpy as np
|
9
9
|
import polars as pl
|
@@ -17,8 +17,7 @@ from corvic.system._embedder import (
|
|
17
17
|
|
18
18
|
if TYPE_CHECKING:
|
19
19
|
from PIL import Image
|
20
|
-
from
|
21
|
-
from transformers.models.auto.processing_auto import AutoProcessor
|
20
|
+
from torch import FloatTensor
|
22
21
|
|
23
22
|
|
24
23
|
class RandomImageEmbedder(ImageEmbedder):
|
@@ -77,10 +76,23 @@ def image_from_bytes(
|
|
77
76
|
return InvalidArgumentError("invalid image format")
|
78
77
|
|
79
78
|
|
79
|
+
class TransformersImageModel(Protocol):
|
80
|
+
"""Generic class for a Model from transformers."""
|
81
|
+
|
82
|
+
def eval(self): ...
|
83
|
+
def get_image_features(*, pixel_values: "FloatTensor") -> "FloatTensor": ...
|
84
|
+
|
85
|
+
|
86
|
+
class TransformersProcessor(Protocol):
|
87
|
+
"""Generic class for a Processor from transformers."""
|
88
|
+
|
89
|
+
def __call__(self, *, images: list["Image.Image"], return_tensors: str): ...
|
90
|
+
|
91
|
+
|
80
92
|
@dataclasses.dataclass
|
81
93
|
class LoadedModels:
|
82
|
-
model:
|
83
|
-
processor:
|
94
|
+
model: TransformersImageModel
|
95
|
+
processor: TransformersProcessor
|
84
96
|
|
85
97
|
|
86
98
|
class HFModelImageEmbedder(ImageEmbedder):
|
@@ -91,7 +103,7 @@ class HFModelImageEmbedder(ImageEmbedder):
|
|
91
103
|
def model_revision(cls) -> str: ...
|
92
104
|
|
93
105
|
@abc.abstractmethod
|
94
|
-
def
|
106
|
+
def load_models(self) -> LoadedModels: ...
|
95
107
|
|
96
108
|
def embed(
|
97
109
|
self, context: EmbedImageContext
|
@@ -122,19 +134,19 @@ class HFModelImageEmbedder(ImageEmbedder):
|
|
122
134
|
)
|
123
135
|
)
|
124
136
|
|
125
|
-
models = self.
|
137
|
+
models = self.load_models()
|
126
138
|
model = models.model
|
127
139
|
processor = models.processor
|
128
|
-
model.eval()
|
140
|
+
model.eval()
|
129
141
|
|
130
142
|
import torch
|
131
143
|
|
132
144
|
with torch.no_grad():
|
133
145
|
inputs = cast(
|
134
146
|
dict[str, torch.FloatTensor],
|
135
|
-
processor(images=images, return_tensors="pt"),
|
147
|
+
processor(images=images, return_tensors="pt"),
|
136
148
|
)
|
137
|
-
image_features = model.get_image_features(
|
149
|
+
image_features = model.get_image_features(
|
138
150
|
pixel_values=inputs["pixel_values"]
|
139
151
|
)
|
140
152
|
|
@@ -181,23 +193,21 @@ class Clip(HFModelImageEmbedder):
|
|
181
193
|
def model_revision(cls) -> str:
|
182
194
|
return "5812e510083bb2d23fa43778a39ac065d205ed4d"
|
183
195
|
|
184
|
-
def
|
185
|
-
from transformers.models.auto.modeling_auto import AutoModel
|
186
|
-
from transformers.models.auto.processing_auto import AutoProcessor
|
196
|
+
def load_models(self) -> LoadedModels:
|
187
197
|
from transformers.models.clip import (
|
188
198
|
CLIPModel,
|
189
199
|
CLIPProcessor,
|
190
200
|
)
|
191
201
|
|
192
202
|
model = cast(
|
193
|
-
|
203
|
+
TransformersImageModel,
|
194
204
|
CLIPModel.from_pretrained( # pyright: ignore[reportUnknownMemberType]
|
195
205
|
pretrained_model_name_or_path=self.model_name(),
|
196
206
|
revision=self.model_revision(),
|
197
207
|
),
|
198
208
|
)
|
199
209
|
processor = cast(
|
200
|
-
|
210
|
+
TransformersProcessor,
|
201
211
|
CLIPProcessor.from_pretrained( # pyright: ignore[reportUnknownMemberType]
|
202
212
|
pretrained_model_name_or_path=self.model_name(),
|
203
213
|
revision=self.model_revision(),
|
@@ -218,12 +228,12 @@ class SigLIP2(HFModelImageEmbedder):
|
|
218
228
|
def model_revision(cls) -> str:
|
219
229
|
return "a89f5c5093f902bf39d3cd4d81d2c09867f0724b"
|
220
230
|
|
221
|
-
def
|
231
|
+
def load_models(self):
|
222
232
|
from transformers.models.auto.modeling_auto import AutoModel
|
223
233
|
from transformers.models.auto.processing_auto import AutoProcessor
|
224
234
|
|
225
235
|
model = cast(
|
226
|
-
|
236
|
+
TransformersImageModel,
|
227
237
|
AutoModel.from_pretrained( # pyright: ignore[reportUnknownMemberType]
|
228
238
|
pretrained_model_name_or_path=self.model_name(),
|
229
239
|
revision=self.model_revision(),
|
@@ -231,7 +241,7 @@ class SigLIP2(HFModelImageEmbedder):
|
|
231
241
|
),
|
232
242
|
)
|
233
243
|
processor = cast(
|
234
|
-
|
244
|
+
TransformersProcessor,
|
235
245
|
AutoProcessor.from_pretrained( # pyright: ignore[reportUnknownMemberType]
|
236
246
|
pretrained_model_name_or_path=self.model_name(),
|
237
247
|
revision=self.model_revision(),
|
{corvic_engine-0.3.0rc84 → corvic_engine-0.3.0rc86}/python/corvic/system/in_memory_executor.py
RENAMED
@@ -1539,8 +1539,7 @@ class InMemoryExecutor(OpGraphExecutor):
|
|
1539
1539
|
case Ok(query):
|
1540
1540
|
pass
|
1541
1541
|
return (
|
1542
|
-
await
|
1543
|
-
self._staging_db.run_select_query,
|
1542
|
+
await self._staging_db.run_select_query(
|
1544
1543
|
query,
|
1545
1544
|
expected_schema,
|
1546
1545
|
context.current_slice_args,
|