corvic-engine 0.3.0rc75__cp38-abi3-win_amd64.whl → 0.3.0rc77__cp38-abi3-win_amd64.whl

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/_native.pyd CHANGED
Binary file
@@ -23,7 +23,12 @@ from corvic.model._proto_orm_convert import (
23
23
  ProtoBelongsToRoomObj,
24
24
  ProtoObj,
25
25
  )
26
- from corvic.result import InvalidArgumentError, NotFoundError, Ok
26
+ from corvic.result import (
27
+ InvalidArgumentError,
28
+ NotFoundError,
29
+ Ok,
30
+ UnavailableError,
31
+ )
27
32
 
28
33
  _logger = structlog.get_logger()
29
34
 
@@ -187,7 +192,7 @@ class BaseModel(Generic[ID, ProtoObj, OrmObj], UsesOrmID[ID, ProtoObj]):
187
192
  ]
188
193
  )
189
194
 
190
- def commit(self) -> Ok[Self] | InvalidArgumentError:
195
+ def commit(self) -> Ok[Self] | InvalidArgumentError | UnavailableError:
191
196
  """Store this object in the database at its id or a newly allocated id.
192
197
 
193
198
  This overwrites the entry at id in the database so that future readers will see
@@ -199,8 +204,8 @@ class BaseModel(Generic[ID, ProtoObj, OrmObj], UsesOrmID[ID, ProtoObj]):
199
204
  self.proto_self, session
200
205
  ).unwrap_or_raise()
201
206
  session.commit()
202
- except sa.exc.DatabaseError as err:
203
- return InvalidArgumentError.from_(err)
207
+ except sa.exc.DBAPIError as err:
208
+ return self._dbapi_error_to_result(err)
204
209
  return Ok(
205
210
  self.__class__(
206
211
  client=self.client,
@@ -208,7 +213,25 @@ class BaseModel(Generic[ID, ProtoObj, OrmObj], UsesOrmID[ID, ProtoObj]):
208
213
  )
209
214
  )
210
215
 
211
- def add_to_session(self, session: orm.Session) -> Ok[None] | InvalidArgumentError:
216
+ @staticmethod
217
+ def _dbapi_error_to_result(err: sa.exc.DBAPIError):
218
+ try:
219
+ import psycopg.errors
220
+
221
+ if isinstance(err.orig, psycopg.errors.SerializationFailure):
222
+ return UnavailableError.from_(err)
223
+ except ModuleNotFoundError:
224
+ pass
225
+ if isinstance(err, sa.exc.ProgrammingError):
226
+ if "violates foreign key constraint" in str(err):
227
+ return InvalidArgumentError.from_(err)
228
+ if "could not serialize access due to concurrent update" in str(err):
229
+ return UnavailableError.from_(err)
230
+ return InvalidArgumentError.from_(err)
231
+
232
+ def add_to_session(
233
+ self, session: orm.Session
234
+ ) -> Ok[None] | InvalidArgumentError | UnavailableError:
212
235
  """Like commit, but just calls session.flush to check for database errors.
213
236
 
214
237
  This adds the updated object to a transaction in session. Unlike commit
@@ -219,8 +242,8 @@ class BaseModel(Generic[ID, ProtoObj, OrmObj], UsesOrmID[ID, ProtoObj]):
219
242
  _ = self.proto_to_orm(self.proto_self, session).unwrap_or_raise()
220
243
  session.flush()
221
244
  # TODO(thunt): Possibly separate out DatabaseError into a precondition error
222
- except (sa.exc.DatabaseError, sa.exc.StatementError) as err:
223
- return InvalidArgumentError.from_(err)
245
+ except sa.exc.DBAPIError as err:
246
+ return self._dbapi_error_to_result(err)
224
247
  return Ok(None)
225
248
 
226
249
  def delete(self) -> Ok[Self] | NotFoundError | InvalidArgumentError:
corvic/model/_pipeline.py CHANGED
@@ -22,7 +22,7 @@ from corvic.model._proto_orm_convert import (
22
22
  pipeline_proto_to_orm,
23
23
  )
24
24
  from corvic.model._source import Source
25
- from corvic.result import InvalidArgumentError, NotFoundError, Ok
25
+ from corvic.result import InvalidArgumentError, NotFoundError, Ok, UnavailableError
26
26
  from corvic_generated.model.v1alpha import models_pb2
27
27
  from corvic_generated.orm.v1 import pipeline_pb2
28
28
 
@@ -268,7 +268,7 @@ class OcrPdfsPipeline(Pipeline):
268
268
  description: str = "",
269
269
  client: system.Client | None = None,
270
270
  room_id: RoomID | None = None,
271
- ) -> Ok[Self] | InvalidArgumentError:
271
+ ) -> Ok[Self] | InvalidArgumentError | UnavailableError:
272
272
  """Create a pipeline for using OCR to process PDFs into structured sources."""
273
273
  client = client or Defaults.get_default_client()
274
274
  room_id = room_id or Defaults.get_default_room_id(client)
@@ -325,7 +325,7 @@ class OcrPdfsPipeline(Pipeline):
325
325
  )
326
326
  .and_then(lambda s: s.commit())
327
327
  ):
328
- case InvalidArgumentError() as err:
328
+ case InvalidArgumentError() | UnavailableError() as err:
329
329
  return err
330
330
  case Ok(text_source):
331
331
  pass
@@ -356,7 +356,7 @@ class OcrPdfsPipeline(Pipeline):
356
356
  )
357
357
  .and_then(lambda s: s.commit())
358
358
  ):
359
- case InvalidArgumentError() as err:
359
+ case InvalidArgumentError() | UnavailableError() as err:
360
360
  return err
361
361
  case Ok(relationship_source):
362
362
  pass
@@ -419,7 +419,7 @@ class OcrPdfsPipeline(Pipeline):
419
419
  )
420
420
  .and_then(lambda s: s.commit())
421
421
  ):
422
- case InvalidArgumentError() as err:
422
+ case InvalidArgumentError() | UnavailableError() as err:
423
423
  return err
424
424
  case Ok(image_source):
425
425
  pass
corvic/orm/__init__.py CHANGED
@@ -89,7 +89,6 @@ class BelongsToRoomMixin(sa_orm.MappedAsDataclass):
89
89
  ForeignKey(Room).make(ondelete="CASCADE"),
90
90
  nullable=True,
91
91
  default=None,
92
- index=True,
93
92
  )
94
93
 
95
94
 
corvic/orm/mixins.py CHANGED
@@ -229,7 +229,6 @@ class BelongsToOrgMixin(sa_orm.MappedAsDataclass):
229
229
  nullable=False,
230
230
  default_factory=_make_org_id_default,
231
231
  init=False,
232
- index=True,
233
232
  )
234
233
 
235
234
  @sa_orm.validates("org_id")
@@ -1132,7 +1132,7 @@ class InMemoryExecutor(OpGraphExecutor):
1132
1132
  min_alpha=op.min_alpha,
1133
1133
  negative=op.negative,
1134
1134
  )
1135
- n2v_runner.train(epochs=op.epochs)
1135
+ n2v_runner.train(epochs=op.epochs, verbose=False)
1136
1136
  return n2v_runner.wv.to_polars().lazy()
1137
1137
 
1138
1138
  return Ok(_LazyFrameWithMetrics(await context.run_on_worker(run_n2v), metrics))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: corvic-engine
3
- Version: 0.3.0rc75
3
+ Version: 0.3.0rc77
4
4
  Classifier: Environment :: Console
5
5
  Classifier: License :: Other/Proprietary License
6
6
  Classifier: Programming Language :: Python :: Implementation :: CPython
@@ -11,17 +11,17 @@ corvic/embedding_metric/__init__.py,sha256=8a-QKSQNbiksueHk5LdkugjZr6wasP4ff8A-J
11
11
  corvic/embedding_metric/embeddings.py,sha256=XCiMzoGdRSmCOJnBDnxm3xlU0L_vrXwUxEjwdMv1FMI,14036
12
12
  corvic/embedding_metric/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  corvic/engine/__init__.py,sha256=XL4Vg7rNcBi29ccVelpeFizR9oJtGYXDn84W9zok9d4,975
14
- corvic/engine/_native.pyd,sha256=TpZtvtqt8GY1ZiKvwg1rEFYX85PRAhCbsV1DqVfvStE,438272
14
+ corvic/engine/_native.pyd,sha256=oZ8tiGVOEcQUbgEFzM24eDwxgdUxcCCc87cR9f24ZuM,438272
15
15
  corvic/engine/_native.pyi,sha256=KYMPtvXqHZ-jMgZohLf4se3rr-rBpCihmjANcr6s8ag,1390
16
16
  corvic/engine/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  corvic/model/__init__.py,sha256=ZtMq8LTJE013v-OoVq0muo0aqomNGrjmXwKfS8wd4CU,3075
18
- corvic/model/_base_model.py,sha256=JSFEPHeou1oUXlIrNhUVjjAHjwCjoFIWPpz2X9sUYmI,9527
18
+ corvic/model/_base_model.py,sha256=dgoCvxhroX0Bp21r7LhO69rZCBJyf8zio9UaLqpM1iQ,10263
19
19
  corvic/model/_completion_model.py,sha256=HMp3yCgRtPUUf0KMAw5GoVXAlrfPhQ9h6ytEIkY9yEs,7634
20
20
  corvic/model/_defaults.py,sha256=yoKPPSmYJCE5YAD5jLTEmT4XNf_zXoggNK-uyG8MfVs,1524
21
21
  corvic/model/_errors.py,sha256=Ctlq04SDwHzJPvLaL1rzqzwVqf2b50EILfW3cH4vnh8,261
22
22
  corvic/model/_feature_type.py,sha256=Y-_-wa9fv7XaCAkxfjjoCLxxK2Ftfba-PMefD7bNXzs,917
23
23
  corvic/model/_feature_view.py,sha256=vRh9eVDlais8enZVymQtwPz8vd3QtwSRYR1CnlKtCnA,49698
24
- corvic/model/_pipeline.py,sha256=X9b34eCTD4zr6IF61EZRLC89n_Fi9HrsukoghDKwhI8,18685
24
+ corvic/model/_pipeline.py,sha256=CIqp0gLkADw3gXkDW--NJwOBqt6N4Qj6XWyvGDXi8Hc,18785
25
25
  corvic/model/_proto_orm_convert.py,sha256=n27mPojg9ESt8ZO3puG9NfLFWNUAbUY6TuYqfCP5voQ,23900
26
26
  corvic/model/_resource.py,sha256=R973-POS5HDCo7hIoxsBNauH1YAPisZDFLrWIxjygbk,8495
27
27
  corvic/model/_room.py,sha256=36mXngZ38L4mr6_LgUm-QgsUUaoGMiYQRfvXLV_jd-4,2914
@@ -41,7 +41,7 @@ corvic/op_graph/row_filters/__init__.py,sha256=1sibH_kLw7t_9bpRccnEGWqdCiN0VaUh9
41
41
  corvic/op_graph/row_filters/_jsonlogic.py,sha256=0UdwOZmIGp4yuExHM3qqAnJYmcGv7iuc3vLub3GD-9Y,7685
42
42
  corvic/op_graph/row_filters/_row_filters.py,sha256=p3O7tJbLsy65Vs7shAiDjpdM4RzYA4-fyzwskt15pPk,9469
43
43
  corvic/op_graph/sample_strategy.py,sha256=DrbtJ3ORkIRfyIE_FdlOh_UMnCW_K9jL1LeonVYb3bU,3007
44
- corvic/orm/__init__.py,sha256=id3zLYtj3XjNZPOH2A8ULlRtT6h2TETaZwOiQ79huqI,12452
44
+ corvic/orm/__init__.py,sha256=P5P-yDBHaPKDM5bH3MurOgXx8CgZk6oxwuW6ZxoTOCE,12431
45
45
  corvic/orm/_proto_columns.py,sha256=tcOu92UjFJFYZLasS6sWJQBDRK26yrnmpTii_LDY4iw,913
46
46
  corvic/orm/base.py,sha256=xASrtKQe9Zl0jfgteI4q8c77ju3cNQKPoQ47sXqXzGc,8820
47
47
  corvic/orm/errors.py,sha256=uFhFXpVG6pby1lndJZHGHxv3Y0Fbt0RiaZ-CqDfuY1o,545
@@ -50,7 +50,7 @@ corvic/orm/func/utc_func.py,sha256=-FC6w9wBWXejMv1AICT2Gg7tdkSo7gqL2dFT-YKPGQ4,4
50
50
  corvic/orm/func/uuid_func.py,sha256=oXPjDGAl3mvlNtvcvBrLmRRHPJgtKffShIPbHm-EswA,1152
51
51
  corvic/orm/ids.py,sha256=L9v7toMmRh7aM8ZtDGLyKoQaidG5jQDFC3WlwrmSu7g,6758
52
52
  corvic/orm/keys.py,sha256=Ag6Xbpvxev-VByT1KJ8ChUn9vKVEzkkMXxrjvtADCtY,2182
53
- corvic/orm/mixins.py,sha256=phSkm9Q5b6ikVprlIAM6oeASasWSkXHh63J-_2a9-vs,18016
53
+ corvic/orm/mixins.py,sha256=tBsXLdP_7vuNmyVe70yCfIzrPz9oX7dM67IToChzPBs,17995
54
54
  corvic/orm/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
55
  corvic/pa_scalar/__init__.py,sha256=1nfc0MFGpw78RQEI13VE5hpHuyw_DoE7sJbmzqx5pws,1063
56
56
  corvic/pa_scalar/_const.py,sha256=1nk6w3Y7crd3J5jSCq7DRVa1lcGk4H1RUr1l4NjnlzE,868
@@ -76,7 +76,7 @@ corvic/system/_image_embedder.py,sha256=i595n22L8rmiZQ0sT3JTu_RBJrcU_5Vl95K2HPJt
76
76
  corvic/system/_planner.py,sha256=ecL-HW8PVz5eWJ1Ktf-RAD2IdZkHu3GuBtXdqElo4ts,8210
77
77
  corvic/system/_text_embedder.py,sha256=NDi--3_tzwIWVImjhFWmp8dHmydGGXNu6GYH8qODsIc,4000
78
78
  corvic/system/client.py,sha256=JcA-fPraqDkl9f8BiClS0qeGY6wzKcEDPymutWrJo54,812
79
- corvic/system/in_memory_executor.py,sha256=VtZqIHyeHDpgV1Lh88v3YQFybsRz51uT-DeWwn5kgdM,66607
79
+ corvic/system/in_memory_executor.py,sha256=Ds2A_RLoQeGVMpvKDz4IXTq0r5SgPcpMKHYm8vW6R7k,66622
80
80
  corvic/system/op_graph_executor.py,sha256=dFxbM_kk5ybPxs3NwyuW3Xg-xCB031toWCFv8eEW8qE,3639
81
81
  corvic/system/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
82
  corvic/system/staging.py,sha256=K5P5moiuAMfPx7lxK4mArxeURBwKoyB6x9HGu9JJ16E,1846
@@ -94,9 +94,9 @@ corvic/version/__init__.py,sha256=JlkRLvKXsu3zIxhdynO_0Ub5NfQOvGjfwCRkNnaOu9U,11
94
94
  corvic/version/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
95
95
  corvic/well_known_types/__init__.py,sha256=Btbeqieik2AcmijeOXeqBptzueBpgNitvH9J5VNm12w,1289
96
96
  corvic/well_known_types/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
97
- corvic_engine-0.3.0rc75.dist-info/METADATA,sha256=DAtmPlNxfrMZi0pV067JeT84Y8UzxdQkAjLk8_bmZeg,1814
98
- corvic_engine-0.3.0rc75.dist-info/WHEEL,sha256=qo08K5WTt1v9liGoFGXfI182ciKs5521XAErJtzFynQ,94
99
- corvic_engine-0.3.0rc75.dist-info/licenses/LICENSE,sha256=DSS1OD0oIgssKOmAzkMRBv5jvvVuZQbrIv8lpl9DXY8,1035
97
+ corvic_engine-0.3.0rc77.dist-info/METADATA,sha256=-HhsUDmdXgIY4oR16Ib9bpTQEcLaIf_m-Bl-7vEa4x4,1814
98
+ corvic_engine-0.3.0rc77.dist-info/WHEEL,sha256=qo08K5WTt1v9liGoFGXfI182ciKs5521XAErJtzFynQ,94
99
+ corvic_engine-0.3.0rc77.dist-info/licenses/LICENSE,sha256=DSS1OD0oIgssKOmAzkMRBv5jvvVuZQbrIv8lpl9DXY8,1035
100
100
  corvic_generated/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
101
101
  corvic_generated/algorithm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
102
102
  corvic_generated/algorithm/graph/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -207,4 +207,4 @@ corvic_generated/status/v1/service_pb2.py,sha256=CKXPX2ahq8O4cFhPpt6wo6l--6VZcgj
207
207
  corvic_generated/status/v1/service_pb2.pyi,sha256=iXLR2FOKQJpBgvBzpD2kVwcYOCksP2aRwK4JYaI9CBw,558
208
208
  corvic_generated/status/v1/service_pb2_grpc.py,sha256=y-a5ldrphWlNJW-yKswyjNmXokK4-5bbEEfczjagJHo,2736
209
209
  corvic_generated/status/v1/service_pb2_grpc.pyi,sha256=OoAnaZ64FD0UTzPoRhYvQU8ecoilhHj3ySjSfHbVDaU,1501
210
- corvic_engine-0.3.0rc75.dist-info/RECORD,,
210
+ corvic_engine-0.3.0rc77.dist-info/RECORD,,