dbos 0.12.0__tar.gz → 0.13.0__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 (75) hide show
  1. {dbos-0.12.0 → dbos-0.13.0}/PKG-INFO +1 -2
  2. {dbos-0.12.0 → dbos-0.13.0}/dbos/_admin_sever.py +0 -15
  3. {dbos-0.12.0 → dbos-0.13.0}/pyproject.toml +1 -3
  4. {dbos-0.12.0 → dbos-0.13.0}/tests/test_admin_server.py +0 -18
  5. {dbos-0.12.0 → dbos-0.13.0}/LICENSE +0 -0
  6. {dbos-0.12.0 → dbos-0.13.0}/README.md +0 -0
  7. {dbos-0.12.0 → dbos-0.13.0}/dbos/__init__.py +0 -0
  8. {dbos-0.12.0 → dbos-0.13.0}/dbos/_app_db.py +0 -0
  9. {dbos-0.12.0 → dbos-0.13.0}/dbos/_classproperty.py +0 -0
  10. {dbos-0.12.0 → dbos-0.13.0}/dbos/_context.py +0 -0
  11. {dbos-0.12.0 → dbos-0.13.0}/dbos/_core.py +0 -0
  12. {dbos-0.12.0 → dbos-0.13.0}/dbos/_croniter.py +0 -0
  13. {dbos-0.12.0 → dbos-0.13.0}/dbos/_dbos.py +0 -0
  14. {dbos-0.12.0 → dbos-0.13.0}/dbos/_dbos_config.py +0 -0
  15. {dbos-0.12.0 → dbos-0.13.0}/dbos/_error.py +0 -0
  16. {dbos-0.12.0 → dbos-0.13.0}/dbos/_fastapi.py +0 -0
  17. {dbos-0.12.0 → dbos-0.13.0}/dbos/_flask.py +0 -0
  18. {dbos-0.12.0 → dbos-0.13.0}/dbos/_kafka.py +0 -0
  19. {dbos-0.12.0 → dbos-0.13.0}/dbos/_kafka_message.py +0 -0
  20. {dbos-0.12.0 → dbos-0.13.0}/dbos/_logger.py +0 -0
  21. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/env.py +0 -0
  22. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/script.py.mako +0 -0
  23. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/versions/50f3227f0b4b_fix_job_queue.py +0 -0
  24. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/versions/5c361fc04708_added_system_tables.py +0 -0
  25. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/versions/a3b18ad34abe_added_triggers.py +0 -0
  26. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/versions/d76646551a6b_job_queue_limiter.py +0 -0
  27. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/versions/d76646551a6c_workflow_queue.py +0 -0
  28. {dbos-0.12.0 → dbos-0.13.0}/dbos/_migrations/versions/eab0cc1d9a14_job_queue.py +0 -0
  29. {dbos-0.12.0 → dbos-0.13.0}/dbos/_queue.py +0 -0
  30. {dbos-0.12.0 → dbos-0.13.0}/dbos/_recovery.py +0 -0
  31. {dbos-0.12.0 → dbos-0.13.0}/dbos/_registrations.py +0 -0
  32. {dbos-0.12.0 → dbos-0.13.0}/dbos/_request.py +0 -0
  33. {dbos-0.12.0 → dbos-0.13.0}/dbos/_roles.py +0 -0
  34. {dbos-0.12.0 → dbos-0.13.0}/dbos/_scheduler.py +0 -0
  35. {dbos-0.12.0 → dbos-0.13.0}/dbos/_schemas/__init__.py +0 -0
  36. {dbos-0.12.0 → dbos-0.13.0}/dbos/_schemas/application_database.py +0 -0
  37. {dbos-0.12.0 → dbos-0.13.0}/dbos/_schemas/system_database.py +0 -0
  38. {dbos-0.12.0 → dbos-0.13.0}/dbos/_serialization.py +0 -0
  39. {dbos-0.12.0 → dbos-0.13.0}/dbos/_sys_db.py +0 -0
  40. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/README.md +0 -0
  41. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/__package/__init__.py +0 -0
  42. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/__package/main.py +0 -0
  43. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/__package/schema.py +0 -0
  44. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/alembic.ini +0 -0
  45. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/dbos-config.yaml.dbos +0 -0
  46. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/migrations/env.py.dbos +0 -0
  47. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/migrations/script.py.mako +0 -0
  48. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/migrations/versions/2024_07_31_180642_init.py +0 -0
  49. {dbos-0.12.0 → dbos-0.13.0}/dbos/_templates/hello/start_postgres_docker.py +0 -0
  50. {dbos-0.12.0 → dbos-0.13.0}/dbos/_tracer.py +0 -0
  51. {dbos-0.12.0 → dbos-0.13.0}/dbos/cli.py +0 -0
  52. {dbos-0.12.0 → dbos-0.13.0}/dbos/dbos-config.schema.json +0 -0
  53. {dbos-0.12.0 → dbos-0.13.0}/dbos/py.typed +0 -0
  54. {dbos-0.12.0 → dbos-0.13.0}/tests/__init__.py +0 -0
  55. {dbos-0.12.0 → dbos-0.13.0}/tests/atexit_no_ctor.py +0 -0
  56. {dbos-0.12.0 → dbos-0.13.0}/tests/atexit_no_launch.py +0 -0
  57. {dbos-0.12.0 → dbos-0.13.0}/tests/classdefs.py +0 -0
  58. {dbos-0.12.0 → dbos-0.13.0}/tests/conftest.py +0 -0
  59. {dbos-0.12.0 → dbos-0.13.0}/tests/more_classdefs.py +0 -0
  60. {dbos-0.12.0 → dbos-0.13.0}/tests/test_classdecorators.py +0 -0
  61. {dbos-0.12.0 → dbos-0.13.0}/tests/test_concurrency.py +0 -0
  62. {dbos-0.12.0 → dbos-0.13.0}/tests/test_config.py +0 -0
  63. {dbos-0.12.0 → dbos-0.13.0}/tests/test_croniter.py +0 -0
  64. {dbos-0.12.0 → dbos-0.13.0}/tests/test_dbos.py +0 -0
  65. {dbos-0.12.0 → dbos-0.13.0}/tests/test_failures.py +0 -0
  66. {dbos-0.12.0 → dbos-0.13.0}/tests/test_fastapi.py +0 -0
  67. {dbos-0.12.0 → dbos-0.13.0}/tests/test_fastapi_roles.py +0 -0
  68. {dbos-0.12.0 → dbos-0.13.0}/tests/test_flask.py +0 -0
  69. {dbos-0.12.0 → dbos-0.13.0}/tests/test_kafka.py +0 -0
  70. {dbos-0.12.0 → dbos-0.13.0}/tests/test_package.py +0 -0
  71. {dbos-0.12.0 → dbos-0.13.0}/tests/test_queue.py +0 -0
  72. {dbos-0.12.0 → dbos-0.13.0}/tests/test_scheduler.py +0 -0
  73. {dbos-0.12.0 → dbos-0.13.0}/tests/test_schema_migration.py +0 -0
  74. {dbos-0.12.0 → dbos-0.13.0}/tests/test_singleton.py +0 -0
  75. {dbos-0.12.0 → dbos-0.13.0}/version/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbos
3
- Version: 0.12.0
3
+ Version: 0.13.0
4
4
  Summary: Ultra-lightweight durable execution in Python
5
5
  Author-Email: "DBOS, Inc." <contact@dbos.dev>
6
6
  License: MIT
@@ -16,7 +16,6 @@ Requires-Dist: opentelemetry-sdk>=1.27.0
16
16
  Requires-Dist: opentelemetry-exporter-otlp-proto-http>=1.27.0
17
17
  Requires-Dist: python-dateutil>=2.9.0.post0
18
18
  Requires-Dist: fastapi[standard]>=0.115.2
19
- Requires-Dist: psutil>=6.0.0
20
19
  Requires-Dist: tomlkit>=0.13.2
21
20
  Requires-Dist: psycopg[binary]>=3.1
22
21
  Description-Content-Type: text/markdown
@@ -6,8 +6,6 @@ from functools import partial
6
6
  from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
7
7
  from typing import TYPE_CHECKING, Any, List, TypedDict
8
8
 
9
- import psutil
10
-
11
9
  from ._logger import dbos_logger
12
10
  from ._recovery import recover_pending_workflows
13
11
 
@@ -16,7 +14,6 @@ if TYPE_CHECKING:
16
14
 
17
15
  _health_check_path = "/dbos-healthz"
18
16
  _workflow_recovery_path = "/dbos-workflow-recovery"
19
- _perf_path = "/dbos-perf"
20
17
  _deactivate_path = "/deactivate"
21
18
 
22
19
 
@@ -55,19 +52,7 @@ class AdminRequestHandler(BaseHTTPRequestHandler):
55
52
  self.send_response(200)
56
53
  self._end_headers()
57
54
  self.wfile.write("healthy".encode("utf-8"))
58
- elif self.path == _perf_path:
59
- # Compares system CPU times elapsed since last call or module import, returning immediately (non blocking).
60
- cpu_percent = psutil.cpu_percent(interval=None) / 100.0
61
- perf_util: PerfUtilization = {
62
- "idle": 1.0 - cpu_percent,
63
- "active": cpu_percent,
64
- "utilization": cpu_percent,
65
- }
66
- self.send_response(200)
67
- self._end_headers()
68
- self.wfile.write(json.dumps(perf_util).encode("utf-8"))
69
55
  elif self.path == _deactivate_path:
70
- dbos_logger.info("Deactivating DBOS")
71
56
  # Stop all scheduled workflows, queues, and kafka loops
72
57
  for event in self.dbos.stop_events:
73
58
  event.set()
@@ -17,13 +17,12 @@ dependencies = [
17
17
  "opentelemetry-exporter-otlp-proto-http>=1.27.0",
18
18
  "python-dateutil>=2.9.0.post0",
19
19
  "fastapi[standard]>=0.115.2",
20
- "psutil>=6.0.0",
21
20
  "tomlkit>=0.13.2",
22
21
  "psycopg[binary]>=3.1",
23
22
  ]
24
23
  requires-python = ">=3.9"
25
24
  readme = "README.md"
26
- version = "0.12.0"
25
+ version = "0.13.0"
27
26
 
28
27
  [project.license]
29
28
  text = "MIT"
@@ -54,7 +53,6 @@ dev = [
54
53
  "black>=24.10.0",
55
54
  "pre-commit>=4.0.1",
56
55
  "isort>=5.13.2",
57
- "types-psutil>=6.0.0.20240621",
58
56
  "requests>=2.32.3",
59
57
  "types-requests>=2.32.0.20240914",
60
58
  "httpx>=0.27.2",
@@ -23,23 +23,6 @@ def test_admin_endpoints(dbos: DBOS) -> None:
23
23
  assert response.status_code == 200
24
24
  assert response.json() == []
25
25
 
26
- # Test GET /dbos-perf
27
- response = requests.get("http://localhost:3001/dbos-perf", timeout=5)
28
- assert response.status_code == 200
29
- perf_util = response.json()
30
- assert perf_util is not None
31
- assert "idle" in perf_util
32
- assert "active" in perf_util
33
- assert "utilization" in perf_util
34
-
35
- # Test GET /dbos-perf again, should be a valid utilization between 0~1
36
- time.sleep(0.2)
37
- response = requests.get("http://localhost:3001/dbos-perf", timeout=5)
38
- assert response.status_code == 200
39
- perf_util = response.json()
40
- assert perf_util["utilization"] >= 0.0
41
- assert perf_util["utilization"] <= 1.0
42
-
43
26
  # Test GET not found
44
27
  response = requests.get("http://localhost:3001/stuff", timeout=5)
45
28
  assert response.status_code == 404
@@ -55,7 +38,6 @@ def test_admin_endpoints(dbos: DBOS) -> None:
55
38
  assert event.is_set(), "Event is not set!"
56
39
 
57
40
 
58
-
59
41
  def test_admin_recovery(dbos: DBOS) -> None:
60
42
  os.environ["DBOS__VMID"] = "testexecutor"
61
43
  os.environ["DBOS__APPVERSION"] = "testversion"
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