dbos 0.20.0a6__tar.gz → 0.20.0a7__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 (89) hide show
  1. {dbos-0.20.0a6 → dbos-0.20.0a7}/PKG-INFO +1 -1
  2. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/cli/cli.py +4 -2
  3. {dbos-0.20.0a6 → dbos-0.20.0a7}/pyproject.toml +1 -1
  4. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_package.py +25 -0
  5. {dbos-0.20.0a6 → dbos-0.20.0a7}/LICENSE +0 -0
  6. {dbos-0.20.0a6 → dbos-0.20.0a7}/README.md +0 -0
  7. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/__init__.py +0 -0
  8. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_admin_server.py +0 -0
  9. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_app_db.py +0 -0
  10. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_classproperty.py +0 -0
  11. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_cloudutils/authentication.py +0 -0
  12. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_cloudutils/cloudutils.py +0 -0
  13. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_cloudutils/databases.py +0 -0
  14. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_context.py +0 -0
  15. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_core.py +0 -0
  16. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_croniter.py +0 -0
  17. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_db_wizard.py +0 -0
  18. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_dbos.py +0 -0
  19. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_dbos_config.py +0 -0
  20. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_error.py +0 -0
  21. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_fastapi.py +0 -0
  22. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_flask.py +0 -0
  23. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_kafka.py +0 -0
  24. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_kafka_message.py +0 -0
  25. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_logger.py +0 -0
  26. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/env.py +0 -0
  27. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/script.py.mako +0 -0
  28. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/versions/04ca4f231047_workflow_queues_executor_id.py +0 -0
  29. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/versions/50f3227f0b4b_fix_job_queue.py +0 -0
  30. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/versions/5c361fc04708_added_system_tables.py +0 -0
  31. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/versions/a3b18ad34abe_added_triggers.py +0 -0
  32. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py +0 -0
  33. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/versions/d76646551a6c_workflow_queue.py +0 -0
  34. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_migrations/versions/eab0cc1d9a14_job_queue.py +0 -0
  35. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_outcome.py +0 -0
  36. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_queue.py +0 -0
  37. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_recovery.py +0 -0
  38. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_registrations.py +0 -0
  39. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_request.py +0 -0
  40. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_roles.py +0 -0
  41. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_scheduler.py +0 -0
  42. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_schemas/__init__.py +0 -0
  43. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_schemas/application_database.py +0 -0
  44. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_schemas/system_database.py +0 -0
  45. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_serialization.py +0 -0
  46. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_sys_db.py +0 -0
  47. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/README.md +0 -0
  48. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/__package/__init__.py +0 -0
  49. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/__package/main.py +0 -0
  50. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/__package/schema.py +0 -0
  51. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/alembic.ini +0 -0
  52. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/dbos-config.yaml.dbos +0 -0
  53. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/migrations/env.py.dbos +0 -0
  54. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/migrations/script.py.mako +0 -0
  55. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/migrations/versions/2024_07_31_180642_init.py +0 -0
  56. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_templates/dbos-db-starter/start_postgres_docker.py +0 -0
  57. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_tracer.py +0 -0
  58. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/_workflow_commands.py +0 -0
  59. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/cli/_github_init.py +0 -0
  60. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/cli/_template_init.py +0 -0
  61. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/dbos-config.schema.json +0 -0
  62. {dbos-0.20.0a6 → dbos-0.20.0a7}/dbos/py.typed +0 -0
  63. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/__init__.py +0 -0
  64. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/atexit_no_ctor.py +0 -0
  65. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/atexit_no_launch.py +0 -0
  66. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/classdefs.py +0 -0
  67. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/conftest.py +0 -0
  68. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/more_classdefs.py +0 -0
  69. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/queuedworkflow.py +0 -0
  70. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_admin_server.py +0 -0
  71. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_async.py +0 -0
  72. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_classdecorators.py +0 -0
  73. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_concurrency.py +0 -0
  74. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_config.py +0 -0
  75. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_croniter.py +0 -0
  76. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_dbos.py +0 -0
  77. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_failures.py +0 -0
  78. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_fastapi.py +0 -0
  79. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_fastapi_roles.py +0 -0
  80. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_flask.py +0 -0
  81. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_kafka.py +0 -0
  82. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_outcome.py +0 -0
  83. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_queue.py +0 -0
  84. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_scheduler.py +0 -0
  85. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_schema_migration.py +0 -0
  86. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_singleton.py +0 -0
  87. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_spans.py +0 -0
  88. {dbos-0.20.0a6 → dbos-0.20.0a7}/tests/test_workflow_cmds.py +0 -0
  89. {dbos-0.20.0a6 → dbos-0.20.0a7}/version/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbos
3
- Version: 0.20.0a6
3
+ Version: 0.20.0a7
4
4
  Summary: Ultra-lightweight durable execution in Python
5
5
  Author-Email: "DBOS, Inc." <contact@dbos.dev>
6
6
  License: MIT
@@ -100,13 +100,15 @@ def init(
100
100
  ] = False,
101
101
  ) -> None:
102
102
  try:
103
+
103
104
  git_templates = ["dbos-app-starter", "dbos-cron-starter"]
104
105
  templates_dir = get_templates_directory()
105
106
  templates = git_templates + [
106
107
  x.name for x in os.scandir(templates_dir) if x.is_dir()
107
108
  ]
108
- if len(templates) == 0:
109
- raise Exception(f"no DBOS templates found in {templates_dir} ")
109
+
110
+ if config and template is None:
111
+ template = templates[-1]
110
112
 
111
113
  if template:
112
114
  if template not in templates:
@@ -27,7 +27,7 @@ dependencies = [
27
27
  ]
28
28
  requires-python = ">=3.9"
29
29
  readme = "README.md"
30
- version = "0.20.0a6"
30
+ version = "0.20.0a7"
31
31
 
32
32
  [project.license]
33
33
  text = "MIT"
@@ -9,6 +9,7 @@ import urllib.error
9
9
  import urllib.request
10
10
 
11
11
  import sqlalchemy as sa
12
+ import yaml
12
13
 
13
14
 
14
15
  def test_package(build_wheel: str, postgres_db_engine: sa.Engine) -> None:
@@ -90,3 +91,27 @@ def test_package(build_wheel: str, postgres_db_engine: sa.Engine) -> None:
90
91
  finally:
91
92
  os.kill(process.pid, signal.SIGINT)
92
93
  process.wait()
94
+
95
+
96
+ def test_init_config() -> None:
97
+ app_name = "example-name"
98
+ expected_yaml = {
99
+ "name": app_name,
100
+ "language": "python",
101
+ "runtimeConfig": {"start": ["fastapi run ./main.py"]},
102
+ "database": {"migrate": ["echo 'No migrations specified'"]},
103
+ "telemetry": {"logs": {"logLevel": "INFO"}},
104
+ }
105
+ with tempfile.TemporaryDirectory() as temp_path:
106
+ subprocess.check_call(
107
+ ["dbos", "init", app_name, "--config"],
108
+ cwd=temp_path,
109
+ )
110
+
111
+ config_path = os.path.join(temp_path, "dbos-config.yaml")
112
+ assert os.path.exists(config_path)
113
+
114
+ with open(config_path) as f:
115
+ actual_yaml = yaml.safe_load(f)
116
+
117
+ assert actual_yaml == expected_yaml
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