dbos 0.24.0a15__tar.gz → 0.25.0a1__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.

Potentially problematic release.


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

Files changed (98) hide show
  1. {dbos-0.24.0a15 → dbos-0.25.0a1}/PKG-INFO +1 -1
  2. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_dbos.py +9 -0
  3. {dbos-0.24.0a15 → dbos-0.25.0a1}/pyproject.toml +1 -1
  4. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_dbos.py +2 -0
  5. {dbos-0.24.0a15 → dbos-0.25.0a1}/LICENSE +0 -0
  6. {dbos-0.24.0a15 → dbos-0.25.0a1}/README.md +0 -0
  7. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/__init__.py +0 -0
  8. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/__main__.py +0 -0
  9. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_admin_server.py +0 -0
  10. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_app_db.py +0 -0
  11. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_classproperty.py +0 -0
  12. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_cloudutils/authentication.py +0 -0
  13. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_cloudutils/cloudutils.py +0 -0
  14. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_cloudutils/databases.py +0 -0
  15. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_conductor/conductor.py +0 -0
  16. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_conductor/protocol.py +0 -0
  17. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_context.py +0 -0
  18. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_core.py +0 -0
  19. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_croniter.py +0 -0
  20. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_db_wizard.py +0 -0
  21. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_dbos_config.py +0 -0
  22. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_debug.py +0 -0
  23. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_error.py +0 -0
  24. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_fastapi.py +0 -0
  25. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_flask.py +0 -0
  26. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_kafka.py +0 -0
  27. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_kafka_message.py +0 -0
  28. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_logger.py +0 -0
  29. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/env.py +0 -0
  30. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/script.py.mako +0 -0
  31. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/versions/04ca4f231047_workflow_queues_executor_id.py +0 -0
  32. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/versions/50f3227f0b4b_fix_job_queue.py +0 -0
  33. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/versions/5c361fc04708_added_system_tables.py +0 -0
  34. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/versions/a3b18ad34abe_added_triggers.py +0 -0
  35. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py +0 -0
  36. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/versions/d76646551a6c_workflow_queue.py +0 -0
  37. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_migrations/versions/eab0cc1d9a14_job_queue.py +0 -0
  38. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_outcome.py +0 -0
  39. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_queue.py +0 -0
  40. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_recovery.py +0 -0
  41. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_registrations.py +0 -0
  42. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_request.py +0 -0
  43. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_roles.py +0 -0
  44. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_scheduler.py +0 -0
  45. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_schemas/__init__.py +0 -0
  46. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_schemas/application_database.py +0 -0
  47. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_schemas/system_database.py +0 -0
  48. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_serialization.py +0 -0
  49. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_sys_db.py +0 -0
  50. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/README.md +0 -0
  51. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/__package/__init__.py +0 -0
  52. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/__package/main.py +0 -0
  53. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/__package/schema.py +0 -0
  54. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/alembic.ini +0 -0
  55. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/dbos-config.yaml.dbos +0 -0
  56. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/migrations/env.py.dbos +0 -0
  57. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/migrations/script.py.mako +0 -0
  58. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/migrations/versions/2024_07_31_180642_init.py +0 -0
  59. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_templates/dbos-db-starter/start_postgres_docker.py +0 -0
  60. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_tracer.py +0 -0
  61. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_utils.py +0 -0
  62. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/_workflow_commands.py +0 -0
  63. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/cli/_github_init.py +0 -0
  64. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/cli/_template_init.py +0 -0
  65. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/cli/cli.py +0 -0
  66. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/dbos-config.schema.json +0 -0
  67. {dbos-0.24.0a15 → dbos-0.25.0a1}/dbos/py.typed +0 -0
  68. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/__init__.py +0 -0
  69. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/atexit_no_ctor.py +0 -0
  70. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/atexit_no_launch.py +0 -0
  71. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/classdefs.py +0 -0
  72. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/conftest.py +0 -0
  73. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/more_classdefs.py +0 -0
  74. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/queuedworkflow.py +0 -0
  75. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_admin_server.py +0 -0
  76. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_async.py +0 -0
  77. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_classdecorators.py +0 -0
  78. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_concurrency.py +0 -0
  79. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_config.py +0 -0
  80. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_croniter.py +0 -0
  81. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_dbwizard.py +0 -0
  82. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_debug.py +0 -0
  83. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_failures.py +0 -0
  84. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_fastapi.py +0 -0
  85. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_fastapi_roles.py +0 -0
  86. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_flask.py +0 -0
  87. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_kafka.py +0 -0
  88. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_outcome.py +0 -0
  89. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_package.py +0 -0
  90. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_queue.py +0 -0
  91. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_scheduler.py +0 -0
  92. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_schema_migration.py +0 -0
  93. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_singleton.py +0 -0
  94. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_spans.py +0 -0
  95. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_sqlalchemy.py +0 -0
  96. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_workflow_cancel.py +0 -0
  97. {dbos-0.24.0a15 → dbos-0.25.0a1}/tests/test_workflow_cmds.py +0 -0
  98. {dbos-0.24.0a15 → dbos-0.25.0a1}/version/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbos
3
- Version: 0.24.0a15
3
+ Version: 0.25.0a1
4
4
  Summary: Ultra-lightweight durable execution in Python
5
5
  Author-Email: "DBOS, Inc." <contact@dbos.dev>
6
6
  License: MIT
@@ -981,6 +981,15 @@ class DBOS:
981
981
  ), "workflow_id is only available within a DBOS operation."
982
982
  return ctx.workflow_id
983
983
 
984
+ @classproperty
985
+ def step_id(cls) -> int:
986
+ """Return the step ID for the current context. This is a unique identifier of the current step within the workflow."""
987
+ ctx = assert_current_dbos_context()
988
+ assert (
989
+ ctx.is_within_workflow()
990
+ ), "step_id is only available within a DBOS workflow."
991
+ return ctx.function_id
992
+
984
993
  @classproperty
985
994
  def parent_workflow_id(cls) -> str:
986
995
  """
@@ -27,7 +27,7 @@ dependencies = [
27
27
  ]
28
28
  requires-python = ">=3.9"
29
29
  readme = "README.md"
30
- version = "0.24.0a15"
30
+ version = "0.25.0a1"
31
31
 
32
32
  [project.license]
33
33
  text = "MIT"
@@ -38,6 +38,7 @@ def test_simple_workflow(dbos: DBOS) -> None:
38
38
 
39
39
  @DBOS.transaction(isolation_level="REPEATABLE READ")
40
40
  def test_transaction(var2: str) -> str:
41
+ assert DBOS.step_id == 1
41
42
  rows = DBOS.sql_session.execute(sa.text("SELECT 1")).fetchall()
42
43
  nonlocal txn_counter
43
44
  txn_counter += 1
@@ -46,6 +47,7 @@ def test_simple_workflow(dbos: DBOS) -> None:
46
47
 
47
48
  @DBOS.step()
48
49
  def test_step(var: str) -> str:
50
+ assert DBOS.step_id == 2
49
51
  nonlocal step_counter
50
52
  step_counter += 1
51
53
  DBOS.logger.info("I'm test_step")
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes