corvic-engine 0.3.0rc77__tar.gz → 0.3.0rc79__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.
Files changed (214) hide show
  1. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/Cargo.lock +6 -6
  2. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/Cargo.toml +1 -1
  3. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/PKG-INFO +1 -1
  4. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/pyproject.toml +7 -5
  5. {corvic_engine-0.3.0rc77/python/corvic/orm → corvic_engine-0.3.0rc79/python/corvic/eorm}/__init__.py +128 -110
  6. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_base_model.py +24 -24
  7. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_completion_model.py +9 -9
  8. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_defaults.py +5 -5
  9. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_feature_view.py +17 -17
  10. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_pipeline.py +12 -12
  11. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_proto_orm_convert.py +102 -100
  12. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_resource.py +24 -24
  13. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_room.py +10 -14
  14. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_source.py +18 -18
  15. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_space.py +21 -21
  16. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/_schema.py +3 -3
  17. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/feature_types.py +4 -4
  18. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/ops.py +2 -2
  19. corvic_engine-0.3.0rc79/python/corvic/orm/__init__.py +281 -0
  20. corvic_engine-0.3.0rc79/python/corvic/orm/_soft_delete.py +218 -0
  21. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/ids.py +0 -69
  22. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/__init__.py +0 -2
  23. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/_embedder.py +2 -2
  24. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/in_memory_executor.py +0 -13
  25. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/op_graph_executor.py +2 -2
  26. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/storage.py +10 -8
  27. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system_sqlite/client.py +10 -10
  28. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/table/table.py +3 -3
  29. corvic_engine-0.3.0rc77/python/corvic/orm/base.py +0 -256
  30. corvic_engine-0.3.0rc77/python/corvic/orm/mixins.py +0 -480
  31. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/LICENSE +0 -0
  32. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/README.md +0 -0
  33. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/Cargo.toml +0 -0
  34. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/buf/validate/validate_pb2.py +0 -0
  35. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/buf/validate/validate_pb2.pyi +0 -0
  36. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/buf/validate/validate_pb2_grpc.py +0 -0
  37. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/buf/validate/validate_pb2_grpc.pyi +0 -0
  38. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/context/__init__.py +0 -0
  39. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/context/py.typed +0 -0
  40. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/embed/__init__.py +0 -0
  41. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/embed/node2vec.py +0 -0
  42. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/embed/py.typed +0 -0
  43. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/embedding_metric/__init__.py +0 -0
  44. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/embedding_metric/embeddings.py +0 -0
  45. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/embedding_metric/py.typed +0 -0
  46. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/engine/__init__.py +0 -0
  47. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/engine/_native.pyi +0 -0
  48. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/engine/py.typed +0 -0
  49. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/__init__.py +0 -0
  50. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_errors.py +0 -0
  51. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/_feature_type.py +0 -0
  52. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/model/py.typed +0 -0
  53. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/__init__.py +0 -0
  54. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/_transformations.py +0 -0
  55. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/aggregation.py +0 -0
  56. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/encoders.py +0 -0
  57. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/errors.py +0 -0
  58. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/py.typed +0 -0
  59. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/row_filters/__init__.py +0 -0
  60. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/row_filters/_jsonlogic.py +0 -0
  61. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/row_filters/_row_filters.py +0 -0
  62. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/op_graph/sample_strategy.py +0 -0
  63. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/_proto_columns.py +0 -0
  64. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/errors.py +0 -0
  65. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/func/__init__.py +0 -0
  66. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/func/utc_func.py +0 -0
  67. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/func/uuid_func.py +0 -0
  68. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/keys.py +0 -0
  69. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/orm/py.typed +0 -0
  70. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/pa_scalar/__init__.py +0 -0
  71. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/pa_scalar/_const.py +0 -0
  72. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/pa_scalar/_from_value.py +0 -0
  73. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/pa_scalar/_temporal.py +0 -0
  74. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/pa_scalar/_to_value.py +0 -0
  75. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/pa_scalar/_types.py +0 -0
  76. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/pa_scalar/py.typed +0 -0
  77. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/proto_wrapper/__init__.py +0 -0
  78. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/proto_wrapper/_errors.py +0 -0
  79. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/proto_wrapper/_wrappers.py +0 -0
  80. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/proto_wrapper/py.typed +0 -0
  81. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/result/__init__.py +0 -0
  82. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/result/py.typed +0 -0
  83. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/sql/__init__.py +0 -0
  84. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/sql/parse_ops.py +0 -0
  85. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/sql/py.typed +0 -0
  86. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/_column_encoding.py +0 -0
  87. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/_dimension_reduction.py +0 -0
  88. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/_image_embedder.py +0 -0
  89. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/_planner.py +0 -0
  90. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/_text_embedder.py +0 -0
  91. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/client.py +0 -0
  92. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/py.typed +0 -0
  93. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system/staging.py +0 -0
  94. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system_sqlite/__init__.py +0 -0
  95. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system_sqlite/fs_blob_store.py +0 -0
  96. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system_sqlite/py.typed +0 -0
  97. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system_sqlite/rdbms_blob_store.py +0 -0
  98. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/system_sqlite/staging.py +0 -0
  99. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/table/__init__.py +0 -0
  100. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/table/py.typed +0 -0
  101. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/version/__init__.py +0 -0
  102. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/version/py.typed +0 -0
  103. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/well_known_types/__init__.py +0 -0
  104. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic/well_known_types/py.typed +0 -0
  105. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/__init__.py +0 -0
  106. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/algorithm/__init__.py +0 -0
  107. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/algorithm/graph/__init__.py +0 -0
  108. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/algorithm/graph/v1/__init__.py +0 -0
  109. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/algorithm/graph/v1/graph_pb2.py +0 -0
  110. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/algorithm/graph/v1/graph_pb2.pyi +0 -0
  111. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.py +0 -0
  112. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/algorithm/graph/v1/graph_pb2_grpc.pyi +0 -0
  113. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/embedding/__init__.py +0 -0
  114. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/embedding/v1/__init__.py +0 -0
  115. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/embedding/v1/models_pb2.py +0 -0
  116. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/embedding/v1/models_pb2.pyi +0 -0
  117. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/embedding/v1/models_pb2_grpc.py +0 -0
  118. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/embedding/v1/models_pb2_grpc.pyi +0 -0
  119. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/__init__.py +0 -0
  120. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/__init__.py +0 -0
  121. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/experiment_pb2.py +0 -0
  122. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/experiment_pb2.pyi +0 -0
  123. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/experiment_pb2_grpc.py +0 -0
  124. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/experiment_pb2_grpc.pyi +0 -0
  125. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/space_pb2.py +0 -0
  126. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/space_pb2.pyi +0 -0
  127. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/space_pb2_grpc.py +0 -0
  128. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v1/space_pb2_grpc.pyi +0 -0
  129. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/__init__.py +0 -0
  130. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/feature_view_pb2.py +0 -0
  131. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/feature_view_pb2.pyi +0 -0
  132. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.py +0 -0
  133. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/feature_view_pb2_grpc.pyi +0 -0
  134. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/space_pb2.py +0 -0
  135. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/space_pb2.pyi +0 -0
  136. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/space_pb2_grpc.py +0 -0
  137. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/feature/v2/space_pb2_grpc.pyi +0 -0
  138. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/__init__.py +0 -0
  139. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v1/__init__.py +0 -0
  140. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v1/service_pb2.py +0 -0
  141. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v1/service_pb2.pyi +0 -0
  142. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v1/service_pb2_grpc.py +0 -0
  143. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v1/service_pb2_grpc.pyi +0 -0
  144. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/__init__.py +0 -0
  145. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/pipeline_pb2.py +0 -0
  146. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/pipeline_pb2.pyi +0 -0
  147. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.py +0 -0
  148. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/pipeline_pb2_grpc.pyi +0 -0
  149. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/quick_mode_pb2.py +0 -0
  150. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/quick_mode_pb2.pyi +0 -0
  151. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.py +0 -0
  152. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/quick_mode_pb2_grpc.pyi +0 -0
  153. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/resource_pb2.py +0 -0
  154. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/resource_pb2.pyi +0 -0
  155. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/resource_pb2_grpc.py +0 -0
  156. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/resource_pb2_grpc.pyi +0 -0
  157. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/room_pb2.py +0 -0
  158. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/room_pb2.pyi +0 -0
  159. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/room_pb2_grpc.py +0 -0
  160. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/room_pb2_grpc.pyi +0 -0
  161. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/source_pb2.py +0 -0
  162. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/source_pb2.pyi +0 -0
  163. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/source_pb2_grpc.py +0 -0
  164. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/source_pb2_grpc.pyi +0 -0
  165. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/table_pb2.py +0 -0
  166. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/table_pb2.pyi +0 -0
  167. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/table_pb2_grpc.py +0 -0
  168. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/ingest/v2/table_pb2_grpc.pyi +0 -0
  169. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/model/__init__.py +0 -0
  170. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/model/v1alpha/__init__.py +0 -0
  171. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/model/v1alpha/models_pb2.py +0 -0
  172. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/model/v1alpha/models_pb2.pyi +0 -0
  173. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/model/v1alpha/models_pb2_grpc.py +0 -0
  174. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/model/v1alpha/models_pb2_grpc.pyi +0 -0
  175. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/__init__.py +0 -0
  176. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/__init__.py +0 -0
  177. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/agent_pb2.py +0 -0
  178. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/agent_pb2.pyi +0 -0
  179. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/agent_pb2_grpc.py +0 -0
  180. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/agent_pb2_grpc.pyi +0 -0
  181. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/common_pb2.py +0 -0
  182. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/common_pb2.pyi +0 -0
  183. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/common_pb2_grpc.py +0 -0
  184. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/common_pb2_grpc.pyi +0 -0
  185. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/completion_model_pb2.py +0 -0
  186. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/completion_model_pb2.pyi +0 -0
  187. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.py +0 -0
  188. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/completion_model_pb2_grpc.pyi +0 -0
  189. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/feature_view_pb2.py +0 -0
  190. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/feature_view_pb2.pyi +0 -0
  191. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.py +0 -0
  192. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/feature_view_pb2_grpc.pyi +0 -0
  193. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/pipeline_pb2.py +0 -0
  194. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/pipeline_pb2.pyi +0 -0
  195. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.py +0 -0
  196. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/pipeline_pb2_grpc.pyi +0 -0
  197. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/space_pb2.py +0 -0
  198. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/space_pb2.pyi +0 -0
  199. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/space_pb2_grpc.py +0 -0
  200. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/space_pb2_grpc.pyi +0 -0
  201. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/table_pb2.py +0 -0
  202. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/table_pb2.pyi +0 -0
  203. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/table_pb2_grpc.py +0 -0
  204. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/orm/v1/table_pb2_grpc.pyi +0 -0
  205. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/__init__.py +0 -0
  206. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/__init__.py +0 -0
  207. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/event_pb2.py +0 -0
  208. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/event_pb2.pyi +0 -0
  209. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/event_pb2_grpc.py +0 -0
  210. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/event_pb2_grpc.pyi +0 -0
  211. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/service_pb2.py +0 -0
  212. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/service_pb2.pyi +0 -0
  213. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/python/corvic_generated/status/v1/service_pb2_grpc.py +0 -0
  214. {corvic_engine-0.3.0rc77 → corvic_engine-0.3.0rc79}/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.77"
19
+ version = "0.3.0-rc.79"
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.77"
60
+ version = "0.3.0-rc.79"
61
61
  dependencies = [
62
62
  "version_check",
63
63
  ]
@@ -82,9 +82,9 @@ checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa"
82
82
 
83
83
  [[package]]
84
84
  name = "matrixmultiply"
85
- version = "0.3.9"
85
+ version = "0.3.10"
86
86
  source = "registry+https://github.com/rust-lang/crates.io-index"
87
- checksum = "9380b911e3e96d10c1f415da0876389aaf1b56759054eeb0de7df940c456ba1a"
87
+ checksum = "a06de3016e9fae57a36fd14dba131fccf49f74b40b7fbdb472f96e361ec71a08"
88
88
  dependencies = [
89
89
  "autocfg",
90
90
  "rawpointer",
@@ -293,9 +293,9 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
293
293
 
294
294
  [[package]]
295
295
  name = "syn"
296
- version = "2.0.100"
296
+ version = "2.0.101"
297
297
  source = "registry+https://github.com/rust-lang/crates.io-index"
298
- checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
298
+ checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
299
299
  dependencies = [
300
300
  "proc-macro2",
301
301
  "quote",
@@ -3,7 +3,7 @@ resolver = "2"
3
3
  members = ["python"]
4
4
 
5
5
  [workspace.package]
6
- version = "0.3.0-rc.77"
6
+ version = "0.3.0-rc.79"
7
7
  edition = "2021"
8
8
  publish = false
9
9
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: corvic-engine
3
- Version: 0.3.0rc77
3
+ Version: 0.3.0rc79
4
4
  Classifier: Environment :: Console
5
5
  Classifier: License :: Other/Proprietary License
6
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
@@ -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.77" # sync this with tool.poetry.version below
21
+ version = "0.3.0-rc.79" # 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.
@@ -72,7 +72,7 @@ packages = [
72
72
  ]
73
73
  description = ""
74
74
  authors = []
75
- version = "0.3.0-rc.77"
75
+ version = "0.3.0-rc.79"
76
76
 
77
77
  [tool.poetry.scripts]
78
78
  check = "corvic_check.cli:main"
@@ -111,7 +111,8 @@ typing-extensions = "^4.9.0"
111
111
 
112
112
  [tool.poetry.group.dev.dependencies]
113
113
  anyio = "^4"
114
- click = "^8.1.7"
114
+ # TODO(thunt): update corvic_check to work with 8.2
115
+ click = ">=8.1,<8.2.0"
115
116
  click_default_group = "^1.2.4"
116
117
  codespell = "^2.2.6"
117
118
  coverage = "^7.3.1"
@@ -121,7 +122,7 @@ maturin = "^1.4.0"
121
122
  pdoc = "^14.5.1"
122
123
  pre-commit = "^4.0.0"
123
124
  psycopg = { extras = ["binary"], version = "^3.2" }
124
- pyright = "^1.1.387"
125
+ pyright = "1.1.400"
125
126
  pytest = "^8.1.1"
126
127
  pytest-asyncio = "^0.26"
127
128
  pytest-benchmark = "^4.0.0"
@@ -334,7 +335,7 @@ known-third-party = ["proto", "rockset"]
334
335
 
335
336
  [tool.pyright]
336
337
  include = ["python", "tests"]
337
- ignore = ["python/corvic_generated", "python/buf", "typings_generated"]
338
+ ignore = ["python/corvic_generated", "python/buf", "typings_generated", "_typeshed"]
338
339
  typeCheckingMode = "strict"
339
340
  # Enable additional checks beyond strict
340
341
  reportCallInDefaultInitializer = "error"
@@ -404,6 +405,7 @@ root_packages = [
404
405
  "corvic.embed",
405
406
  "corvic.embedding_metric",
406
407
  "corvic.engine",
408
+ "corvic.eorm",
407
409
  "corvic.model",
408
410
  "corvic.op_graph",
409
411
  "corvic.orm",
@@ -1,52 +1,14 @@
1
- """Data model definitions; backed by an RDBMS."""
1
+ """Engine Object-Relational Mappings."""
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
5
  from datetime import datetime
6
+ from typing import TypeAlias
6
7
 
7
8
  import sqlalchemy as sa
8
9
  from sqlalchemy import orm as sa_orm
9
10
 
10
- from corvic.orm._proto_columns import ProtoMessageDecorator
11
- from corvic.orm.base import Base, OrgBase
12
- from corvic.orm.errors import (
13
- DeletedObjectError,
14
- InvalidORMIdentifierError,
15
- RequestedObjectsForNobodyError,
16
- )
17
- from corvic.orm.ids import (
18
- AgentID,
19
- AgentMessageID,
20
- BaseID,
21
- BaseIDFromInt,
22
- CompletionModelID,
23
- FeatureViewID,
24
- FeatureViewSourceID,
25
- IntIDDecorator,
26
- MessageEntryID,
27
- OrgID,
28
- PipelineID,
29
- ResourceID,
30
- RoomID,
31
- SourceID,
32
- SpaceID,
33
- SpaceParametersID,
34
- SpaceRunID,
35
- UserMessageID,
36
- )
37
- from corvic.orm.keys import (
38
- INT_PK_TYPE,
39
- ForeignKey,
40
- primary_key_foreign_column,
41
- primary_key_identity_column,
42
- primary_key_uuid_column,
43
- )
44
- from corvic.orm.mixins import (
45
- BelongsToOrgMixin,
46
- Session,
47
- SoftDeleteMixin,
48
- live_unique_constraint,
49
- )
11
+ from corvic import orm
50
12
  from corvic_generated.orm.v1 import (
51
13
  common_pb2,
52
14
  completion_model_pb2,
@@ -57,27 +19,87 @@ from corvic_generated.orm.v1 import (
57
19
  )
58
20
  from corvic_generated.status.v1 import event_pb2
59
21
 
60
- # NOTE: The only safe use of "sa_orm.relationship" uses the args:
61
- # `viewonly=True` and `init=False`. Writes quickly become
62
- # a complex mess when implementers of commit need to reason about
63
- # which sub-object should be updated.
64
- #
65
- # Rather, classes in corvic.model define their own commit protocols,
66
- # and if sub-orm-model updates are required they are explicit.
22
+ OrgID: TypeAlias = orm.OrgID
23
+
24
+
25
+ class RoomID(orm.BaseIDFromInt):
26
+ """A unique identifier for a room."""
27
+
28
+
29
+ class ResourceID(orm.BaseIDFromInt):
30
+ """A unique identifier for a resource."""
31
+
32
+
33
+ class SourceID(orm.BaseIDFromInt):
34
+ """A unique identifier for a source."""
35
+
36
+
37
+ class PipelineID(orm.BaseIDFromInt):
38
+ """A unique identifier for a pipeline."""
39
+
67
40
 
41
+ class FeatureViewID(orm.BaseIDFromInt):
42
+ """A unique identifier for a feature view."""
68
43
 
69
- class Org(SoftDeleteMixin, OrgBase, kw_only=True):
70
- """An organization it a top level grouping of resources."""
71
44
 
45
+ class FeatureViewSourceID(orm.BaseIDFromInt):
46
+ """A unique identifier for a source in a feature view."""
72
47
 
73
- class Room(BelongsToOrgMixin, SoftDeleteMixin, Base, kw_only=True):
48
+
49
+ class SpaceID(orm.BaseIDFromInt):
50
+ """A unique identifier for a space."""
51
+
52
+
53
+ class CompletionModelID(orm.BaseIDFromInt):
54
+ """A unique identifier for a completion model."""
55
+
56
+
57
+ orm.Base.registry.update_type_annotation_map(
58
+ {
59
+ # proto message column types
60
+ common_pb2.BlobUrlList: orm.ProtoMessageDecorator(common_pb2.BlobUrlList()),
61
+ feature_view_pb2.FeatureViewOutput: orm.ProtoMessageDecorator(
62
+ feature_view_pb2.FeatureViewOutput()
63
+ ),
64
+ common_pb2.AgentMessageMetadata: orm.ProtoMessageDecorator(
65
+ common_pb2.AgentMessageMetadata()
66
+ ),
67
+ space_pb2.SpaceParameters: orm.ProtoMessageDecorator(
68
+ space_pb2.SpaceParameters()
69
+ ),
70
+ table_pb2.TableComputeOp: orm.ProtoMessageDecorator(table_pb2.TableComputeOp()),
71
+ table_pb2.NamedTables: orm.ProtoMessageDecorator(table_pb2.NamedTables()),
72
+ common_pb2.RetrievedEntities: orm.ProtoMessageDecorator(
73
+ common_pb2.RetrievedEntities()
74
+ ),
75
+ pipeline_pb2.PipelineTransformation: orm.ProtoMessageDecorator(
76
+ pipeline_pb2.PipelineTransformation()
77
+ ),
78
+ event_pb2.Event: orm.ProtoMessageDecorator(event_pb2.Event()),
79
+ completion_model_pb2.CompletionModelParameters: orm.ProtoMessageDecorator(
80
+ completion_model_pb2.CompletionModelParameters()
81
+ ),
82
+ # ID types
83
+ RoomID: orm.IntIDDecorator(RoomID()),
84
+ ResourceID: orm.IntIDDecorator(ResourceID()),
85
+ SourceID: orm.IntIDDecorator(SourceID()),
86
+ PipelineID: orm.IntIDDecorator(PipelineID()),
87
+ FeatureViewID: orm.IntIDDecorator(FeatureViewID()),
88
+ FeatureViewSourceID: orm.IntIDDecorator(FeatureViewSourceID()),
89
+ SpaceID: orm.IntIDDecorator(SpaceID()),
90
+ CompletionModelID: orm.IntIDDecorator(CompletionModelID()),
91
+ }
92
+ )
93
+
94
+
95
+ class Room(orm.BelongsToOrgMixin, orm.SoftDeleteMixin, orm.Base, kw_only=True):
74
96
  """A Room is a logical collection of Documents."""
75
97
 
76
98
  __tablename__ = "room"
77
- __table_args__ = (live_unique_constraint("name", "org_id"),)
99
+ __table_args__ = (orm.live_unique_constraint("name", "org_id"),)
78
100
 
79
101
  name: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default=None)
80
- id: sa_orm.Mapped[RoomID | None] = primary_key_identity_column()
102
+ id: sa_orm.Mapped[RoomID | None] = orm.primary_key_identity_column()
81
103
 
82
104
  @property
83
105
  def room_key(self):
@@ -86,27 +108,29 @@ class Room(BelongsToOrgMixin, SoftDeleteMixin, Base, kw_only=True):
86
108
 
87
109
  class BelongsToRoomMixin(sa_orm.MappedAsDataclass):
88
110
  room_id: sa_orm.Mapped[RoomID | None] = sa_orm.mapped_column(
89
- ForeignKey(Room).make(ondelete="CASCADE"),
111
+ orm.ForeignKey(Room).make(ondelete="CASCADE"),
90
112
  nullable=True,
91
113
  default=None,
92
114
  )
93
115
 
94
116
 
95
- class DefaultObjects(Base, kw_only=True):
117
+ class DefaultObjects(orm.Base, kw_only=True):
96
118
  """Holds the identifiers for default objects."""
97
119
 
98
120
  __tablename__ = "default_objects"
99
121
  default_org: sa_orm.Mapped[OrgID | None] = sa_orm.mapped_column(
100
- ForeignKey(Org).make(ondelete="CASCADE"),
122
+ orm.ForeignKey(orm.Org).make(ondelete="CASCADE"),
101
123
  nullable=False,
102
124
  )
103
125
  default_room: sa_orm.Mapped[RoomID | None] = sa_orm.mapped_column(
104
- ForeignKey(Room).make(ondelete="CASCADE"), nullable=True, default=None
126
+ orm.ForeignKey(Room).make(ondelete="CASCADE"), nullable=True, default=None
127
+ )
128
+ version: sa_orm.Mapped[int | None] = orm.primary_key_identity_column(
129
+ type_=orm.INT_PK_TYPE
105
130
  )
106
- version: sa_orm.Mapped[int | None] = primary_key_identity_column(type_=INT_PK_TYPE)
107
131
 
108
132
 
109
- class Resource(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
133
+ class Resource(orm.BelongsToOrgMixin, BelongsToRoomMixin, orm.Base, kw_only=True):
110
134
  """A Resource is a reference to some durably stored file.
111
135
 
112
136
  E.g., a document could be a PDF file, an image, or a text transcript of a
@@ -122,7 +146,7 @@ class Resource(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
122
146
  size: sa_orm.Mapped[int] = sa_orm.mapped_column(nullable=True)
123
147
  original_path: sa_orm.Mapped[str] = sa_orm.mapped_column(nullable=True)
124
148
  description: sa_orm.Mapped[str] = sa_orm.mapped_column(nullable=True)
125
- id: sa_orm.Mapped[ResourceID | None] = primary_key_identity_column()
149
+ id: sa_orm.Mapped[ResourceID | None] = orm.primary_key_identity_column()
126
150
  latest_event: sa_orm.Mapped[event_pb2.Event | None] = sa_orm.mapped_column(
127
151
  default=None, nullable=True
128
152
  )
@@ -134,7 +158,7 @@ class Resource(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
134
158
  )
135
159
 
136
160
 
137
- class Source(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
161
+ class Source(orm.BelongsToOrgMixin, BelongsToRoomMixin, orm.Base, kw_only=True):
138
162
  """A source."""
139
163
 
140
164
  __tablename__ = "source"
@@ -143,7 +167,7 @@ class Source(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
143
167
  name: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text)
144
168
  # protobuf describing the operations required to construct a table
145
169
  table_op_graph: sa_orm.Mapped[table_pb2.TableComputeOp] = sa_orm.mapped_column()
146
- id: sa_orm.Mapped[SourceID | None] = primary_key_identity_column()
170
+ id: sa_orm.Mapped[SourceID | None] = orm.primary_key_identity_column()
147
171
 
148
172
  source_files: sa_orm.Mapped[common_pb2.BlobUrlList | None] = sa_orm.mapped_column(
149
173
  default=None
@@ -157,7 +181,7 @@ class Source(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
157
181
  return self.name
158
182
 
159
183
 
160
- class Pipeline(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
184
+ class Pipeline(orm.BelongsToOrgMixin, BelongsToRoomMixin, orm.Base, kw_only=True):
161
185
  """A resource to source pipeline."""
162
186
 
163
187
  __tablename__ = "pipeline"
@@ -168,7 +192,7 @@ class Pipeline(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
168
192
  )
169
193
  name: sa_orm.Mapped[str] = sa_orm.mapped_column()
170
194
  description: sa_orm.Mapped[str | None] = sa_orm.mapped_column()
171
- id: sa_orm.Mapped[PipelineID | None] = primary_key_identity_column()
195
+ id: sa_orm.Mapped[PipelineID | None] = orm.primary_key_identity_column()
172
196
 
173
197
  outputs: sa_orm.Mapped[list[PipelineOutput]] = sa_orm.relationship(
174
198
  viewonly=True,
@@ -177,7 +201,7 @@ class Pipeline(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
177
201
  )
178
202
 
179
203
 
180
- class PipelineInput(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
204
+ class PipelineInput(orm.BelongsToOrgMixin, BelongsToRoomMixin, orm.Base, kw_only=True):
181
205
  """Pipeline input resources."""
182
206
 
183
207
  __tablename__ = "pipeline_input"
@@ -187,15 +211,15 @@ class PipelineInput(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
187
211
  name: sa_orm.Mapped[str]
188
212
  """A name the pipeline uses to refer to this input."""
189
213
 
190
- pipeline_id: sa_orm.Mapped[PipelineID] = primary_key_foreign_column(
191
- ForeignKey(Pipeline).make(ondelete="CASCADE")
214
+ pipeline_id: sa_orm.Mapped[PipelineID] = orm.primary_key_foreign_column(
215
+ orm.ForeignKey(Pipeline).make(ondelete="CASCADE")
192
216
  )
193
- resource_id: sa_orm.Mapped[ResourceID] = primary_key_foreign_column(
194
- ForeignKey(Resource).make(ondelete="CASCADE")
217
+ resource_id: sa_orm.Mapped[ResourceID] = orm.primary_key_foreign_column(
218
+ orm.ForeignKey(Resource).make(ondelete="CASCADE")
195
219
  )
196
220
 
197
221
 
198
- class PipelineOutput(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
222
+ class PipelineOutput(orm.BelongsToOrgMixin, BelongsToRoomMixin, orm.Base, kw_only=True):
199
223
  """Objects for tracking pipeline output sources."""
200
224
 
201
225
  __tablename__ = "pipeline_output"
@@ -205,23 +229,27 @@ class PipelineOutput(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
205
229
  name: sa_orm.Mapped[str]
206
230
  """A name the pipeline uses to refer to this output."""
207
231
 
208
- pipeline_id: sa_orm.Mapped[PipelineID] = primary_key_foreign_column(
209
- ForeignKey(Pipeline).make(ondelete="CASCADE")
232
+ pipeline_id: sa_orm.Mapped[PipelineID] = orm.primary_key_foreign_column(
233
+ orm.ForeignKey(Pipeline).make(ondelete="CASCADE")
210
234
  )
211
- source_id: sa_orm.Mapped[SourceID] = primary_key_foreign_column(
212
- ForeignKey(Source).make(ondelete="CASCADE")
235
+ source_id: sa_orm.Mapped[SourceID] = orm.primary_key_foreign_column(
236
+ orm.ForeignKey(Source).make(ondelete="CASCADE")
213
237
  )
214
238
 
215
239
 
216
240
  class FeatureView(
217
- SoftDeleteMixin, BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True
241
+ orm.SoftDeleteMixin,
242
+ orm.BelongsToOrgMixin,
243
+ BelongsToRoomMixin,
244
+ orm.Base,
245
+ kw_only=True,
218
246
  ):
219
247
  """A FeatureView is a logical collection of sources used by various spaces."""
220
248
 
221
249
  __tablename__ = "feature_view"
222
- __table_args__ = (live_unique_constraint("name", "room_id"),)
250
+ __table_args__ = (orm.live_unique_constraint("name", "room_id"),)
223
251
 
224
- id: sa_orm.Mapped[FeatureViewID | None] = primary_key_identity_column()
252
+ id: sa_orm.Mapped[FeatureViewID | None] = orm.primary_key_identity_column()
225
253
  name: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default=None)
226
254
  description: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default="")
227
255
 
@@ -240,22 +268,24 @@ class FeatureView(
240
268
  )
241
269
 
242
270
 
243
- class FeatureViewSource(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
271
+ class FeatureViewSource(
272
+ orm.BelongsToOrgMixin, BelongsToRoomMixin, orm.Base, kw_only=True
273
+ ):
244
274
  """A source inside of a feature view."""
245
275
 
246
276
  __tablename__ = "feature_view_source"
247
277
 
248
278
  table_op_graph: sa_orm.Mapped[table_pb2.TableComputeOp] = sa_orm.mapped_column()
249
279
  feature_view_id: sa_orm.Mapped[FeatureViewID] = sa_orm.mapped_column(
250
- ForeignKey(FeatureView).make(ondelete="CASCADE"),
280
+ orm.ForeignKey(FeatureView).make(ondelete="CASCADE"),
251
281
  nullable=False,
252
282
  )
253
- id: sa_orm.Mapped[FeatureViewSourceID | None] = primary_key_identity_column()
283
+ id: sa_orm.Mapped[FeatureViewSourceID | None] = orm.primary_key_identity_column()
254
284
  drop_disconnected: sa_orm.Mapped[bool] = sa_orm.mapped_column(default=False)
255
285
  # this should be legal but pyright complains that it makes Source depend
256
286
  # on itself
257
287
  source_id: sa_orm.Mapped[SourceID] = sa_orm.mapped_column(
258
- ForeignKey(Source).make(ondelete="CASCADE"),
288
+ orm.ForeignKey(Source).make(ondelete="CASCADE"),
259
289
  nullable=False,
260
290
  default=None,
261
291
  )
@@ -264,18 +294,18 @@ class FeatureViewSource(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=Tru
264
294
  )
265
295
 
266
296
 
267
- class Space(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
297
+ class Space(orm.BelongsToOrgMixin, BelongsToRoomMixin, orm.Base, kw_only=True):
268
298
  """A space is a named evaluation of space parameters."""
269
299
 
270
300
  __tablename__ = "space"
271
301
  __table_args__ = (sa.UniqueConstraint("name", "room_id"),)
272
302
 
273
- id: sa_orm.Mapped[SpaceID | None] = primary_key_identity_column()
303
+ id: sa_orm.Mapped[SpaceID | None] = orm.primary_key_identity_column()
274
304
  name: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default=None)
275
305
  description: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default="")
276
306
 
277
307
  feature_view_id: sa_orm.Mapped[FeatureViewID] = sa_orm.mapped_column(
278
- ForeignKey(FeatureView).make(ondelete="CASCADE"),
308
+ orm.ForeignKey(FeatureView).make(ondelete="CASCADE"),
279
309
  nullable=False,
280
310
  default=None,
281
311
  )
@@ -294,13 +324,15 @@ class Space(BelongsToOrgMixin, BelongsToRoomMixin, Base, kw_only=True):
294
324
  return self.name
295
325
 
296
326
 
297
- class CompletionModel(SoftDeleteMixin, BelongsToOrgMixin, Base, kw_only=True):
327
+ class CompletionModel(
328
+ orm.SoftDeleteMixin, orm.BelongsToOrgMixin, orm.Base, kw_only=True
329
+ ):
298
330
  """A customer's custom completion model definition."""
299
331
 
300
332
  __tablename__ = "completion_model"
301
- __table_args__ = (live_unique_constraint("name", "org_id"),)
333
+ __table_args__ = (orm.live_unique_constraint("name", "org_id"),)
302
334
 
303
- id: sa_orm.Mapped[CompletionModelID | None] = primary_key_identity_column()
335
+ id: sa_orm.Mapped[CompletionModelID | None] = orm.primary_key_identity_column()
304
336
  name: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default=None)
305
337
  description: sa_orm.Mapped[str] = sa_orm.mapped_column(sa.Text, default=None)
306
338
  parameters: sa_orm.Mapped[completion_model_pb2.CompletionModelParameters | None] = (
@@ -324,43 +356,37 @@ class CompletionModel(SoftDeleteMixin, BelongsToOrgMixin, Base, kw_only=True):
324
356
 
325
357
 
326
358
  ID = (
327
- AgentID
328
- | AgentMessageID
359
+ orm.ID
329
360
  | CompletionModelID
330
361
  | FeatureViewID
331
362
  | FeatureViewSourceID
332
- | MessageEntryID
333
- | OrgID
334
363
  | PipelineID
335
364
  | ResourceID
336
365
  | RoomID
337
366
  | SourceID
338
367
  | SpaceID
339
- | SpaceParametersID
340
- | SpaceRunID
341
- | UserMessageID
342
368
  )
343
369
 
370
+ # These are part of the public interface, exposing them here so that
371
+ # users don't have to import orm anytime they import eorm
372
+ Base: TypeAlias = orm.Base
373
+ Org: TypeAlias = orm.Org
374
+ Session: TypeAlias = orm.Session
375
+
376
+ InvalidORMIdentifierError: TypeAlias = orm.InvalidORMIdentifierError
377
+ RequestedObjectsForNobodyError: TypeAlias = orm.RequestedObjectsForNobodyError
344
378
 
345
379
  __all__ = [
346
- "AgentID",
347
- "AgentMessageID",
348
380
  "Base",
349
- "BaseID",
350
- "BaseIDFromInt",
351
- "BelongsToOrgMixin",
352
381
  "CompletionModel",
353
382
  "CompletionModelID",
354
383
  "DefaultObjects",
355
- "DeletedObjectError",
356
384
  "FeatureView",
357
385
  "FeatureViewID",
358
386
  "FeatureViewSource",
359
387
  "FeatureViewSourceID",
360
388
  "ID",
361
389
  "InvalidORMIdentifierError",
362
- "MessageEntryID",
363
- "Org",
364
390
  "OrgID",
365
391
  "PipelineID",
366
392
  "PipelineInput",
@@ -375,12 +401,4 @@ __all__ = [
375
401
  "SourceID",
376
402
  "Space",
377
403
  "SpaceID",
378
- "SpaceParametersID",
379
- "SpaceRunID",
380
- "UserMessageID",
381
- "primary_key_foreign_column",
382
- "primary_key_identity_column",
383
- "primary_key_uuid_column",
384
- "ProtoMessageDecorator",
385
- "IntIDDecorator",
386
404
  ]