corvic-engine 0.3.0rc47__tar.gz → 0.3.0rc49__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.0rc47 → corvic_engine-0.3.0rc49}/Cargo.lock +2 -2
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/Cargo.toml +1 -1
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/PKG-INFO +1 -1
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/pyproject.toml +2 -2
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_feature_view.py +3 -1
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_resource.py +1 -2
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/__init__.py +0 -2
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/storage.py +51 -78
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system_sqlite/client.py +0 -1
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system_sqlite/staging.py +11 -6
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/table/table.py +17 -13
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/agent_pb2.py +2 -2
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/agent_pb2.pyi +2 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/LICENSE +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/README.md +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/Cargo.toml +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/expression_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/expression_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/expression_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/expression_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/priv/private_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/priv/private_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/priv/private_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/priv/private_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/validate_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/validate_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/validate_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/validate_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/context/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/context/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embed/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embed/node2vec.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embed/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embedding_metric/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embedding_metric/embeddings.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embedding_metric/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/engine/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/engine/_native.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/engine/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_agent.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_base_model.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_completion_model.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_defaults.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_errors.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_feature_type.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_pipeline.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_proto_orm_convert.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_room.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_source.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_space.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/_schema.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/_transformations.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/aggregation.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/encoders.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/errors.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/feature_types.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/ops.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/row_filters/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/row_filters/_jsonlogic.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/row_filters/_row_filters.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/sample_strategy.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/_proto_columns.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/base.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/errors.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/func/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/func/utc_func.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/func/uuid_func.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/ids.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/keys.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/mixins.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/orm/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/pa_scalar/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/pa_scalar/_const.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/pa_scalar/_from_value.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/pa_scalar/_temporal.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/pa_scalar/_to_value.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/pa_scalar/_types.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/pa_scalar/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/proto_wrapper/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/proto_wrapper/_errors.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/proto_wrapper/_wrappers.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/proto_wrapper/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/result/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/result/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/sql/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/sql/parse_ops.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/sql/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/_dimension_reduction.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/_embedder.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/_image_embedder.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/_planner.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/_text_embedder.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/client.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/in_memory_executor.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/op_graph_executor.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system/staging.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system_sqlite/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system_sqlite/fs_blob_store.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system_sqlite/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/system_sqlite/rdbms_blob_store.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/table/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/table/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/version/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/version/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/well_known_types/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/well_known_types/py.typed +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/algorithm/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/algorithm/graph/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/algorithm/graph/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/algorithm/graph/v1/graph_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/algorithm/graph/v1/graph_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/chat/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/chat/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/chat/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/chat/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/chat/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/chat/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/completion/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/completion/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/completion/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/completion/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/completion/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/completion/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/config/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/config/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/config/v1/settings_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/config/v1/settings_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/config/v1/settings_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/config/v1/settings_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/embedding/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/embedding/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/embedding/v1/models_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/embedding/v1/models_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/embedding/v1/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/embedding/v1/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/experiment_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/experiment_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/experiment_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/experiment_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/feature/v2/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v1/service_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/quick_mode_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/quick_mode_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/resource_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/resource_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/resource_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/resource_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/room_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/room_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/room_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/room_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/source_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/source_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/source_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/source_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/table_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/table_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/ingest/v2/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/model/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/model/v1alpha/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/model/v1alpha/models_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/model/v1alpha/models_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/model/v1alpha/models_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/model/v1alpha/models_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/agent_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/agent_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/common_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/common_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/common_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/common_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/completion_model_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/completion_model_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/feature_view_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/feature_view_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/pipeline_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/pipeline_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/space_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/space_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/space_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/space_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/table_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/table_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/table_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/table_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/platform/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/platform/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/platform/v1/platform_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/platform/v1/platform_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/platform/v1/platform_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/platform/v1/platform_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/query/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/query/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/query/v1/query_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/query/v1/query_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/query/v1/query_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/query/v1/query_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/__init__.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/event_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/event_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/event_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/event_pb2_grpc.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/service_pb2.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/service_pb2.pyi +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/status/v1/service_pb2_grpc.py +0 -0
- {corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/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.49"
|
26
26
|
dependencies = [
|
27
27
|
"numpy",
|
28
28
|
"pyo3",
|
@@ -63,7 +63,7 @@ checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0"
|
|
63
63
|
|
64
64
|
[[package]]
|
65
65
|
name = "engine-walk"
|
66
|
-
version = "0.3.0-rc.
|
66
|
+
version = "0.3.0-rc.49"
|
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.49" # 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.49"
|
78
78
|
|
79
79
|
[tool.poetry.scripts]
|
80
80
|
check = "corvic_check.cli:main"
|
@@ -340,7 +340,9 @@ class Relationship:
|
|
340
340
|
|
341
341
|
result = self.joined_table().select(result_columns)
|
342
342
|
|
343
|
-
for batch in result.to_polars(
|
343
|
+
for batch in result.to_polars(
|
344
|
+
room_id=self.start_source.room_id
|
345
|
+
).unwrap_or_raise():
|
344
346
|
for row in batch.rows(named=True):
|
345
347
|
yield (row[result_columns[0]], row[result_columns[1]])
|
346
348
|
|
@@ -4,7 +4,6 @@ from __future__ import annotations
|
|
4
4
|
|
5
5
|
import copy
|
6
6
|
import datetime
|
7
|
-
import uuid
|
8
7
|
from collections.abc import Iterable, Sequence
|
9
8
|
from typing import TypeAlias
|
10
9
|
|
@@ -219,8 +218,8 @@ class Resource(BaseModel[ResourceID, models_pb2.Resource, orm.Resource]):
|
|
219
218
|
) -> Self:
|
220
219
|
client = client or Defaults.get_default_client()
|
221
220
|
room_id = room_id or Defaults.get_default_room_id(client)
|
222
|
-
blob = client.storage_manager.tabular.blob(f"polars_dataframe/{uuid.uuid4()}")
|
223
221
|
|
222
|
+
blob = client.storage_manager.make_tabular_blob(room_id, "anonymous_tables")
|
224
223
|
with blob.open(mode="wb") as stream:
|
225
224
|
data_frame.write_parquet(stream)
|
226
225
|
|
@@ -48,7 +48,6 @@ from corvic.system.storage import (
|
|
48
48
|
Blob,
|
49
49
|
BlobClient,
|
50
50
|
Bucket,
|
51
|
-
DataKindManager,
|
52
51
|
DataMisplacedError,
|
53
52
|
StorageManager,
|
54
53
|
)
|
@@ -71,7 +70,6 @@ __all__ = [
|
|
71
70
|
"Clip",
|
72
71
|
"ClipText",
|
73
72
|
"DEFAULT_VECTOR_COLUMN_NAMES_TO_SIZES",
|
74
|
-
"DataKindManager",
|
75
73
|
"DataMisplacedError",
|
76
74
|
"DimensionReducer",
|
77
75
|
"EmbedTextContext",
|
@@ -3,14 +3,14 @@
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
5
|
import contextlib
|
6
|
-
import io
|
7
6
|
import uuid
|
8
7
|
from collections.abc import Iterator
|
9
|
-
from typing import Any, Literal
|
8
|
+
from typing import Any, BinaryIO, Final, Literal
|
10
9
|
|
11
10
|
from typing_extensions import Protocol
|
12
11
|
|
13
|
-
from corvic
|
12
|
+
from corvic import orm
|
13
|
+
from corvic.result import Error
|
14
14
|
|
15
15
|
|
16
16
|
class DataMisplacedError(Error):
|
@@ -74,9 +74,7 @@ class Blob(Protocol):
|
|
74
74
|
def url(self) -> str: ...
|
75
75
|
|
76
76
|
@contextlib.contextmanager
|
77
|
-
def open(
|
78
|
-
self, mode: Literal["rb", "wb"], **kwargs: Any
|
79
|
-
) -> Iterator[io.BytesIO]: ...
|
77
|
+
def open(self, mode: Literal["rb", "wb"], **kwargs: Any) -> Iterator[BinaryIO]: ...
|
80
78
|
|
81
79
|
def delete(self) -> None: ...
|
82
80
|
|
@@ -105,60 +103,16 @@ class Bucket(Protocol):
|
|
105
103
|
def list_blobs(self, prefix: str | None = None) -> Iterator[Blob]: ...
|
106
104
|
|
107
105
|
|
108
|
-
class DataKindManager:
|
109
|
-
"""Manages the names of blobs that corvic stores for a particular data kind.
|
110
|
-
|
111
|
-
Kinds are managed by the NamespaceManager
|
112
|
-
"""
|
113
|
-
|
114
|
-
def __init__(self, storage_manager: StorageManager, prefix: str):
|
115
|
-
if prefix.endswith("/"):
|
116
|
-
raise ValueError("prefix should not end with a path separator (/)")
|
117
|
-
self._namespace_manager = storage_manager
|
118
|
-
self._prefix = prefix
|
119
|
-
|
120
|
-
@property
|
121
|
-
def prefix(self):
|
122
|
-
return self._prefix
|
123
|
-
|
124
|
-
def make_anonymous_table_url(self):
|
125
|
-
return self.blob(f"anonymous_tables/{uuid.uuid4()}.parquet").url
|
126
|
-
|
127
|
-
def blob(self, blob_name: str):
|
128
|
-
return self._namespace_manager.bucket.blob(f"{self.prefix}/{blob_name}")
|
129
|
-
|
130
|
-
def _blob_from_url(self, url: str) -> Ok[Blob] | DataMisplacedError:
|
131
|
-
blob = self._namespace_manager.blob_from_url(url)
|
132
|
-
if self._namespace_manager.bucket.name != blob.bucket.name:
|
133
|
-
return DataMisplacedError(
|
134
|
-
"data stored at a different bucket than expected",
|
135
|
-
url=url,
|
136
|
-
expected_bucket=self._namespace_manager.bucket.name,
|
137
|
-
)
|
138
|
-
if not blob.name.startswith(self._prefix):
|
139
|
-
return DataMisplacedError(
|
140
|
-
"data stored at a different prefix than expected",
|
141
|
-
url=url,
|
142
|
-
expected_prefix=self._prefix,
|
143
|
-
)
|
144
|
-
return Ok(blob)
|
145
|
-
|
146
|
-
def blob_name_from_url(self, url: str) -> Ok[str] | DataMisplacedError:
|
147
|
-
def _to_name(blob: Blob) -> str:
|
148
|
-
return blob.name.removeprefix(self._prefix + "/")
|
149
|
-
|
150
|
-
return self._blob_from_url(url=url).map(_to_name)
|
151
|
-
|
152
|
-
|
153
106
|
class StorageManager:
|
154
107
|
"""Manages the names of blobs that corvic stores."""
|
155
108
|
|
156
109
|
_blob_client: BlobClient
|
157
110
|
_bucket_name: str
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
111
|
+
|
112
|
+
unstructured_prefix: Final[str]
|
113
|
+
tabular_prefix: Final[str]
|
114
|
+
vector_prefix: Final[str]
|
115
|
+
bucket: Final[Bucket]
|
162
116
|
|
163
117
|
def __init__(
|
164
118
|
self,
|
@@ -167,36 +121,55 @@ class StorageManager:
|
|
167
121
|
bucket_name: str,
|
168
122
|
unstructured_prefix: str,
|
169
123
|
tabular_prefix: str,
|
170
|
-
space_run_prefix: str,
|
171
124
|
vector_prefix: str,
|
172
125
|
):
|
173
126
|
self._blob_client = blob_client
|
174
127
|
self._bucket_name = bucket_name
|
175
128
|
|
176
|
-
|
177
|
-
|
178
|
-
self._space_run_manager = DataKindManager(self, space_run_prefix)
|
179
|
-
self._vector_manager = DataKindManager(self, vector_prefix)
|
180
|
-
|
181
|
-
def blob_from_url(self, url: str):
|
182
|
-
return self._blob_client.blob_from_url(url)
|
129
|
+
if unstructured_prefix.endswith("/") or tabular_prefix.endswith("/"):
|
130
|
+
raise ValueError("prefix should not end with a path separator (/)")
|
183
131
|
|
184
|
-
|
185
|
-
|
186
|
-
|
132
|
+
self.unstructured_prefix = unstructured_prefix
|
133
|
+
self.tabular_prefix = tabular_prefix
|
134
|
+
self.vector_prefix = vector_prefix
|
187
135
|
|
188
|
-
|
189
|
-
def tabular(self):
|
190
|
-
return self._tabular_manager
|
136
|
+
self.bucket = self._blob_client.bucket(self._bucket_name)
|
191
137
|
|
192
|
-
@
|
193
|
-
def
|
194
|
-
return
|
138
|
+
@staticmethod
|
139
|
+
def _render_room_id(room_id: orm.RoomID) -> str:
|
140
|
+
return f"{int(str(room_id)):016}"
|
195
141
|
|
196
|
-
|
197
|
-
|
198
|
-
return self._space_run_manager
|
142
|
+
def blob_from_url(self, url: str):
|
143
|
+
return self._blob_client.blob_from_url(url)
|
199
144
|
|
200
|
-
|
201
|
-
|
202
|
-
|
145
|
+
def make_tabular_blob(self, room_id: orm.RoomID, suffix: str | None = None) -> Blob:
|
146
|
+
if suffix:
|
147
|
+
name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}/{suffix}"
|
148
|
+
else:
|
149
|
+
name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}"
|
150
|
+
return self.bucket.blob(f"{self.tabular_prefix}/{name}")
|
151
|
+
|
152
|
+
def make_unstructured_blob(
|
153
|
+
self, room_id: orm.RoomID, suffix: str | None = None
|
154
|
+
) -> Blob:
|
155
|
+
if suffix:
|
156
|
+
name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}/{suffix}"
|
157
|
+
else:
|
158
|
+
name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}"
|
159
|
+
return self.bucket.blob(f"{self.unstructured_prefix}/{name}")
|
160
|
+
|
161
|
+
def make_vector_blob(self, room_id: orm.RoomID, suffix: str | None = None) -> Blob:
|
162
|
+
if suffix:
|
163
|
+
name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}/{suffix}"
|
164
|
+
else:
|
165
|
+
name = f"{self._render_room_id(room_id)}/{uuid.uuid4()}"
|
166
|
+
return self.bucket.blob(f"{self.vector_prefix}/{name}")
|
167
|
+
|
168
|
+
def get_tabular_blob_from_blob_name(self, blob_name: str) -> Blob:
|
169
|
+
return self.bucket.blob(f"{self.tabular_prefix}/{blob_name}")
|
170
|
+
|
171
|
+
def get_unstructured_blob_from_blob_name(self, blob_name: str) -> Blob:
|
172
|
+
return self.bucket.blob(f"{self.unstructured_prefix}/{blob_name}")
|
173
|
+
|
174
|
+
def get_vector_blob_from_blob_name(self, blob_name: str) -> Blob:
|
175
|
+
return self.bucket.blob(f"{self.vector_prefix}/{blob_name}")
|
@@ -135,7 +135,6 @@ class Client(corvic.system.Client):
|
|
135
135
|
bucket_name=bucket.name,
|
136
136
|
unstructured_prefix="unstructured_data",
|
137
137
|
tabular_prefix="tabular_data",
|
138
|
-
space_run_prefix="experiment_run_data",
|
139
138
|
vector_prefix="vectors",
|
140
139
|
)
|
141
140
|
corvic.orm.Base.metadata.create_all(self._sa_engine)
|
@@ -15,7 +15,6 @@ import sqlglot.expressions
|
|
15
15
|
from corvic.op_graph import Schema
|
16
16
|
from corvic.result import InternalError, Ok
|
17
17
|
from corvic.system import (
|
18
|
-
DataKindManager,
|
19
18
|
StagingDB,
|
20
19
|
StorageManager,
|
21
20
|
TableSliceArgs,
|
@@ -255,17 +254,18 @@ class DuckDBStaging(StagingDB):
|
|
255
254
|
|
256
255
|
def _update_blobs_for_prefix(
|
257
256
|
self,
|
258
|
-
manager: DataKindManager,
|
259
257
|
next_count: dict[str, int | None],
|
258
|
+
prefix: str,
|
260
259
|
transform_table: Callable[[str, pa.Table], None] | None = None,
|
261
260
|
):
|
262
261
|
bucket = self._storage_manager.bucket
|
263
262
|
blobs = bucket.list_blobs()
|
264
|
-
prefix = manager.prefix
|
265
263
|
table_blobs = [
|
266
264
|
(
|
267
265
|
blob,
|
268
|
-
|
266
|
+
self._storage_manager.blob_from_url(blob.url).name.removeprefix(
|
267
|
+
prefix + "/"
|
268
|
+
),
|
269
269
|
)
|
270
270
|
for blob in blobs
|
271
271
|
if blob.name.startswith(prefix)
|
@@ -289,9 +289,14 @@ class DuckDBStaging(StagingDB):
|
|
289
289
|
As a side-effect, update _table_counts.
|
290
290
|
"""
|
291
291
|
next_count: dict[str, int | None] = {}
|
292
|
-
self._update_blobs_for_prefix(self._storage_manager.tabular, next_count)
|
293
292
|
self._update_blobs_for_prefix(
|
294
|
-
|
293
|
+
next_count,
|
294
|
+
self._storage_manager.tabular_prefix,
|
295
|
+
)
|
296
|
+
self._update_blobs_for_prefix(
|
297
|
+
next_count,
|
298
|
+
self._storage_manager.vector_prefix,
|
299
|
+
self._add_vector_indexes,
|
295
300
|
)
|
296
301
|
self._table_counts = next_count
|
297
302
|
|
@@ -23,7 +23,7 @@ import structlog
|
|
23
23
|
from google.protobuf import struct_pb2
|
24
24
|
from typing_extensions import Self
|
25
25
|
|
26
|
-
from corvic import op_graph
|
26
|
+
from corvic import op_graph, orm
|
27
27
|
from corvic.op_graph import Encoder, Schema
|
28
28
|
from corvic.result import (
|
29
29
|
InternalError,
|
@@ -341,17 +341,19 @@ class Table:
|
|
341
341
|
if len(null_columns) > 0:
|
342
342
|
_logger.warning("dropped null columns", columns=null_columns)
|
343
343
|
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
)
|
344
|
+
blob_name = client.storage_manager.blob_from_url(blob.url).name.removeprefix(
|
345
|
+
client.storage_manager.tabular_prefix + "/"
|
346
|
+
)
|
347
|
+
|
348
|
+
match op_graph.from_staging(
|
349
|
+
blob_names=[blob_name],
|
350
|
+
arrow_schema=schema.to_arrow(),
|
351
|
+
feature_types=[field.ftype for field in schema],
|
352
|
+
expected_rows=num_rows,
|
351
353
|
):
|
352
354
|
case Ok(op):
|
353
355
|
pass
|
354
|
-
case
|
356
|
+
case InvalidArgumentError() as error:
|
355
357
|
return error
|
356
358
|
if len(null_columns) > 0:
|
357
359
|
match op.select_columns(kept_columns):
|
@@ -366,7 +368,7 @@ class Table:
|
|
366
368
|
return self.op_graph.to_bytes()
|
367
369
|
|
368
370
|
def to_polars(
|
369
|
-
self, *, flatten_single_field: bool = False
|
371
|
+
self, room_id: orm.RoomID, *, flatten_single_field: bool = False
|
370
372
|
) -> (
|
371
373
|
Ok[Iterable[pl.DataFrame]]
|
372
374
|
| InvalidArgumentError
|
@@ -374,7 +376,7 @@ class Table:
|
|
374
376
|
| ResourceExhaustedError
|
375
377
|
):
|
376
378
|
"""Stream over the view as a series of Polars DataFrames."""
|
377
|
-
match self.to_batches():
|
379
|
+
match self.to_batches(room_id=room_id):
|
378
380
|
case Ok(batch_reader):
|
379
381
|
pass
|
380
382
|
case err:
|
@@ -438,7 +440,7 @@ class Table:
|
|
438
440
|
)
|
439
441
|
|
440
442
|
def to_batches(
|
441
|
-
self,
|
443
|
+
self, room_id: orm.RoomID
|
442
444
|
) -> (
|
443
445
|
Ok[pa.RecordBatchReader]
|
444
446
|
| InvalidArgumentError
|
@@ -450,7 +452,9 @@ class Table:
|
|
450
452
|
tables_to_compute=[
|
451
453
|
TableComputeContext(
|
452
454
|
self.op_graph,
|
453
|
-
output_url_prefix=self.client.storage_manager.
|
455
|
+
output_url_prefix=self.client.storage_manager.make_tabular_blob(
|
456
|
+
room_id=room_id, suffix="anonymous_tables"
|
457
|
+
).url,
|
454
458
|
)
|
455
459
|
],
|
456
460
|
)
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/agent_pb2.py
RENAMED
@@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19\x63orvic/orm/v1/agent.proto\x12\rcorvic.orm.v1\"\xf3\x01\n\x12\x45xecutorParameters\x12L\n\x15\x63ompletion_model_type\x18\x01 \x01(\x0e\x32\x18.corvic.orm.v1.ModelTypeR\x13\x63ompletionModelType\x12\x42\n\x1d\x63ompletion_system_instruction\x18\x02 \x01(\tR\x1b\x63ompletionSystemInstruction\x12\x33\n\x13\x63ompletion_model_id\x18\x03 \x01(\tH\x00R\x11\x63ompletionModelId\x88\x01\x01\x42\x16\n\x14_completion_model_id\"V\n\x10SpaceInstruction\x12 \n\x0binstruction\x18\x01 \x01(\tR\x0binstruction\x12 \n\x0cspace_run_id\x18\x02 \x01(\tR\nspaceRunId\"\x89\x02\n\x16OrchestratorParameters\x12\x1b\n\tspace_ids\x18\x01 \x03(\tR\x08spaceIds\x12k\n\x12space_instructions\x18\x02 \x03(\x0b\x32<.corvic.orm.v1.OrchestratorParameters.SpaceInstructionsEntryR\x11spaceInstructions\x1a\x65\n\x16SpaceInstructionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1f.corvic.orm.v1.SpaceInstructionR\x05value:\x02\x38\x01\"\xc5\x01\n\x0f\x41gentParameters\x12R\n\x13\x65xecutor_parameters\x18\x01 \x01(\x0b\x32!.corvic.orm.v1.ExecutorParametersR\x12\x65xecutorParameters\x12^\n\x17orchestrator_parameters\x18\x02 \x01(\x0b\x32%.corvic.orm.v1.OrchestratorParametersR\x16orchestratorParameters*\
|
17
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19\x63orvic/orm/v1/agent.proto\x12\rcorvic.orm.v1\"\xf3\x01\n\x12\x45xecutorParameters\x12L\n\x15\x63ompletion_model_type\x18\x01 \x01(\x0e\x32\x18.corvic.orm.v1.ModelTypeR\x13\x63ompletionModelType\x12\x42\n\x1d\x63ompletion_system_instruction\x18\x02 \x01(\tR\x1b\x63ompletionSystemInstruction\x12\x33\n\x13\x63ompletion_model_id\x18\x03 \x01(\tH\x00R\x11\x63ompletionModelId\x88\x01\x01\x42\x16\n\x14_completion_model_id\"V\n\x10SpaceInstruction\x12 \n\x0binstruction\x18\x01 \x01(\tR\x0binstruction\x12 \n\x0cspace_run_id\x18\x02 \x01(\tR\nspaceRunId\"\x89\x02\n\x16OrchestratorParameters\x12\x1b\n\tspace_ids\x18\x01 \x03(\tR\x08spaceIds\x12k\n\x12space_instructions\x18\x02 \x03(\x0b\x32<.corvic.orm.v1.OrchestratorParameters.SpaceInstructionsEntryR\x11spaceInstructions\x1a\x65\n\x16SpaceInstructionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1f.corvic.orm.v1.SpaceInstructionR\x05value:\x02\x38\x01\"\xc5\x01\n\x0f\x41gentParameters\x12R\n\x13\x65xecutor_parameters\x18\x01 \x01(\x0b\x32!.corvic.orm.v1.ExecutorParametersR\x12\x65xecutorParameters\x12^\n\x17orchestrator_parameters\x18\x02 \x01(\x0b\x32%.corvic.orm.v1.OrchestratorParametersR\x16orchestratorParameters*\x81\x05\n\tModelType\x12\x1a\n\x16MODEL_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19MODEL_TYPE_GEMINI_1_5_PRO\x10\x01\x12%\n!MODEL_TYPE_GEMINI_1_5_PRO_PREVIEW\x10\x02\x12\x1f\n\x1bMODEL_TYPE_GEMINI_1_5_FLASH\x10\x03\x12\'\n#MODEL_TYPE_GEMINI_1_5_FLASH_PREVIEW\x10\x04\x12\'\n#MODEL_TYPE_GEMINI_2_0_FLASH_PREVIEW\x10\r\x12\x30\n,MODEL_TYPE_GEMINI_2_0_FLASH_THINKING_PREVIEW\x10\x10\x12\x1f\n\x1bMODEL_TYPE_GEMINI_2_0_FLASH\x10\x13\x12\x1b\n\x17MODEL_TYPE_GPT_4_O_MINI\x10\x05\x12\x16\n\x12MODEL_TYPE_GPT_4_O\x10\x06\x12\x1c\n\x18MODEL_TYPE_GPT_3_5_TURBO\x10\x07\x12\x12\n\x0eMODEL_TYPE_O_1\x10\x0e\x12\x17\n\x13MODEL_TYPE_O_1_MINI\x10\x0f\x12\x17\n\x13MODEL_TYPE_O_3_MINI\x10\x12\x12 \n\x1cMODEL_TYPE_CLAUDE_3_5_SONNET\x10\x08\x12\x1d\n\x19MODEL_TYPE_CLAUDE_3_HAIKU\x10\t\x12\x1c\n\x18MODEL_TYPE_MISTRAL_LARGE\x10\n\x12\x1b\n\x17MODEL_TYPE_MISTRAL_NEMO\x10\x0b\x12 \n\x1cMODEL_TYPE_MISTRAL_CODESTRAL\x10\x0c\x12\x15\n\x11MODEL_TYPE_CUSTOM\x10\x11\x62\x06proto3')
|
18
18
|
|
19
19
|
_globals = globals()
|
20
20
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
@@ -24,7 +24,7 @@ if _descriptor._USE_C_DESCRIPTORS == False:
|
|
24
24
|
_globals['_ORCHESTRATORPARAMETERS_SPACEINSTRUCTIONSENTRY']._options = None
|
25
25
|
_globals['_ORCHESTRATORPARAMETERS_SPACEINSTRUCTIONSENTRY']._serialized_options = b'8\001'
|
26
26
|
_globals['_MODELTYPE']._serialized_start=847
|
27
|
-
_globals['_MODELTYPE']._serialized_end=
|
27
|
+
_globals['_MODELTYPE']._serialized_end=1488
|
28
28
|
_globals['_EXECUTORPARAMETERS']._serialized_start=45
|
29
29
|
_globals['_EXECUTORPARAMETERS']._serialized_end=288
|
30
30
|
_globals['_SPACEINSTRUCTION']._serialized_start=290
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic_generated/orm/v1/agent_pb2.pyi
RENAMED
@@ -15,6 +15,7 @@ class ModelType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
|
|
15
15
|
MODEL_TYPE_GEMINI_1_5_FLASH_PREVIEW: _ClassVar[ModelType]
|
16
16
|
MODEL_TYPE_GEMINI_2_0_FLASH_PREVIEW: _ClassVar[ModelType]
|
17
17
|
MODEL_TYPE_GEMINI_2_0_FLASH_THINKING_PREVIEW: _ClassVar[ModelType]
|
18
|
+
MODEL_TYPE_GEMINI_2_0_FLASH: _ClassVar[ModelType]
|
18
19
|
MODEL_TYPE_GPT_4_O_MINI: _ClassVar[ModelType]
|
19
20
|
MODEL_TYPE_GPT_4_O: _ClassVar[ModelType]
|
20
21
|
MODEL_TYPE_GPT_3_5_TURBO: _ClassVar[ModelType]
|
@@ -34,6 +35,7 @@ MODEL_TYPE_GEMINI_1_5_FLASH: ModelType
|
|
34
35
|
MODEL_TYPE_GEMINI_1_5_FLASH_PREVIEW: ModelType
|
35
36
|
MODEL_TYPE_GEMINI_2_0_FLASH_PREVIEW: ModelType
|
36
37
|
MODEL_TYPE_GEMINI_2_0_FLASH_THINKING_PREVIEW: ModelType
|
38
|
+
MODEL_TYPE_GEMINI_2_0_FLASH: ModelType
|
37
39
|
MODEL_TYPE_GPT_4_O_MINI: ModelType
|
38
40
|
MODEL_TYPE_GPT_4_O: ModelType
|
39
41
|
MODEL_TYPE_GPT_3_5_TURBO: ModelType
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/expression_pb2_grpc.py
RENAMED
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/expression_pb2_grpc.pyi
RENAMED
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/priv/private_pb2.pyi
RENAMED
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/priv/private_pb2_grpc.py
RENAMED
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/priv/private_pb2_grpc.pyi
RENAMED
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/validate_pb2_grpc.py
RENAMED
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/buf/validate/validate_pb2_grpc.pyi
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embedding_metric/__init__.py
RENAMED
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/embedding_metric/embeddings.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_completion_model.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/model/_proto_orm_convert.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/_transformations.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/row_filters/__init__.py
RENAMED
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/row_filters/_jsonlogic.py
RENAMED
File without changes
|
File without changes
|
{corvic_engine-0.3.0rc47 → corvic_engine-0.3.0rc49}/python/corvic/op_graph/sample_strategy.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|