dbos 1.3.0a4__py3-none-any.whl → 1.3.0a7__py3-none-any.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.
dbos/_client.py CHANGED
@@ -141,6 +141,11 @@ class DBOSClient:
141
141
  "priority": options.get("priority"),
142
142
  }
143
143
 
144
+ inputs: WorkflowInputs = {
145
+ "args": args,
146
+ "kwargs": kwargs,
147
+ }
148
+
144
149
  status: WorkflowStatusInternal = {
145
150
  "workflow_uuid": workflow_id,
146
151
  "status": WorkflowStatusString.ENQUEUED.value,
@@ -169,16 +174,11 @@ class DBOSClient:
169
174
  if enqueue_options_internal["priority"] is not None
170
175
  else 0
171
176
  ),
172
- }
173
-
174
- inputs: WorkflowInputs = {
175
- "args": args,
176
- "kwargs": kwargs,
177
+ "inputs": _serialization.serialize_args(inputs),
177
178
  }
178
179
 
179
180
  self._sys_db.init_workflow(
180
181
  status,
181
- _serialization.serialize_args(inputs),
182
182
  max_recovery_attempts=None,
183
183
  )
184
184
  return workflow_id
@@ -237,6 +237,7 @@ class DBOSClient:
237
237
  "workflow_deadline_epoch_ms": None,
238
238
  "deduplication_id": None,
239
239
  "priority": 0,
240
+ "inputs": _serialization.serialize_args({"args": (), "kwargs": {}}),
240
241
  }
241
242
  with self._sys_db.engine.begin() as conn:
242
243
  self._sys_db._insert_workflow_status(
dbos/_core.py CHANGED
@@ -252,6 +252,10 @@ def _init_workflow(
252
252
  raise DBOSNonExistentWorkflowError(wfid)
253
253
  return get_status_result
254
254
 
255
+ # If we have a class name, the first arg is the instance and do not serialize
256
+ if class_name is not None:
257
+ inputs = {"args": inputs["args"][1:], "kwargs": inputs["kwargs"]}
258
+
255
259
  # Initialize a workflow status object from the context
256
260
  status: WorkflowStatusInternal = {
257
261
  "workflow_uuid": wfid,
@@ -291,16 +295,12 @@ def _init_workflow(
291
295
  if enqueue_options is not None
292
296
  else 0
293
297
  ),
298
+ "inputs": _serialization.serialize_args(inputs),
294
299
  }
295
300
 
296
- # If we have a class name, the first arg is the instance and do not serialize
297
- if class_name is not None:
298
- inputs = {"args": inputs["args"][1:], "kwargs": inputs["kwargs"]}
299
-
300
301
  # Synchronously record the status and inputs for workflows
301
302
  wf_status, workflow_deadline_epoch_ms = dbos._sys_db.init_workflow(
302
303
  status,
303
- _serialization.serialize_args(inputs),
304
304
  max_recovery_attempts=max_recovery_attempts,
305
305
  )
306
306
 
@@ -441,16 +441,13 @@ def execute_workflow_by_id(dbos: "DBOS", workflow_id: str) -> "WorkflowHandle[An
441
441
  status = dbos._sys_db.get_workflow_status(workflow_id)
442
442
  if not status:
443
443
  raise DBOSRecoveryError(workflow_id, "Workflow status not found")
444
- inputs = dbos._sys_db.get_workflow_inputs(workflow_id)
445
- if not inputs:
446
- raise DBOSRecoveryError(workflow_id, "Workflow inputs not found")
444
+ inputs = _serialization.deserialize_args(status["inputs"])
447
445
  wf_func = dbos._registry.workflow_info_map.get(status["name"], None)
448
446
  if not wf_func:
449
447
  raise DBOSWorkflowFunctionNotFoundError(
450
448
  workflow_id, "Workflow function not found"
451
449
  )
452
450
  with DBOSContextEnsure():
453
- ctx = assert_current_dbos_context()
454
451
  # If this function belongs to a configured class, add that class instance as its first argument
455
452
  if status["config_name"] is not None:
456
453
  config_name = status["config_name"]
dbos/_dbos_config.py CHANGED
@@ -91,7 +91,7 @@ class ConfigFile(TypedDict, total=False):
91
91
  Data structure containing the DBOS Configuration.
92
92
 
93
93
  This configuration data is typically loaded from `dbos-config.yaml`.
94
- See `https://docs.dbos.dev/api-reference/configuration`_
94
+ See `https://docs.dbos.dev/python/reference/configuration#dbos-configuration-file`
95
95
 
96
96
  Attributes:
97
97
  name (str): Application name
@@ -0,0 +1,30 @@
1
+ """consolidate_inputs
2
+
3
+ Revision ID: d994145b47b6
4
+ Revises: 66478e1b95e5
5
+ Create Date: 2025-05-23 08:09:15.515009
6
+
7
+ """
8
+
9
+ from typing import Sequence, Union
10
+
11
+ import sqlalchemy as sa
12
+ from alembic import op
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = "d994145b47b6"
16
+ down_revision: Union[str, None] = "66478e1b95e5"
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ op.add_column(
23
+ "workflow_status",
24
+ sa.Column("inputs", sa.Text(), nullable=True),
25
+ schema="dbos",
26
+ )
27
+
28
+
29
+ def downgrade() -> None:
30
+ op.drop_column("workflow_status", "inputs", schema="dbos")
@@ -58,6 +58,7 @@ class SystemSchema:
58
58
  Column("workflow_deadline_epoch_ms", BigInteger, nullable=True),
59
59
  Column("started_at_epoch_ms", BigInteger(), nullable=True),
60
60
  Column("deduplication_id", Text(), nullable=True),
61
+ Column("inputs", Text()),
61
62
  Column("priority", Integer(), nullable=False, server_default=text("'0'::int")),
62
63
  Index("workflow_status_created_at_index", "created_at"),
63
64
  Index("workflow_status_executor_id_index", "executor_id"),
@@ -88,21 +89,6 @@ class SystemSchema:
88
89
  PrimaryKeyConstraint("workflow_uuid", "function_id"),
89
90
  )
90
91
 
91
- workflow_inputs = Table(
92
- "workflow_inputs",
93
- metadata_obj,
94
- Column(
95
- "workflow_uuid",
96
- Text,
97
- ForeignKey(
98
- "workflow_status.workflow_uuid", onupdate="CASCADE", ondelete="CASCADE"
99
- ),
100
- primary_key=True,
101
- nullable=False,
102
- ),
103
- Column("inputs", Text, nullable=False),
104
- )
105
-
106
92
  notifications = Table(
107
93
  "notifications",
108
94
  metadata_obj,
dbos/_sys_db.py CHANGED
@@ -140,6 +140,8 @@ class WorkflowStatusInternal(TypedDict):
140
140
  deduplication_id: Optional[str]
141
141
  # Priority of the workflow on the queue, starting from 1 ~ 2,147,483,647. Default 0 (highest priority).
142
142
  priority: int
143
+ # Serialized workflow inputs
144
+ inputs: str
143
145
 
144
146
 
145
147
  class EnqueueOptionsInternal(TypedDict):
@@ -462,6 +464,7 @@ class SystemDatabase:
462
464
  workflow_deadline_epoch_ms=status["workflow_deadline_epoch_ms"],
463
465
  deduplication_id=status["deduplication_id"],
464
466
  priority=status["priority"],
467
+ inputs=status["inputs"],
465
468
  )
466
469
  .on_conflict_do_update(
467
470
  index_elements=["workflow_uuid"],
@@ -483,6 +486,8 @@ class SystemDatabase:
483
486
  status["queue_name"],
484
487
  status["deduplication_id"],
485
488
  )
489
+ else:
490
+ raise
486
491
  row = results.fetchone()
487
492
  if row is not None:
488
493
  # Check the started workflow matches the expected name, class_name, config_name, and queue_name
@@ -640,9 +645,6 @@ class SystemDatabase:
640
645
  status = self.get_workflow_status(original_workflow_id)
641
646
  if status is None:
642
647
  raise Exception(f"Workflow {original_workflow_id} not found")
643
- inputs = self.get_workflow_inputs(original_workflow_id)
644
- if inputs is None:
645
- raise Exception(f"Workflow {original_workflow_id} not found")
646
648
 
647
649
  with self.engine.begin() as c:
648
650
  # Create an entry for the forked workflow with the same
@@ -664,13 +666,7 @@ class SystemDatabase:
664
666
  authenticated_roles=status["authenticated_roles"],
665
667
  assumed_role=status["assumed_role"],
666
668
  queue_name=INTERNAL_QUEUE_NAME,
667
- )
668
- )
669
- # Copy the original workflow's inputs into the forked workflow
670
- c.execute(
671
- pg.insert(SystemSchema.workflow_inputs).values(
672
- workflow_uuid=forked_workflow_id,
673
- inputs=_serialization.serialize_args(inputs),
669
+ inputs=status["inputs"],
674
670
  )
675
671
  )
676
672
 
@@ -730,6 +726,7 @@ class SystemDatabase:
730
726
  SystemSchema.workflow_status.c.workflow_timeout_ms,
731
727
  SystemSchema.workflow_status.c.deduplication_id,
732
728
  SystemSchema.workflow_status.c.priority,
729
+ SystemSchema.workflow_status.c.inputs,
733
730
  ).where(SystemSchema.workflow_status.c.workflow_uuid == workflow_uuid)
734
731
  ).fetchone()
735
732
  if row is None:
@@ -756,6 +753,7 @@ class SystemDatabase:
756
753
  "workflow_timeout_ms": row[15],
757
754
  "deduplication_id": row[16],
758
755
  "priority": row[17],
756
+ "inputs": row[18],
759
757
  }
760
758
  return status
761
759
 
@@ -786,53 +784,6 @@ class SystemDatabase:
786
784
  pass # CB: I guess we're assuming the WF will show up eventually.
787
785
  time.sleep(1)
788
786
 
789
- def _update_workflow_inputs(
790
- self, workflow_uuid: str, inputs: str, conn: sa.Connection
791
- ) -> None:
792
- if self._debug_mode:
793
- raise Exception("called update_workflow_inputs in debug mode")
794
-
795
- cmd = (
796
- pg.insert(SystemSchema.workflow_inputs)
797
- .values(
798
- workflow_uuid=workflow_uuid,
799
- inputs=inputs,
800
- )
801
- .on_conflict_do_update(
802
- index_elements=["workflow_uuid"],
803
- set_=dict(workflow_uuid=SystemSchema.workflow_inputs.c.workflow_uuid),
804
- )
805
- .returning(SystemSchema.workflow_inputs.c.inputs)
806
- )
807
-
808
- row = conn.execute(cmd).fetchone()
809
- if row is not None and row[0] != inputs:
810
- # In a distributed environment, scheduled workflows are enqueued multiple times with slightly different timestamps
811
- if not workflow_uuid.startswith("sched-"):
812
- dbos_logger.warning(
813
- f"Workflow {workflow_uuid} has been called multiple times with different inputs"
814
- )
815
- # TODO: actually changing the input
816
-
817
- return
818
-
819
- @db_retry()
820
- def get_workflow_inputs(
821
- self, workflow_uuid: str
822
- ) -> Optional[_serialization.WorkflowInputs]:
823
- with self.engine.begin() as c:
824
- row = c.execute(
825
- sa.select(SystemSchema.workflow_inputs.c.inputs).where(
826
- SystemSchema.workflow_inputs.c.workflow_uuid == workflow_uuid
827
- )
828
- ).fetchone()
829
- if row is None:
830
- return None
831
- inputs: _serialization.WorkflowInputs = _serialization.deserialize_args(
832
- row[0]
833
- )
834
- return inputs
835
-
836
787
  def get_workflows(self, input: GetWorkflowsInput) -> List[WorkflowStatus]:
837
788
  """
838
789
  Retrieve a list of workflows result and inputs based on the input criteria. The result is a list of external-facing workflow status objects.
@@ -853,15 +804,11 @@ class SystemDatabase:
853
804
  SystemSchema.workflow_status.c.updated_at,
854
805
  SystemSchema.workflow_status.c.application_version,
855
806
  SystemSchema.workflow_status.c.application_id,
856
- SystemSchema.workflow_inputs.c.inputs,
807
+ SystemSchema.workflow_status.c.inputs,
857
808
  SystemSchema.workflow_status.c.output,
858
809
  SystemSchema.workflow_status.c.error,
859
810
  SystemSchema.workflow_status.c.workflow_deadline_epoch_ms,
860
811
  SystemSchema.workflow_status.c.workflow_timeout_ms,
861
- ).join(
862
- SystemSchema.workflow_inputs,
863
- SystemSchema.workflow_status.c.workflow_uuid
864
- == SystemSchema.workflow_inputs.c.workflow_uuid,
865
812
  )
866
813
  if input.sort_desc:
867
814
  query = query.order_by(SystemSchema.workflow_status.c.created_at.desc())
@@ -951,39 +898,31 @@ class SystemDatabase:
951
898
  """
952
899
  Retrieve a list of queued workflows result and inputs based on the input criteria. The result is a list of external-facing workflow status objects.
953
900
  """
954
- query = (
955
- sa.select(
956
- SystemSchema.workflow_status.c.workflow_uuid,
957
- SystemSchema.workflow_status.c.status,
958
- SystemSchema.workflow_status.c.name,
959
- SystemSchema.workflow_status.c.recovery_attempts,
960
- SystemSchema.workflow_status.c.config_name,
961
- SystemSchema.workflow_status.c.class_name,
962
- SystemSchema.workflow_status.c.authenticated_user,
963
- SystemSchema.workflow_status.c.authenticated_roles,
964
- SystemSchema.workflow_status.c.assumed_role,
965
- SystemSchema.workflow_status.c.queue_name,
966
- SystemSchema.workflow_status.c.executor_id,
967
- SystemSchema.workflow_status.c.created_at,
968
- SystemSchema.workflow_status.c.updated_at,
969
- SystemSchema.workflow_status.c.application_version,
970
- SystemSchema.workflow_status.c.application_id,
971
- SystemSchema.workflow_inputs.c.inputs,
972
- SystemSchema.workflow_status.c.output,
973
- SystemSchema.workflow_status.c.error,
974
- SystemSchema.workflow_status.c.workflow_deadline_epoch_ms,
975
- SystemSchema.workflow_status.c.workflow_timeout_ms,
976
- )
977
- .join(
978
- SystemSchema.workflow_inputs,
979
- SystemSchema.workflow_status.c.workflow_uuid
980
- == SystemSchema.workflow_inputs.c.workflow_uuid,
981
- )
982
- .where(
983
- sa.and_(
984
- SystemSchema.workflow_status.c.queue_name.isnot(None),
985
- SystemSchema.workflow_status.c.status.in_(["ENQUEUED", "PENDING"]),
986
- )
901
+ query = sa.select(
902
+ SystemSchema.workflow_status.c.workflow_uuid,
903
+ SystemSchema.workflow_status.c.status,
904
+ SystemSchema.workflow_status.c.name,
905
+ SystemSchema.workflow_status.c.recovery_attempts,
906
+ SystemSchema.workflow_status.c.config_name,
907
+ SystemSchema.workflow_status.c.class_name,
908
+ SystemSchema.workflow_status.c.authenticated_user,
909
+ SystemSchema.workflow_status.c.authenticated_roles,
910
+ SystemSchema.workflow_status.c.assumed_role,
911
+ SystemSchema.workflow_status.c.queue_name,
912
+ SystemSchema.workflow_status.c.executor_id,
913
+ SystemSchema.workflow_status.c.created_at,
914
+ SystemSchema.workflow_status.c.updated_at,
915
+ SystemSchema.workflow_status.c.application_version,
916
+ SystemSchema.workflow_status.c.application_id,
917
+ SystemSchema.workflow_status.c.inputs,
918
+ SystemSchema.workflow_status.c.output,
919
+ SystemSchema.workflow_status.c.error,
920
+ SystemSchema.workflow_status.c.workflow_deadline_epoch_ms,
921
+ SystemSchema.workflow_status.c.workflow_timeout_ms,
922
+ ).where(
923
+ sa.and_(
924
+ SystemSchema.workflow_status.c.queue_name.isnot(None),
925
+ SystemSchema.workflow_status.c.status.in_(["ENQUEUED", "PENDING"]),
987
926
  )
988
927
  )
989
928
  if input["sort_desc"]:
@@ -1893,7 +1832,6 @@ class SystemDatabase:
1893
1832
  def init_workflow(
1894
1833
  self,
1895
1834
  status: WorkflowStatusInternal,
1896
- inputs: str,
1897
1835
  *,
1898
1836
  max_recovery_attempts: Optional[int],
1899
1837
  ) -> tuple[WorkflowStatuses, Optional[int]]:
@@ -1904,7 +1842,6 @@ class SystemDatabase:
1904
1842
  wf_status, workflow_deadline_epoch_ms = self._insert_workflow_status(
1905
1843
  status, conn, max_recovery_attempts=max_recovery_attempts
1906
1844
  )
1907
- self._update_workflow_inputs(status["workflow_uuid"], inputs, conn)
1908
1845
  return wf_status, workflow_deadline_epoch_ms
1909
1846
 
1910
1847
  def check_connection(self) -> None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbos
3
- Version: 1.3.0a4
3
+ Version: 1.3.0a7
4
4
  Summary: Ultra-lightweight durable execution in Python
5
5
  Author-Email: "DBOS, Inc." <contact@dbos.dev>
6
6
  License: MIT
@@ -1,20 +1,20 @@
1
- dbos-1.3.0a4.dist-info/METADATA,sha256=SxzfQt29v1tlpqECaOISk3fOPzN9vCsagpgQ5n3TqwM,13267
2
- dbos-1.3.0a4.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
- dbos-1.3.0a4.dist-info/entry_points.txt,sha256=_QOQ3tVfEjtjBlr1jS4sHqHya9lI2aIEIWkz8dqYp14,58
4
- dbos-1.3.0a4.dist-info/licenses/LICENSE,sha256=VGZit_a5-kdw9WT6fY5jxAWVwGQzgLFyPWrcVVUhVNU,1067
1
+ dbos-1.3.0a7.dist-info/METADATA,sha256=niVru1hNRSgrq4e_MBCmWXBVzq0j3S80W_GClfpA6RE,13267
2
+ dbos-1.3.0a7.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
+ dbos-1.3.0a7.dist-info/entry_points.txt,sha256=_QOQ3tVfEjtjBlr1jS4sHqHya9lI2aIEIWkz8dqYp14,58
4
+ dbos-1.3.0a7.dist-info/licenses/LICENSE,sha256=VGZit_a5-kdw9WT6fY5jxAWVwGQzgLFyPWrcVVUhVNU,1067
5
5
  dbos/__init__.py,sha256=NssPCubaBxdiKarOWa-wViz1hdJSkmBGcpLX_gQ4NeA,891
6
6
  dbos/__main__.py,sha256=G7Exn-MhGrVJVDbgNlpzhfh8WMX_72t3_oJaFT9Lmt8,653
7
7
  dbos/_admin_server.py,sha256=TWXi4drrzKFpKkUmEJpJkQBZxAtOalnhtYicEn2nDK0,10618
8
8
  dbos/_app_db.py,sha256=0PKqpxJ3EbIaak3Wl0lNl3hXvhBfz4EEHaCw1bUOvIM,9937
9
9
  dbos/_classproperty.py,sha256=f0X-_BySzn3yFDRKB2JpCbLYQ9tLwt1XftfshvY7CBs,626
10
- dbos/_client.py,sha256=jrvbv33KMkoACD4-wE72a6-Mp2fx0tagh_MnHY93Apk,14576
10
+ dbos/_client.py,sha256=cQxw1Nbh_vKZ03lONt0EmUhwXBk3B3NczZrmfXXeefY,14667
11
11
  dbos/_conductor/conductor.py,sha256=o0IaZjwnZ2TOyHeP2H4iSX6UnXLXQ4uODvWAKD9hHMs,21703
12
12
  dbos/_conductor/protocol.py,sha256=wgOFZxmS81bv0WCB9dAyg0s6QzldpzVKQDoSPeaX0Ws,6967
13
13
  dbos/_context.py,sha256=5ajoWAmToAfzzmMLylnJZoL4Ny9rBwZWuG05sXadMIA,24798
14
- dbos/_core.py,sha256=-yhsWn5TqDEDsIE_fY1O5qxu295kYFnz8IJnS9luhTE,48656
14
+ dbos/_core.py,sha256=hvHKi31-3LG5yfWa-KhsnoFrXsV_eT-GeKIZFT4chx8,48533
15
15
  dbos/_croniter.py,sha256=XHAyUyibs_59sJQfSNWkP7rqQY6_XrlfuuCxk4jYqek,47559
16
16
  dbos/_dbos.py,sha256=Y---ozwd9OXzA1o-oWEbnafQkUibblE6o1kUuVZa_90,47163
17
- dbos/_dbos_config.py,sha256=JWVuPE_Ifyr-pYHFxclFalB_HZ8ETFCGNJzBHGpClXw,20347
17
+ dbos/_dbos_config.py,sha256=2CC1YR8lP9W-_NsMUMnTnW-v-70KN4XkbJEeNJ78RlQ,20373
18
18
  dbos/_debug.py,sha256=MNlQVZ6TscGCRQeEEL0VE8Uignvr6dPeDDDefS3xgIE,1823
19
19
  dbos/_docker_pg_helper.py,sha256=tLJXWqZ4S-ExcaPnxg_i6cVxL6ZxrYlZjaGsklY-s2I,6115
20
20
  dbos/_error.py,sha256=q0OQJZTbR8FFHV9hEpAGpz9oWBT5L509zUhmyff7FJw,8500
@@ -36,6 +36,7 @@ dbos/_migrations/versions/933e86bdac6a_add_queue_priority.py,sha256=yZX2kGF33skp
36
36
  dbos/_migrations/versions/a3b18ad34abe_added_triggers.py,sha256=Rv0ZsZYZ_WdgGEULYsPfnp4YzaO5L198gDTgYY39AVA,2022
37
37
  dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py,sha256=8PyFi8rd6CN-mUro43wGhsg5wcQWKZPRHD6jw8R5pVc,986
38
38
  dbos/_migrations/versions/d76646551a6c_workflow_queue.py,sha256=G942nophZ2uC2vc4hGBC02Ptng1715roTjY3xiyzZU4,729
39
+ dbos/_migrations/versions/d994145b47b6_consolidate_inputs.py,sha256=_J0jP247fuo66fzOmLlKFO9FJ_CRBXlqa2lnLrcXugQ,672
39
40
  dbos/_migrations/versions/eab0cc1d9a14_job_queue.py,sha256=uvhFOtqbBreCePhAxZfIT0qCAI7BiZTou9wt6QnbY7c,1412
40
41
  dbos/_migrations/versions/f4b9b32ba814_functionname_childid_op_outputs.py,sha256=m90Lc5YH0ZISSq1MyxND6oq3RZrZKrIqEsZtwJ1jWxA,1049
41
42
  dbos/_outcome.py,sha256=EXxBg4jXCVJsByDQ1VOCIedmbeq_03S6d-p1vqQrLFU,6810
@@ -46,9 +47,9 @@ dbos/_roles.py,sha256=iOsgmIAf1XVzxs3gYWdGRe1B880YfOw5fpU7Jwx8_A8,2271
46
47
  dbos/_scheduler.py,sha256=SR1oRZRcVzYsj-JauV2LA8JtwTkt8mru7qf6H1AzQ1U,2027
47
48
  dbos/_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
49
  dbos/_schemas/application_database.py,sha256=SypAS9l9EsaBHFn9FR8jmnqt01M74d9AF1AMa4m2hhI,1040
49
- dbos/_schemas/system_database.py,sha256=5ebwz_h-Yz11u_eYbs8Cy8YinDpxvyiw8mEc0qjR5bo,4796
50
+ dbos/_schemas/system_database.py,sha256=rbFKggONdvvbb45InvGz0TM6a7c-Ux9dcaL-h_7Z7pU,4438
50
51
  dbos/_serialization.py,sha256=bWuwhXSQcGmiazvhJHA5gwhrRWxtmFmcCFQSDJnqqkU,3666
51
- dbos/_sys_db.py,sha256=wAmqy4oznS3BkG-Q0K0PnpodrecuUSP9UyXGQbTYkk4,80429
52
+ dbos/_sys_db.py,sha256=67z_K0aKH8M_oRs9c13zhp6skpT-sLAw8nYRBa3JM5w,77844
52
53
  dbos/_templates/dbos-db-starter/README.md,sha256=GhxhBj42wjTt1fWEtwNriHbJuKb66Vzu89G4pxNHw2g,930
53
54
  dbos/_templates/dbos-db-starter/__package/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
54
55
  dbos/_templates/dbos-db-starter/__package/main.py.dbos,sha256=aQnBPSSQpkB8ERfhf7gB7P9tsU6OPKhZscfeh0yiaD8,2702
@@ -68,4 +69,4 @@ dbos/cli/cli.py,sha256=EemOMqNpzSU2BQhAxV_e59pBRITDLwt49HF6W3uWBZg,20775
68
69
  dbos/dbos-config.schema.json,sha256=CjaspeYmOkx6Ip_pcxtmfXJTn_YGdSx_0pcPBF7KZmo,6060
69
70
  dbos/py.typed,sha256=QfzXT1Ktfk3Rj84akygc7_42z0lRpCq0Ilh8OXI6Zas,44
70
71
  version/__init__.py,sha256=L4sNxecRuqdtSFdpUGX3TtBi9KL3k7YsZVIvv-fv9-A,1678
71
- dbos-1.3.0a4.dist-info/RECORD,,
72
+ dbos-1.3.0a7.dist-info/RECORD,,
File without changes