corvic-engine 0.3.0rc54__tar.gz → 0.3.0rc56__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.0rc54 → corvic_engine-0.3.0rc56}/Cargo.lock +2 -2
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/Cargo.toml +1 -1
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/PKG-INFO +1 -1
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/pyproject.toml +4 -3
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/embed/node2vec.py +2 -2
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/__init__.py +25 -1
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_agent.py +2 -6
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_base_model.py +43 -21
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_completion_model.py +22 -6
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_feature_view.py +4 -6
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_pipeline.py +2 -6
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_proto_orm_convert.py +127 -164
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_resource.py +2 -6
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_room.py +2 -2
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_source.py +10 -6
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_space.py +35 -8
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/encoders.py +48 -1
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/__init__.py +29 -16
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/base.py +1 -1
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/in_memory_executor.py +151 -7
- corvic_engine-0.3.0rc56/python/corvic_generated/model/v1alpha/models_pb2.py +54 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/model/v1alpha/models_pb2.pyi +8 -4
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/table_pb2.py +89 -85
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/table_pb2.pyi +14 -2
- corvic_engine-0.3.0rc54/python/corvic_generated/model/v1alpha/models_pb2.py +0 -54
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/LICENSE +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/README.md +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/Cargo.toml +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/expression_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/expression_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/expression_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/expression_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/priv/private_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/priv/private_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/priv/private_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/priv/private_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/validate_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/validate_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/validate_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/buf/validate/validate_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/context/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/context/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/embed/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/embed/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/embedding_metric/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/embedding_metric/embeddings.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/embedding_metric/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/engine/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/engine/_native.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/engine/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_defaults.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_errors.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_feature_type.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/_schema.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/_transformations.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/aggregation.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/errors.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/feature_types.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/ops.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/row_filters/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/row_filters/_jsonlogic.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/row_filters/_row_filters.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/op_graph/sample_strategy.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/_proto_columns.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/errors.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/func/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/func/utc_func.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/func/uuid_func.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/ids.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/keys.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/mixins.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/orm/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/pa_scalar/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/pa_scalar/_const.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/pa_scalar/_from_value.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/pa_scalar/_temporal.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/pa_scalar/_to_value.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/pa_scalar/_types.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/pa_scalar/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/proto_wrapper/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/proto_wrapper/_errors.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/proto_wrapper/_wrappers.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/proto_wrapper/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/result/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/result/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/sql/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/sql/parse_ops.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/sql/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/_dimension_reduction.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/_embedder.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/_image_embedder.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/_planner.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/_text_embedder.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/client.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/op_graph_executor.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/staging.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system/storage.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system_sqlite/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system_sqlite/client.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system_sqlite/fs_blob_store.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system_sqlite/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system_sqlite/rdbms_blob_store.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/system_sqlite/staging.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/table/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/table/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/table/table.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/version/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/version/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/well_known_types/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/well_known_types/py.typed +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/algorithm/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/algorithm/graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/algorithm/graph/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/algorithm/graph/v1/graph_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/algorithm/graph/v1/graph_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/chat/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/chat/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/chat/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/chat/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/chat/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/chat/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/completion/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/completion/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/completion/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/completion/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/completion/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/completion/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/config/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/config/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/config/v1/settings_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/config/v1/settings_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/config/v1/settings_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/config/v1/settings_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/embedding/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/embedding/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/embedding/v1/models_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/embedding/v1/models_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/embedding/v1/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/embedding/v1/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/experiment_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/experiment_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/experiment_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/experiment_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/feature/v2/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/quick_mode_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/quick_mode_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/resource_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/resource_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/resource_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/resource_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/room_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/room_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/room_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/room_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/source_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/source_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/source_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/source_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/table_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/table_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/ingest/v2/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/model/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/model/v1alpha/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/model/v1alpha/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/model/v1alpha/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/agent_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/agent_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/agent_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/agent_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/common_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/common_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/common_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/common_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/completion_model_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/completion_model_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/orm/v1/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/platform/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/platform/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/platform/v1/platform_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/platform/v1/platform_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/platform/v1/platform_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/platform/v1/platform_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/query/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/query/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/query/v1/query_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/query/v1/query_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/query/v1/query_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/query/v1/query_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/event_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/event_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/event_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/event_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic_generated/status/v1/service_pb2_grpc.pyi +0 -0
@@ -22,7 +22,7 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
|
22
22
|
|
23
23
|
[[package]]
|
24
24
|
name = "corvic-engine"
|
25
|
-
version = "0.3.0-rc.
|
25
|
+
version = "0.3.0-rc.56"
|
26
26
|
dependencies = [
|
27
27
|
"numpy",
|
28
28
|
"pyo3",
|
@@ -63,7 +63,7 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
|
63
63
|
|
64
64
|
[[package]]
|
65
65
|
name = "engine-walk"
|
66
|
-
version = "0.3.0-rc.
|
66
|
+
version = "0.3.0-rc.56"
|
67
67
|
dependencies = [
|
68
68
|
"version_check",
|
69
69
|
]
|
@@ -20,7 +20,7 @@ authors = [
|
|
20
20
|
]
|
21
21
|
readme = "README.md"
|
22
22
|
description = "Seamless embedding generation and retrieval."
|
23
|
-
version = "0.3.0-rc.
|
23
|
+
version = "0.3.0-rc.56" # sync this with tool.poetry.version below
|
24
24
|
|
25
25
|
# TODO(ddn): Pull dependencies from tool.poetry.dependencies. We use maturin as
|
26
26
|
# the build system but poetry for the development environment.
|
@@ -74,7 +74,7 @@ packages = [
|
|
74
74
|
]
|
75
75
|
description = ""
|
76
76
|
authors = []
|
77
|
-
version = "0.3.0-rc.
|
77
|
+
version = "0.3.0-rc.56"
|
78
78
|
|
79
79
|
[tool.poetry.scripts]
|
80
80
|
check = "corvic_check.cli:main"
|
@@ -95,7 +95,7 @@ cachetools = "^5.3.0"
|
|
95
95
|
duckdb = "^1.0.0"
|
96
96
|
more-itertools = "^10.2.0"
|
97
97
|
numpy = "^1.26.3"
|
98
|
-
polars = "^1.
|
98
|
+
polars = "^1.25.2"
|
99
99
|
# buf (which we use to generate protobuf code) doesn't yet have a plugin
|
100
100
|
# that supports patch versions greater than 3.
|
101
101
|
protobuf = ">=4.25.0,<4.25.4"
|
@@ -335,6 +335,7 @@ known-third-party = ["proto", "rockset"]
|
|
335
335
|
"pyarrow.parquet" = "pq" # this alias is used in pyarrow examples
|
336
336
|
"sqlalchemy" = "sa" # common way to refer to sqlalchemy
|
337
337
|
"sqlalchemy.orm" = "sa_orm" # shortening to disambiguate from corvic.orm
|
338
|
+
"polars.selectors" = "cs" # this alias is used in polars examples
|
338
339
|
|
339
340
|
[tool.pyright]
|
340
341
|
include = ["python", "tests"]
|
@@ -176,7 +176,7 @@ class Space:
|
|
176
176
|
left_on=start_id_column_names,
|
177
177
|
right_on=self._node_ids,
|
178
178
|
how="left",
|
179
|
-
|
179
|
+
nulls_equal=True,
|
180
180
|
)
|
181
181
|
.select(["index"])
|
182
182
|
.rename({"index": "start"})
|
@@ -187,7 +187,7 @@ class Space:
|
|
187
187
|
left_on=end_id_column_names,
|
188
188
|
right_on=self._node_ids,
|
189
189
|
how="left",
|
190
|
-
|
190
|
+
nulls_equal=True,
|
191
191
|
)
|
192
192
|
.select(["index"])
|
193
193
|
.rename({"index": "end"})
|
@@ -2,7 +2,13 @@
|
|
2
2
|
|
3
3
|
import corvic.model._feature_type as feature_type
|
4
4
|
from corvic.model._agent import Agent, AgentID
|
5
|
-
from corvic.model._base_model import
|
5
|
+
from corvic.model._base_model import (
|
6
|
+
BaseModel,
|
7
|
+
BelongsToOrgModel,
|
8
|
+
BelongsToRoomModel,
|
9
|
+
HasProtoSelf,
|
10
|
+
UsesOrmID,
|
11
|
+
)
|
6
12
|
from corvic.model._completion_model import (
|
7
13
|
CompletionModel,
|
8
14
|
CompletionModelID,
|
@@ -25,6 +31,14 @@ from corvic.model._pipeline import (
|
|
25
31
|
)
|
26
32
|
from corvic.model._proto_orm_convert import (
|
27
33
|
UNCOMMITTED_ID_PREFIX,
|
34
|
+
OrmBelongsToOrgObj,
|
35
|
+
OrmBelongsToRoomObj,
|
36
|
+
OrmObj,
|
37
|
+
ProtoBelongsToOrgObj,
|
38
|
+
ProtoBelongsToRoomObj,
|
39
|
+
ProtoObj,
|
40
|
+
add_orm_org_mixin_to_session,
|
41
|
+
add_orm_room_mixin_to_session,
|
28
42
|
space_orm_to_proto,
|
29
43
|
timestamp_orm_to_proto,
|
30
44
|
)
|
@@ -60,6 +74,8 @@ __all__ = [
|
|
60
74
|
"Agent",
|
61
75
|
"AgentID",
|
62
76
|
"BaseModel",
|
77
|
+
"BelongsToOrgModel",
|
78
|
+
"BelongsToRoomModel",
|
63
79
|
"ChunkPdfsPipeline",
|
64
80
|
"Column",
|
65
81
|
"CompletionModel",
|
@@ -76,8 +92,14 @@ __all__ = [
|
|
76
92
|
"ImageSpace",
|
77
93
|
"Node2VecParameters",
|
78
94
|
"OcrPdfsPipeline",
|
95
|
+
"OrmObj",
|
96
|
+
"OrmBelongsToOrgObj",
|
97
|
+
"OrmBelongsToRoomObj",
|
79
98
|
"Pipeline",
|
80
99
|
"PipelineID",
|
100
|
+
"ProtoObj",
|
101
|
+
"ProtoBelongsToOrgObj",
|
102
|
+
"ProtoBelongsToRoomObj",
|
81
103
|
"RelationalSpace",
|
82
104
|
"Resource",
|
83
105
|
"ResourceID",
|
@@ -96,6 +118,8 @@ __all__ = [
|
|
96
118
|
"UnknownTransformationPipeline",
|
97
119
|
"UnknownSpace",
|
98
120
|
"UsesOrmID",
|
121
|
+
"add_orm_org_mixin_to_session",
|
122
|
+
"add_orm_room_mixin_to_session",
|
99
123
|
"embedding_model_proto_to_name",
|
100
124
|
"feature_type",
|
101
125
|
"image_model_proto_to_name",
|
@@ -10,7 +10,7 @@ from typing import TypeAlias
|
|
10
10
|
from sqlalchemy import orm as sa_orm
|
11
11
|
|
12
12
|
from corvic import orm, system
|
13
|
-
from corvic.model._base_model import
|
13
|
+
from corvic.model._base_model import BelongsToRoomModel
|
14
14
|
from corvic.model._defaults import Defaults
|
15
15
|
from corvic.model._proto_orm_convert import (
|
16
16
|
agent_delete_orms,
|
@@ -27,7 +27,7 @@ FeatureViewID: TypeAlias = orm.FeatureViewID
|
|
27
27
|
AgentID: TypeAlias = orm.AgentID
|
28
28
|
|
29
29
|
|
30
|
-
class Agent(
|
30
|
+
class Agent(BelongsToRoomModel[AgentID, models_pb2.Agent, orm.Agent]):
|
31
31
|
"""A corvic agent represents a named agent that can produce embeddings."""
|
32
32
|
|
33
33
|
@classmethod
|
@@ -133,10 +133,6 @@ class Agent(BaseModel[AgentID, models_pb2.Agent, orm.Agent]):
|
|
133
133
|
def name(self) -> str:
|
134
134
|
return self.proto_self.name
|
135
135
|
|
136
|
-
@property
|
137
|
-
def room_id(self) -> RoomID:
|
138
|
-
return RoomID(self.proto_self.room_id)
|
139
|
-
|
140
136
|
@property
|
141
137
|
def parameters(self) -> AgentParameters:
|
142
138
|
return self.proto_self.agent_parameters
|
@@ -5,29 +5,29 @@ import datetime
|
|
5
5
|
import functools
|
6
6
|
import uuid
|
7
7
|
from collections.abc import Callable, Iterable, Iterator, Sequence
|
8
|
-
from typing import Final, Generic
|
8
|
+
from typing import Final, Generic
|
9
9
|
|
10
10
|
import sqlalchemy as sa
|
11
11
|
import sqlalchemy.orm as sa_orm
|
12
12
|
import structlog
|
13
|
-
from google.protobuf import timestamp_pb2
|
14
13
|
from typing_extensions import Self
|
15
14
|
|
16
15
|
from corvic import orm, system
|
17
|
-
from corvic.model._proto_orm_convert import
|
16
|
+
from corvic.model._proto_orm_convert import (
|
17
|
+
ID,
|
18
|
+
UNCOMMITTED_ID_PREFIX,
|
19
|
+
OrmBelongsToOrgObj,
|
20
|
+
OrmBelongsToRoomObj,
|
21
|
+
OrmObj,
|
22
|
+
ProtoBelongsToOrgObj,
|
23
|
+
ProtoBelongsToRoomObj,
|
24
|
+
ProtoObj,
|
25
|
+
)
|
18
26
|
from corvic.result import InvalidArgumentError, NotFoundError, Ok
|
19
27
|
|
20
28
|
_logger = structlog.get_logger()
|
21
29
|
|
22
30
|
|
23
|
-
class _ModelProto(Protocol):
|
24
|
-
id: str
|
25
|
-
created_at: timestamp_pb2.Timestamp
|
26
|
-
|
27
|
-
|
28
|
-
_ProtoObj = TypeVar("_ProtoObj", bound=_ModelProto)
|
29
|
-
|
30
|
-
|
31
31
|
def _generate_uncommitted_id_str():
|
32
32
|
return f"{UNCOMMITTED_ID_PREFIX}{uuid.uuid4()}"
|
33
33
|
|
@@ -43,11 +43,11 @@ def _create_or_join_session(
|
|
43
43
|
yield session
|
44
44
|
|
45
45
|
|
46
|
-
class HasProtoSelf(Generic[
|
46
|
+
class HasProtoSelf(Generic[ProtoObj], abc.ABC):
|
47
47
|
client: Final[system.Client]
|
48
|
-
proto_self: Final[
|
48
|
+
proto_self: Final[ProtoObj]
|
49
49
|
|
50
|
-
def __init__(self, client: system.Client, proto_self:
|
50
|
+
def __init__(self, client: system.Client, proto_self: ProtoObj):
|
51
51
|
self.proto_self = proto_self
|
52
52
|
self.client = client
|
53
53
|
|
@@ -58,8 +58,8 @@ class HasProtoSelf(Generic[_ProtoObj], abc.ABC):
|
|
58
58
|
return None
|
59
59
|
|
60
60
|
|
61
|
-
class UsesOrmID(Generic[ID,
|
62
|
-
def __init__(self, client: system.Client, proto_self:
|
61
|
+
class UsesOrmID(Generic[ID, ProtoObj], HasProtoSelf[ProtoObj]):
|
62
|
+
def __init__(self, client: system.Client, proto_self: ProtoObj):
|
63
63
|
if not proto_self.id:
|
64
64
|
proto_self.id = _generate_uncommitted_id_str()
|
65
65
|
super().__init__(client, proto_self)
|
@@ -73,7 +73,7 @@ class UsesOrmID(Generic[ID, _ProtoObj], HasProtoSelf[_ProtoObj]):
|
|
73
73
|
return self.id_class().from_str(self.proto_self.id)
|
74
74
|
|
75
75
|
|
76
|
-
class BaseModel(Generic[ID,
|
76
|
+
class BaseModel(Generic[ID, ProtoObj, OrmObj], UsesOrmID[ID, ProtoObj]):
|
77
77
|
"""Base for orm wrappers providing a unified update mechanism."""
|
78
78
|
|
79
79
|
@classmethod
|
@@ -82,12 +82,12 @@ class BaseModel(Generic[ID, _ProtoObj, OrmObj], UsesOrmID[ID, _ProtoObj]):
|
|
82
82
|
|
83
83
|
@classmethod
|
84
84
|
@abc.abstractmethod
|
85
|
-
def orm_to_proto(cls, orm_obj: OrmObj) ->
|
85
|
+
def orm_to_proto(cls, orm_obj: OrmObj) -> ProtoObj: ...
|
86
86
|
|
87
87
|
@classmethod
|
88
88
|
@abc.abstractmethod
|
89
89
|
def proto_to_orm(
|
90
|
-
cls, proto_obj:
|
90
|
+
cls, proto_obj: ProtoObj, session: orm.Session
|
91
91
|
) -> Ok[OrmObj] | InvalidArgumentError: ...
|
92
92
|
|
93
93
|
@classmethod
|
@@ -102,7 +102,7 @@ class BaseModel(Generic[ID, _ProtoObj, OrmObj], UsesOrmID[ID, _ProtoObj]):
|
|
102
102
|
obj_id: ID,
|
103
103
|
client: system.Client,
|
104
104
|
existing_session: sa_orm.Session | None = None,
|
105
|
-
) -> Ok[
|
105
|
+
) -> Ok[ProtoObj] | NotFoundError:
|
106
106
|
"""Create a model object by loading it from the database."""
|
107
107
|
with _create_or_join_session(client, existing_session) as session:
|
108
108
|
orm_self = session.get(cls.orm_class(), obj_id)
|
@@ -146,7 +146,7 @@ class BaseModel(Generic[ID, _ProtoObj, OrmObj], UsesOrmID[ID, _ProtoObj]):
|
|
146
146
|
]
|
147
147
|
| None = None,
|
148
148
|
existing_session: sa_orm.Session | None = None,
|
149
|
-
) -> Ok[list[
|
149
|
+
) -> Ok[list[ProtoObj]] | NotFoundError | InvalidArgumentError:
|
150
150
|
"""List sources that exist in storage."""
|
151
151
|
orm_class = cls.orm_class()
|
152
152
|
with _create_or_join_session(client, existing_session) as session:
|
@@ -231,3 +231,25 @@ class BaseModel(Generic[ID, _ProtoObj, OrmObj], UsesOrmID[ID, _ProtoObj]):
|
|
231
231
|
proto_self=new_proto_self,
|
232
232
|
)
|
233
233
|
)
|
234
|
+
|
235
|
+
|
236
|
+
class BelongsToOrgModel(
|
237
|
+
Generic[ID, ProtoBelongsToOrgObj, OrmBelongsToOrgObj],
|
238
|
+
BaseModel[ID, ProtoBelongsToOrgObj, OrmBelongsToOrgObj],
|
239
|
+
):
|
240
|
+
"""Base for orm wrappers with org mixin providing a unified update mechanism."""
|
241
|
+
|
242
|
+
@property
|
243
|
+
def org_id(self) -> orm.OrgID:
|
244
|
+
return orm.OrgID().from_str(self.proto_self.org_id)
|
245
|
+
|
246
|
+
|
247
|
+
class BelongsToRoomModel(
|
248
|
+
Generic[ID, ProtoBelongsToRoomObj, OrmBelongsToRoomObj],
|
249
|
+
BelongsToOrgModel[ID, ProtoBelongsToRoomObj, OrmBelongsToRoomObj],
|
250
|
+
):
|
251
|
+
"""Base for orm wrappers with room mixin providing a unified update mechanism."""
|
252
|
+
|
253
|
+
@property
|
254
|
+
def room_id(self) -> orm.RoomID:
|
255
|
+
return orm.RoomID().from_str(self.proto_self.room_id)
|
{corvic_engine-0.3.0rc54 → corvic_engine-0.3.0rc56}/python/corvic/model/_completion_model.py
RENAMED
@@ -7,10 +7,11 @@ import datetime
|
|
7
7
|
from collections.abc import Iterable, Sequence
|
8
8
|
from typing import Literal, TypeAlias
|
9
9
|
|
10
|
+
from google.protobuf import timestamp_pb2
|
10
11
|
from sqlalchemy import orm as sa_orm
|
11
12
|
|
12
13
|
from corvic import orm, system
|
13
|
-
from corvic.model._base_model import
|
14
|
+
from corvic.model._base_model import BelongsToOrgModel
|
14
15
|
from corvic.model._defaults import Defaults
|
15
16
|
from corvic.model._proto_orm_convert import (
|
16
17
|
completion_model_delete_orms,
|
@@ -24,9 +25,13 @@ from corvic_generated.orm.v1 import completion_model_pb2
|
|
24
25
|
CompletionModelID: TypeAlias = orm.CompletionModelID
|
25
26
|
OrgID: TypeAlias = orm.OrgID
|
26
27
|
|
28
|
+
UNIX_TIMESTAMP_START_DATETIME = timestamp_pb2.Timestamp(seconds=0, nanos=0)
|
29
|
+
|
27
30
|
|
28
31
|
class CompletionModel(
|
29
|
-
|
32
|
+
BelongsToOrgModel[
|
33
|
+
CompletionModelID, models_pb2.CompletionModel, orm.CompletionModel
|
34
|
+
]
|
30
35
|
):
|
31
36
|
"""Completion Models."""
|
32
37
|
|
@@ -58,10 +63,6 @@ class CompletionModel(
|
|
58
63
|
def name(self) -> str:
|
59
64
|
return self.proto_self.name
|
60
65
|
|
61
|
-
@property
|
62
|
-
def org_id(self) -> OrgID:
|
63
|
-
return OrgID(self.proto_self.org_id)
|
64
|
-
|
65
66
|
@property
|
66
67
|
def provider(self) -> Literal["openai-generic", "azure-openai"] | None:
|
67
68
|
match self.proto_self.parameters.WhichOneof("params"):
|
@@ -112,6 +113,14 @@ class CompletionModel(
|
|
112
113
|
def description(self) -> str:
|
113
114
|
return self.proto_self.description
|
114
115
|
|
116
|
+
@property
|
117
|
+
def last_validation_time(self) -> datetime.datetime | None:
|
118
|
+
if self.proto_self.last_validation_time != UNIX_TIMESTAMP_START_DATETIME:
|
119
|
+
return self.proto_self.last_validation_time.ToDatetime(
|
120
|
+
tzinfo=datetime.timezone.utc
|
121
|
+
)
|
122
|
+
return None
|
123
|
+
|
115
124
|
@classmethod
|
116
125
|
def create(
|
117
126
|
cls,
|
@@ -197,3 +206,10 @@ class CompletionModel(
|
|
197
206
|
proto_self = copy.deepcopy(self.proto_self)
|
198
207
|
proto_self.secret_api_key = secret_api_key
|
199
208
|
return CompletionModel(self.client, proto_self)
|
209
|
+
|
210
|
+
def with_last_validation_time(
|
211
|
+
self, last_validation_time: datetime.datetime
|
212
|
+
) -> CompletionModel:
|
213
|
+
proto_self = copy.deepcopy(self.proto_self)
|
214
|
+
proto_self.last_validation_time.FromDatetime(last_validation_time)
|
215
|
+
return CompletionModel(self.client, proto_self)
|
@@ -18,7 +18,7 @@ from sqlalchemy.orm.interfaces import LoaderOption
|
|
18
18
|
from typing_extensions import Self
|
19
19
|
|
20
20
|
from corvic import op_graph, orm, system
|
21
|
-
from corvic.model._base_model import
|
21
|
+
from corvic.model._base_model import BelongsToRoomModel, UsesOrmID
|
22
22
|
from corvic.model._defaults import Defaults
|
23
23
|
from corvic.model._proto_orm_convert import (
|
24
24
|
feature_view_delete_orms,
|
@@ -642,7 +642,9 @@ class DeepGnnCsvUrlMetadata(DataclassAsTypedMetadataMixin):
|
|
642
642
|
output_csv_url: str
|
643
643
|
|
644
644
|
|
645
|
-
class FeatureView(
|
645
|
+
class FeatureView(
|
646
|
+
BelongsToRoomModel[FeatureViewID, models_pb2.FeatureView, orm.FeatureView]
|
647
|
+
):
|
646
648
|
"""FeatureViews describe how Sources should be modeled to create a feature space.
|
647
649
|
|
648
650
|
Example:
|
@@ -738,10 +740,6 @@ class FeatureView(BaseModel[FeatureViewID, models_pb2.FeatureView, orm.FeatureVi
|
|
738
740
|
pass
|
739
741
|
return Ok([cls.from_proto(proto, client) for proto in protos])
|
740
742
|
|
741
|
-
@property
|
742
|
-
def room_id(self):
|
743
|
-
return RoomID(self.proto_self.room_id)
|
744
|
-
|
745
743
|
@property
|
746
744
|
def source_ids(self):
|
747
745
|
return [fv_source.source.id for fv_source in self.feature_view_sources]
|
@@ -15,7 +15,7 @@ from typing_extensions import Self
|
|
15
15
|
|
16
16
|
import corvic.table
|
17
17
|
from corvic import op_graph, orm, system
|
18
|
-
from corvic.model._base_model import
|
18
|
+
from corvic.model._base_model import BelongsToRoomModel
|
19
19
|
from corvic.model._defaults import Defaults
|
20
20
|
from corvic.model._proto_orm_convert import (
|
21
21
|
pipeline_delete_orms,
|
@@ -31,7 +31,7 @@ PipelineID: TypeAlias = orm.PipelineID
|
|
31
31
|
RoomID: TypeAlias = orm.RoomID
|
32
32
|
|
33
33
|
|
34
|
-
class Pipeline(
|
34
|
+
class Pipeline(BelongsToRoomModel[PipelineID, models_pb2.Pipeline, orm.Pipeline]):
|
35
35
|
"""Pipelines map resources to sources."""
|
36
36
|
|
37
37
|
@classmethod
|
@@ -152,10 +152,6 @@ class Pipeline(BaseModel[PipelineID, models_pb2.Pipeline, orm.Pipeline]):
|
|
152
152
|
case Ok(protos):
|
153
153
|
return Ok([cls.from_proto(proto, client) for proto in protos])
|
154
154
|
|
155
|
-
@property
|
156
|
-
def room_id(self):
|
157
|
-
return RoomID(self.proto_self.room_id)
|
158
|
-
|
159
155
|
@property
|
160
156
|
def name(self):
|
161
157
|
return self.proto_self.name
|