dbos 2.4.0a3__py3-none-any.whl → 2.6.0a8__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.

Potentially problematic release.


This version of dbos might be problematic. Click here for more details.

dbos/_sys_db_postgres.py CHANGED
@@ -31,18 +31,24 @@ class PostgresSystemDatabase(SystemDatabase):
31
31
  sysdb_name = system_db_url.database
32
32
  # Unless we were provided an engine, if the system database does not already exist, create it
33
33
  if self.created_engine:
34
- engine = sa.create_engine(
35
- system_db_url.set(database="postgres"), **self._engine_kwargs
36
- )
37
- with engine.connect() as conn:
38
- conn.execution_options(isolation_level="AUTOCOMMIT")
39
- if not conn.execute(
40
- sa.text("SELECT 1 FROM pg_database WHERE datname=:db_name"),
41
- parameters={"db_name": sysdb_name},
42
- ).scalar():
43
- dbos_logger.info(f"Creating system database {sysdb_name}")
44
- conn.execute(sa.text(f'CREATE DATABASE "{sysdb_name}"'))
45
- engine.dispose()
34
+ try:
35
+ engine = sa.create_engine(
36
+ system_db_url.set(database="postgres"), **self._engine_kwargs
37
+ )
38
+ with engine.connect() as conn:
39
+ conn.execution_options(isolation_level="AUTOCOMMIT")
40
+ if not conn.execute(
41
+ sa.text("SELECT 1 FROM pg_database WHERE datname=:db_name"),
42
+ parameters={"db_name": sysdb_name},
43
+ ).scalar():
44
+ dbos_logger.info(f"Creating system database {sysdb_name}")
45
+ conn.execute(sa.text(f'CREATE DATABASE "{sysdb_name}"'))
46
+ except Exception:
47
+ dbos_logger.warning(
48
+ f"Could not connect to postgres database to verify existence of {sysdb_name}. Continuing..."
49
+ )
50
+ finally:
51
+ engine.dispose()
46
52
  else:
47
53
  # If we were provided an engine, validate it can connect
48
54
  with self.engine.connect() as conn:
dbos/_tracer.py CHANGED
@@ -8,6 +8,7 @@ if TYPE_CHECKING:
8
8
  from dbos._utils import GlobalParams
9
9
 
10
10
  from ._dbos_config import ConfigFile
11
+ from ._logger import dbos_logger
11
12
 
12
13
  if TYPE_CHECKING:
13
14
  from ._context import TracedAttributes
@@ -45,8 +46,9 @@ class DBOSTracer:
45
46
  tracer_provider = trace.get_tracer_provider()
46
47
 
47
48
  # Only set up OTLP provider and exporter if endpoints are provided
48
- if otlp_traces_endpoints is not None:
49
- if not isinstance(tracer_provider, TracerProvider):
49
+ if otlp_traces_endpoints is not None and len(otlp_traces_endpoints) > 0:
50
+ if isinstance(tracer_provider, trace.ProxyTracerProvider):
51
+ # Set a real TracerProvider if it was previously a ProxyTracerProvider
50
52
  resource = Resource(
51
53
  attributes={
52
54
  SERVICE_NAME: config["name"],
@@ -61,7 +63,12 @@ class DBOSTracer:
61
63
 
62
64
  for e in otlp_traces_endpoints:
63
65
  processor = BatchSpanProcessor(OTLPSpanExporter(endpoint=e))
64
- tracer_provider.add_span_processor(processor)
66
+ tracer_provider.add_span_processor(processor) # type: ignore
67
+
68
+ if isinstance(tracer_provider, trace.ProxyTracerProvider):
69
+ dbos_logger.warning(
70
+ "OTLP is enabled but tracer provider not set, skipping trace exporter setup."
71
+ )
65
72
 
66
73
  def set_provider(self, provider: "Optional[TracerProvider]") -> None:
67
74
  self.provider = provider
dbos/_utils.py CHANGED
@@ -1,5 +1,7 @@
1
1
  import importlib.metadata
2
2
  import os
3
+ import sys
4
+ import uuid
3
5
 
4
6
  import psycopg
5
7
  from sqlalchemy.exc import DBAPIError
@@ -12,6 +14,7 @@ request_id_header = "x-request-id"
12
14
  class GlobalParams:
13
15
  app_version: str = os.environ.get("DBOS__APPVERSION", "")
14
16
  executor_id: str = os.environ.get("DBOS__VMID", "local")
17
+ dbos_cloud: bool = os.environ.get("DBOS__CLOUD") == "true"
15
18
  try:
16
19
  # Only works on Python >= 3.8
17
20
  dbos_version = importlib.metadata.version("dbos")
@@ -57,3 +60,10 @@ def retriable_sqlite_exception(e: Exception) -> bool:
57
60
  return True
58
61
  else:
59
62
  return False
63
+
64
+
65
+ def generate_uuid() -> str:
66
+ if sys.version_info >= (3, 14):
67
+ return str(uuid.uuid7())
68
+ else:
69
+ return str(uuid.uuid4())
@@ -1,13 +1,11 @@
1
- import uuid
2
1
  from datetime import datetime
3
2
  from typing import TYPE_CHECKING, List, Optional, Union
4
3
 
5
4
  from dbos._context import get_local_dbos_context
5
+ from dbos._utils import generate_uuid
6
6
 
7
- from ._app_db import ApplicationDatabase
8
7
  from ._sys_db import (
9
8
  GetWorkflowsInput,
10
- StepInfo,
11
9
  SystemDatabase,
12
10
  WorkflowStatus,
13
11
  WorkflowStatusString,
@@ -101,19 +99,8 @@ def get_workflow(sys_db: SystemDatabase, workflow_id: str) -> Optional[WorkflowS
101
99
  return infos[0]
102
100
 
103
101
 
104
- def list_workflow_steps(
105
- sys_db: SystemDatabase, app_db: Optional[ApplicationDatabase], workflow_id: str
106
- ) -> List[StepInfo]:
107
- steps = sys_db.get_workflow_steps(workflow_id)
108
- transactions = app_db.get_transactions(workflow_id) if app_db else []
109
- merged_steps = steps + transactions
110
- merged_steps.sort(key=lambda step: step["function_id"])
111
- return merged_steps
112
-
113
-
114
102
  def fork_workflow(
115
103
  sys_db: SystemDatabase,
116
- app_db: Optional[ApplicationDatabase],
117
104
  workflow_id: str,
118
105
  start_step: int,
119
106
  *,
@@ -125,9 +112,7 @@ def fork_workflow(
125
112
  forked_workflow_id = ctx.id_assigned_for_next_workflow
126
113
  ctx.id_assigned_for_next_workflow = ""
127
114
  else:
128
- forked_workflow_id = str(uuid.uuid4())
129
- if app_db:
130
- app_db.clone_workflow_transactions(workflow_id, forked_workflow_id, start_step)
115
+ forked_workflow_id = generate_uuid()
131
116
  sys_db.fork_workflow(
132
117
  workflow_id,
133
118
  forked_workflow_id,
dbos/cli/cli.py CHANGED
@@ -1,9 +1,9 @@
1
1
  import json
2
+ import logging
2
3
  import os
3
4
  import platform
4
5
  import signal
5
6
  import subprocess
6
- import time
7
7
  import typing
8
8
  from os import path
9
9
  from typing import Annotated, Any, List, Optional, Tuple
@@ -13,7 +13,7 @@ import typer
13
13
 
14
14
  from dbos._context import SetWorkflowID
15
15
  from dbos._debug import debug_workflow, parse_start_command
16
- from dbos.cli.migration import grant_dbos_schema_permissions, migrate_dbos_databases
16
+ from dbos.cli.migration import run_dbos_database_migrations
17
17
 
18
18
  from .._client import DBOSClient
19
19
  from .._dbos_config import (
@@ -25,6 +25,7 @@ from .._dbos_config import (
25
25
  load_config,
26
26
  )
27
27
  from .._docker_pg_helper import start_docker_pg, stop_docker_pg
28
+ from .._logger import dbos_logger
28
29
  from .._sys_db import SystemDatabase
29
30
  from .._utils import GlobalParams
30
31
  from ..cli._github_init import create_template_from_github
@@ -49,6 +50,7 @@ def _get_db_url(
49
50
  Otherwise fallback to the same SQLite Postgres URL than the DBOS library.
50
51
  Note that for the latter to be possible, a configuration file must have been found, with an application name set.
51
52
  """
53
+ dbos_logger.setLevel(logging.WARNING) # The CLI should not emit INFO logs
52
54
  if os.environ.get("DBOS__CLOUD") == "true":
53
55
  system_database_url = os.environ.get("DBOS_SYSTEM_DATABASE_URL")
54
56
  application_database_url = os.environ.get("DBOS_DATABASE_URL")
@@ -72,7 +74,7 @@ def _get_db_url(
72
74
  _app_db_name = _app_name_to_db_name(config["name"])
73
75
  # Fallback on the same defaults than the DBOS library
74
76
  default_url = f"sqlite:///{_app_db_name}.sqlite"
75
- return default_url, default_url
77
+ return default_url, None
76
78
  except (FileNotFoundError, OSError):
77
79
  typer.echo(
78
80
  f"Error: Missing database URL: please set it using CLI flags or your dbos-config.yaml file.",
@@ -294,25 +296,13 @@ def migrate(
294
296
  schema = "dbos"
295
297
  typer.echo(f"DBOS system schema: {schema}")
296
298
 
297
- # First, run DBOS migrations on the system database and the application database
298
- migrate_dbos_databases(
299
- app_database_url=application_database_url,
299
+ run_dbos_database_migrations(
300
300
  system_database_url=system_database_url,
301
+ app_database_url=application_database_url,
301
302
  schema=schema,
303
+ application_role=application_role,
302
304
  )
303
305
 
304
- # Next, assign permissions on the DBOS schema to the application role, if any
305
- if application_role:
306
- if application_database_url:
307
- grant_dbos_schema_permissions(
308
- database_url=application_database_url,
309
- role_name=application_role,
310
- schema=schema,
311
- )
312
- grant_dbos_schema_permissions(
313
- database_url=system_database_url, role_name=application_role, schema=schema
314
- )
315
-
316
306
  # Next, run any custom migration commands specified in the configuration
317
307
  if os.path.exists("dbos-config.yaml"):
318
308
  config = load_config(silent=True)
dbos/cli/migration.py CHANGED
@@ -8,8 +8,35 @@ from dbos._serialization import DefaultSerializer
8
8
  from dbos._sys_db import SystemDatabase
9
9
 
10
10
 
11
+ def run_dbos_database_migrations(
12
+ system_database_url: str,
13
+ *,
14
+ app_database_url: Optional[str] = None,
15
+ schema: str = "dbos",
16
+ application_role: Optional[str] = None,
17
+ ) -> None:
18
+ # First, run DBOS migrations on the system database and (optionally) the application database
19
+ migrate_dbos_databases(
20
+ system_database_url=system_database_url,
21
+ app_database_url=app_database_url,
22
+ schema=schema,
23
+ )
24
+
25
+ # Then, assign permissions on the DBOS schema to the application role, if any
26
+ if application_role:
27
+ if app_database_url:
28
+ grant_dbos_schema_permissions(
29
+ database_url=app_database_url,
30
+ role_name=application_role,
31
+ schema=schema,
32
+ )
33
+ grant_dbos_schema_permissions(
34
+ database_url=system_database_url, role_name=application_role, schema=schema
35
+ )
36
+
37
+
11
38
  def migrate_dbos_databases(
12
- app_database_url: Optional[str], system_database_url: str, schema: str
39
+ system_database_url: str, app_database_url: Optional[str], schema: str
13
40
  ) -> None:
14
41
  app_db = None
15
42
  sys_db = None
@@ -24,6 +51,7 @@ def migrate_dbos_databases(
24
51
  engine=None,
25
52
  schema=schema,
26
53
  serializer=DefaultSerializer(),
54
+ executor_id=None,
27
55
  )
28
56
  sys_db.run_migrations()
29
57
  if app_database_url:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbos
3
- Version: 2.4.0a3
3
+ Version: 2.6.0a8
4
4
  Summary: Ultra-lightweight durable execution in Python
5
5
  Author-Email: "DBOS, Inc." <contact@dbos.dev>
6
6
  License: MIT
@@ -1,43 +1,43 @@
1
- dbos-2.4.0a3.dist-info/METADATA,sha256=_nEbIimxVj4IDZxqDRCNV9H9LdN7EXbc-sP2bLKrd7w,14532
2
- dbos-2.4.0a3.dist-info/WHEEL,sha256=9P2ygRxDrTJz3gsagc0Z96ukrxjr-LFBGOgv3AuKlCA,90
3
- dbos-2.4.0a3.dist-info/entry_points.txt,sha256=_QOQ3tVfEjtjBlr1jS4sHqHya9lI2aIEIWkz8dqYp14,58
4
- dbos-2.4.0a3.dist-info/licenses/LICENSE,sha256=VGZit_a5-kdw9WT6fY5jxAWVwGQzgLFyPWrcVVUhVNU,1067
5
- dbos/__init__.py,sha256=M7FdFSBGhcvaLIXrNw_0eR68ijwMWV7_UEyimHMP_F4,1039
1
+ dbos-2.6.0a8.dist-info/METADATA,sha256=Q5YT8N3zg_HKf39l8yJ9eYkxjNatipzHYhay___kURw,14532
2
+ dbos-2.6.0a8.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
3
+ dbos-2.6.0a8.dist-info/entry_points.txt,sha256=_QOQ3tVfEjtjBlr1jS4sHqHya9lI2aIEIWkz8dqYp14,58
4
+ dbos-2.6.0a8.dist-info/licenses/LICENSE,sha256=VGZit_a5-kdw9WT6fY5jxAWVwGQzgLFyPWrcVVUhVNU,1067
5
+ dbos/__init__.py,sha256=V6xIct0dCicUds9El1z4cHUPVlEWDqAtvrO0Uo2Tvxo,1131
6
6
  dbos/__main__.py,sha256=G7Exn-MhGrVJVDbgNlpzhfh8WMX_72t3_oJaFT9Lmt8,653
7
7
  dbos/_admin_server.py,sha256=Kce_Cv6JXZBABzfOcNJdVHOwEukmp7SvO24TSa-gLIM,16371
8
- dbos/_app_db.py,sha256=3XHvTePe1JaAI42rO3waWGoEeDyXkFKGzTFwJxQHUmo,16464
8
+ dbos/_app_db.py,sha256=NpLnA1-WCMp7lOxyYVQ1iQMMleQ6FxUAhpJWcAQKtm8,14259
9
9
  dbos/_classproperty.py,sha256=f0X-_BySzn3yFDRKB2JpCbLYQ9tLwt1XftfshvY7CBs,626
10
- dbos/_client.py,sha256=8yrIqO5Hg-TdYS6P5sxxVWz_iusarS9Is8DU3WezoUQ,19966
11
- dbos/_conductor/conductor.py,sha256=TB9hF7cQupiv8yJb3BZuIUYJkxQ7aJY7d0Apxkn0xss,24254
12
- dbos/_conductor/protocol.py,sha256=nVjpcSw_OPoCM7NBU_IRWnk9dFQjOgAkg0ufhj8lFzI,8901
13
- dbos/_context.py,sha256=XKllmsDR_oMcWOuZnoe1X4yv2JeOi_vsAuyWC-mWs_o,28164
14
- dbos/_core.py,sha256=FCspRQFRMFyHpkl4vqR8IEw3aitD-VWB77CMVQrlyy8,50257
10
+ dbos/_client.py,sha256=sMm9biHRrpWt0HRlcdmcxwZFmudB2YRzV0o3QMxKBZQ,20186
11
+ dbos/_conductor/conductor.py,sha256=Yp1K6Fqx4iFmftIyvV60Q50ZczMQU86luuLItTIRAVI,26540
12
+ dbos/_conductor/protocol.py,sha256=mCQU5sjgUWYSbAt5QPUWd-Fq-R9AQASgzkgprBnQy78,9338
13
+ dbos/_context.py,sha256=GOoSpv1BE4jAXtMzTvPfy2VR6Rr4fSqTb0IjgCR_ER4,28165
14
+ dbos/_core.py,sha256=JVTqgtx0vR-xWNQAYqnhN3OWfnnacmlj6BLrPFzajE4,53656
15
15
  dbos/_croniter.py,sha256=XHAyUyibs_59sJQfSNWkP7rqQY6_XrlfuuCxk4jYqek,47559
16
- dbos/_dbos.py,sha256=jjbnAKHBMzn0cmaDdF-U5rNeFZEWwH99RSIvtFRkrEQ,59803
17
- dbos/_dbos_config.py,sha256=mfajyeyeV1ZHaAg2GU3dxwvp_19wZtY2prNdVrXgPb8,24846
18
- dbos/_debouncer.py,sha256=qNjIVmWqTPp64M2cEbLnpgGmlKVdCaAKysD1BPJgWh4,15297
16
+ dbos/_dbos.py,sha256=30XRfHCvg4fmgP6bwlgoOH2D44DEOvpKxs5dY-Gtae0,60218
17
+ dbos/_dbos_config.py,sha256=-gLgDuWlooVfkiXF8IoQn2P4Q6yDqu1HfZoKD2BcUOo,23981
18
+ dbos/_debouncer.py,sha256=G3QwqNCmdWC0zDy3LMV4kfK771aI-Kx8ULBgU7NXAwE,15294
19
19
  dbos/_debug.py,sha256=0MfgNqutCUhI4PEmmra9x7f3DiFE_0nscfUCHdLimEY,1415
20
20
  dbos/_docker_pg_helper.py,sha256=xySum4hTA8TVMBODoG19u4cXQAB1vCock-jwM2pnmSI,7791
21
21
  dbos/_error.py,sha256=GwO0Ng4d4iB52brY09-Ss6Cz_V28Xc0D0cRCzZ6XmNM,8688
22
22
  dbos/_event_loop.py,sha256=cvaFN9-II3MsHEOq8QoICc_8qSKrjikMlLfuhC3Y8Dk,2923
23
- dbos/_fastapi.py,sha256=toYYfbe2aui2aHw0021PoXi2dKlI6NzO3M3pHB0dHOk,3421
24
- dbos/_flask.py,sha256=Npnakt-a3W5OykONFRkDRnumaDhTQmA0NPdUCGRYKXE,1652
23
+ dbos/_fastapi.py,sha256=OgYaLVaIljFliRt3LUJq6DCPOUkS1qmrTmB1-_JKV3A,3468
24
+ dbos/_flask.py,sha256=_ST-eLLrg_KVj1eUvbeT2XeDIlECyvG9uOp3KCSjb2A,1653
25
25
  dbos/_kafka.py,sha256=cA3hXyT-FR4LQZnaBMVLTZn7oko76rcTUC_kOo6aSis,4352
26
26
  dbos/_kafka_message.py,sha256=NYvOXNG3Qn7bghn1pv3fg4Pbs86ILZGcK4IB-MLUNu0,409
27
- dbos/_logger.py,sha256=ByGkkGwEWaqE9z6E2VNDFOgu_z4LNe7_SxsVgAXzoT0,5081
28
- dbos/_migration.py,sha256=GJdxHhMUnsr3pjrGwi1f4PT76ABnn9kFUyqWp4Hakmw,11701
27
+ dbos/_logger.py,sha256=99z2NuLsPy9Z0c1XeV0D8bQE6lrFG60_m9m3FBN1XcM,5576
28
+ dbos/_migration.py,sha256=KI_iH96SoMu6cMt4WRux0kgtgajJkrBrNvfFbQ1tGyg,12703
29
29
  dbos/_outcome.py,sha256=7HvosMfEHTh1U5P6xok7kFTGLwa2lPaul0YApb3UnN4,8191
30
- dbos/_queue.py,sha256=GmqZHl9smES1KSmpauhSdsnZFJHDyfvRArmC-jBibhw,6228
30
+ dbos/_queue.py,sha256=WbTvaaj522kTxkoGGsGC405xCupsmMzU2UXiijJV2z4,8330
31
31
  dbos/_recovery.py,sha256=K-wlFhdf4yGRm6cUzyhcTjQUS0xp2T5rdNMLiiBErYg,2882
32
32
  dbos/_registrations.py,sha256=bEOntObnWaBylnebr5ZpcX2hk7OVLDd1z4BvW4_y3zA,7380
33
33
  dbos/_roles.py,sha256=kCuhhg8XLtrHCgKgm44I0abIRTGHltf88OwjEKAUggk,2317
34
34
  dbos/_scheduler.py,sha256=PLiCSUujlfEfojTnHwzY-P_AEOVEx7bvWvU5BuMgLPY,2708
35
35
  dbos/_schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
36
  dbos/_schemas/application_database.py,sha256=SypAS9l9EsaBHFn9FR8jmnqt01M74d9AF1AMa4m2hhI,1040
37
- dbos/_schemas/system_database.py,sha256=tQAFCnEyZ7bEXZm3FbGIYk5SNGk-AHA3R_vuR0hfH8s,5717
37
+ dbos/_schemas/system_database.py,sha256=i_ex-MxNobpwX4VThwIndI9igsfJ7DyICd3u7ytev7I,6549
38
38
  dbos/_serialization.py,sha256=ZGrkN5UclSLOqMVZgYpT72pw1l888ZXRoYuu3pIg3PA,2957
39
- dbos/_sys_db.py,sha256=67R1EhifDJofDzUG9DZiX9UTAHshyuPNGQ7k3P3z004,85149
40
- dbos/_sys_db_postgres.py,sha256=_3m3hF6Pc23iZfUlIFYtDuC1Tw6KsjYqnDQE0HZpjt4,6965
39
+ dbos/_sys_db.py,sha256=hEC_uoRuzhwVRnIkfBKZKLx-fqA57HXmzVbhyD6RfpM,95476
40
+ dbos/_sys_db_postgres.py,sha256=oYrF1t5N7nMPx_taEVdveg729UYTnAw3zu0UcTHa3wA,7249
41
41
  dbos/_sys_db_sqlite.py,sha256=ifjKdy-Z9vlVIBf5L6XnSaNjiBdvqPE73asVHim4A5Q,6998
42
42
  dbos/_templates/dbos-db-starter/README.md,sha256=GhxhBj42wjTt1fWEtwNriHbJuKb66Vzu89G4pxNHw2g,930
43
43
  dbos/_templates/dbos-db-starter/__package/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -46,14 +46,14 @@ dbos/_templates/dbos-db-starter/__package/schema.py,sha256=7Z27JGC8yy7Z44cbVXIRE
46
46
  dbos/_templates/dbos-db-starter/dbos-config.yaml.dbos,sha256=0wPktElM7kMB3OPHTXw4xBk9bgGKMqOHrrr7x_R23Z8,446
47
47
  dbos/_templates/dbos-db-starter/migrations/create_table.py.dbos,sha256=pVm2Q0AsxS8pg85llbrXFD6jMccMqGjhGRjTEvS-hXk,942
48
48
  dbos/_templates/dbos-db-starter/start_postgres_docker.py,sha256=lQVLlYO5YkhGPEgPqwGc7Y8uDKse9HsWv5fynJEFJHM,1681
49
- dbos/_tracer.py,sha256=jTlTkb5vUr_Ai5W9JIJf6FpYjAL0IWL52EWM_HXsi54,3958
50
- dbos/_utils.py,sha256=ZdoM1MDbHnlJrh31zfhp3iX62bAxK1kyvMwXnltC_84,1779
51
- dbos/_workflow_commands.py,sha256=ueTQXri2H4np6Sb2Citz3XEqG3a5jg_Q5NEFAx4YHmg,5160
49
+ dbos/_tracer.py,sha256=nD6a6LKMMfC0b3zCsy1ai6zk4bMCgNSaeHpE_tCsip0,4365
50
+ dbos/_utils.py,sha256=OHFOQ1r5goT75eRRiddJd-s0-ik3zt3jSOIMUoElEhQ,2007
51
+ dbos/_workflow_commands.py,sha256=YV5hHwAwtU3NB4qSQ2j-YYOlMAJwXNkCyEJ5qkFmM_E,4602
52
52
  dbos/cli/_github_init.py,sha256=R_94Fnn40CAmPy-zM00lwHi0ndyfv57TmIooADjmag4,3378
53
53
  dbos/cli/_template_init.py,sha256=AltKk256VocgvxLpuTxpjJyACrdHFjbGoqYhHzeLae4,2649
54
- dbos/cli/cli.py,sha256=AHz_JJj_qWCTRV8yT1RSA-hISFVIJrE9eUalApw9sxg,27149
55
- dbos/cli/migration.py,sha256=I0_0ngWTuCPQf6Symbpd0lizaxWUKe3uTYEmuCmsrdU,3775
54
+ dbos/cli/cli.py,sha256=iSE6qQ7wVEDscDIlZlVgOAdpJI2EG7dNE04syFyc2Q0,26728
55
+ dbos/cli/migration.py,sha256=oNgoMwrq_3L9McBlfMBZFjPkcfu_bW7_V6WhZJgXbDM,4703
56
56
  dbos/dbos-config.schema.json,sha256=47wofTZ5jlFynec7bG0L369tAXbRQQ2euBxBXvg4m9c,1730
57
57
  dbos/py.typed,sha256=QfzXT1Ktfk3Rj84akygc7_42z0lRpCq0Ilh8OXI6Zas,44
58
58
  version/__init__.py,sha256=L4sNxecRuqdtSFdpUGX3TtBi9KL3k7YsZVIvv-fv9-A,1678
59
- dbos-2.4.0a3.dist-info/RECORD,,
59
+ dbos-2.6.0a8.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: pdm-backend (2.4.5)
2
+ Generator: pdm-backend (2.4.6)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any