dbos 1.3.0a8__tar.gz → 1.3.0a9__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 (108) hide show
  1. {dbos-1.3.0a8 → dbos-1.3.0a9}/PKG-INFO +1 -1
  2. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_dbos.py +8 -1
  3. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_logger.py +17 -11
  4. {dbos-1.3.0a8 → dbos-1.3.0a9}/pyproject.toml +1 -1
  5. {dbos-1.3.0a8 → dbos-1.3.0a9}/LICENSE +0 -0
  6. {dbos-1.3.0a8 → dbos-1.3.0a9}/README.md +0 -0
  7. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/__init__.py +0 -0
  8. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/__main__.py +0 -0
  9. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_admin_server.py +0 -0
  10. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_app_db.py +0 -0
  11. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_classproperty.py +0 -0
  12. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_client.py +0 -0
  13. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_conductor/conductor.py +0 -0
  14. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_conductor/protocol.py +0 -0
  15. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_context.py +0 -0
  16. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_core.py +0 -0
  17. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_croniter.py +0 -0
  18. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_dbos_config.py +0 -0
  19. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_debug.py +0 -0
  20. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_docker_pg_helper.py +0 -0
  21. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_error.py +0 -0
  22. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_event_loop.py +0 -0
  23. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_fastapi.py +0 -0
  24. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_flask.py +0 -0
  25. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_kafka.py +0 -0
  26. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_kafka_message.py +0 -0
  27. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/env.py +0 -0
  28. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/script.py.mako +0 -0
  29. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/04ca4f231047_workflow_queues_executor_id.py +0 -0
  30. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/27ac6900c6ad_add_queue_dedup.py +0 -0
  31. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/50f3227f0b4b_fix_job_queue.py +0 -0
  32. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/5c361fc04708_added_system_tables.py +0 -0
  33. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/66478e1b95e5_consolidate_queues.py +0 -0
  34. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/83f3732ae8e7_workflow_timeout.py +0 -0
  35. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/933e86bdac6a_add_queue_priority.py +0 -0
  36. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/a3b18ad34abe_added_triggers.py +0 -0
  37. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py +0 -0
  38. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/d76646551a6c_workflow_queue.py +0 -0
  39. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/d994145b47b6_consolidate_inputs.py +0 -0
  40. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/eab0cc1d9a14_job_queue.py +0 -0
  41. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_migrations/versions/f4b9b32ba814_functionname_childid_op_outputs.py +0 -0
  42. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_outcome.py +0 -0
  43. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_queue.py +0 -0
  44. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_recovery.py +0 -0
  45. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_registrations.py +0 -0
  46. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_roles.py +0 -0
  47. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_scheduler.py +0 -0
  48. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_schemas/__init__.py +0 -0
  49. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_schemas/application_database.py +0 -0
  50. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_schemas/system_database.py +0 -0
  51. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_serialization.py +0 -0
  52. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_sys_db.py +0 -0
  53. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/README.md +0 -0
  54. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/__package/__init__.py +0 -0
  55. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/__package/main.py.dbos +0 -0
  56. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/__package/schema.py +0 -0
  57. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/alembic.ini +0 -0
  58. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/dbos-config.yaml.dbos +0 -0
  59. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/migrations/env.py.dbos +0 -0
  60. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/migrations/script.py.mako +0 -0
  61. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/migrations/versions/2024_07_31_180642_init.py +0 -0
  62. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_templates/dbos-db-starter/start_postgres_docker.py +0 -0
  63. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_tracer.py +0 -0
  64. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_utils.py +0 -0
  65. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/_workflow_commands.py +0 -0
  66. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/cli/_github_init.py +0 -0
  67. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/cli/_template_init.py +0 -0
  68. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/cli/cli.py +0 -0
  69. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/dbos-config.schema.json +0 -0
  70. {dbos-1.3.0a8 → dbos-1.3.0a9}/dbos/py.typed +0 -0
  71. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/__init__.py +0 -0
  72. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/atexit_no_ctor.py +0 -0
  73. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/atexit_no_launch.py +0 -0
  74. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/classdefs.py +0 -0
  75. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/client_collateral.py +0 -0
  76. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/client_worker.py +0 -0
  77. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/conftest.py +0 -0
  78. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/dupname_classdefs1.py +0 -0
  79. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/dupname_classdefsa.py +0 -0
  80. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/more_classdefs.py +0 -0
  81. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/queuedworkflow.py +0 -0
  82. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_admin_server.py +0 -0
  83. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_async.py +0 -0
  84. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_classdecorators.py +0 -0
  85. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_cli.py +0 -0
  86. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_client.py +0 -0
  87. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_concurrency.py +0 -0
  88. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_config.py +0 -0
  89. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_croniter.py +0 -0
  90. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_dbos.py +0 -0
  91. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_debug.py +0 -0
  92. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_docker_secrets.py +0 -0
  93. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_failures.py +0 -0
  94. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_fastapi.py +0 -0
  95. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_fastapi_roles.py +0 -0
  96. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_flask.py +0 -0
  97. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_kafka.py +0 -0
  98. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_outcome.py +0 -0
  99. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_package.py +0 -0
  100. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_queue.py +0 -0
  101. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_scheduler.py +0 -0
  102. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_schema_migration.py +0 -0
  103. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_singleton.py +0 -0
  104. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_spans.py +0 -0
  105. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_sqlalchemy.py +0 -0
  106. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_workflow_introspection.py +0 -0
  107. {dbos-1.3.0a8 → dbos-1.3.0a9}/tests/test_workflow_management.py +0 -0
  108. {dbos-1.3.0a8 → dbos-1.3.0a9}/version/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbos
3
- Version: 1.3.0a8
3
+ Version: 1.3.0a9
4
4
  Summary: Ultra-lightweight durable execution in Python
5
5
  Author-Email: "DBOS, Inc." <contact@dbos.dev>
6
6
  License: MIT
@@ -100,7 +100,13 @@ from ._error import (
100
100
  DBOSNonExistentWorkflowError,
101
101
  )
102
102
  from ._event_loop import BackgroundEventLoop
103
- from ._logger import add_otlp_to_all_loggers, config_logger, dbos_logger, init_logger
103
+ from ._logger import (
104
+ add_otlp_to_all_loggers,
105
+ add_transformer_to_all_loggers,
106
+ config_logger,
107
+ dbos_logger,
108
+ init_logger,
109
+ )
104
110
  from ._workflow_commands import get_workflow, list_workflow_steps
105
111
 
106
112
  # Most DBOS functions are just any callable F, so decorators / wrappers work on F
@@ -514,6 +520,7 @@ class DBOS:
514
520
  for handler in dbos_logger.handlers:
515
521
  handler.flush()
516
522
  add_otlp_to_all_loggers()
523
+ add_transformer_to_all_loggers()
517
524
  except Exception:
518
525
  dbos_logger.error(f"DBOS failed to launch: {traceback.format_exc()}")
519
526
  raise
@@ -16,7 +16,7 @@ if TYPE_CHECKING:
16
16
  from ._dbos_config import ConfigFile
17
17
 
18
18
  dbos_logger = logging.getLogger("dbos")
19
- _otlp_handler, _otlp_transformer = None, None
19
+ _otlp_handler, _dbos_log_transformer = None, None
20
20
 
21
21
 
22
22
  class DBOSLogTransformer(logging.Filter):
@@ -93,25 +93,31 @@ def config_logger(config: "ConfigFile") -> None:
93
93
  global _otlp_handler
94
94
  _otlp_handler = LoggingHandler(logger_provider=log_provider)
95
95
 
96
- # Attach DBOS-specific attributes to all log entries.
97
- global _otlp_transformer
98
- _otlp_transformer = DBOSLogTransformer()
99
-
100
96
  # Direct DBOS logs to OTLP
101
97
  dbos_logger.addHandler(_otlp_handler)
102
- dbos_logger.addFilter(_otlp_transformer)
98
+
99
+ # Attach DBOS-specific attributes to all log entries.
100
+ global _dbos_log_transformer
101
+ _dbos_log_transformer = DBOSLogTransformer()
102
+ dbos_logger.addFilter(_dbos_log_transformer)
103
103
 
104
104
 
105
105
  def add_otlp_to_all_loggers() -> None:
106
- if _otlp_handler is not None and _otlp_transformer is not None:
106
+ if _otlp_handler is not None:
107
107
  root = logging.root
108
-
109
108
  root.addHandler(_otlp_handler)
110
- root.addFilter(_otlp_transformer)
111
-
112
109
  for logger_name in root.manager.loggerDict:
113
110
  if logger_name != dbos_logger.name:
114
111
  logger = logging.getLogger(logger_name)
115
112
  if not logger.propagate:
116
113
  logger.addHandler(_otlp_handler)
117
- logger.addFilter(_otlp_transformer)
114
+
115
+
116
+ def add_transformer_to_all_loggers() -> None:
117
+ if _dbos_log_transformer is not None:
118
+ root = logging.root
119
+ root.addFilter(_dbos_log_transformer)
120
+ for logger_name in root.manager.loggerDict:
121
+ if logger_name != dbos_logger.name:
122
+ logger = logging.getLogger(logger_name)
123
+ logger.addFilter(_dbos_log_transformer)
@@ -27,7 +27,7 @@ dependencies = [
27
27
  ]
28
28
  requires-python = ">=3.9"
29
29
  readme = "README.md"
30
- version = "1.3.0a8"
30
+ version = "1.3.0a9"
31
31
 
32
32
  [project.license]
33
33
  text = "MIT"
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
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