orchestrator-core 4.1.0rc1__py3-none-any.whl → 4.2.0__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.
Files changed (34) hide show
  1. orchestrator/__init__.py +1 -1
  2. orchestrator/api/api_v1/endpoints/processes.py +65 -11
  3. orchestrator/api/api_v1/endpoints/subscriptions.py +25 -2
  4. orchestrator/cli/database.py +8 -1
  5. orchestrator/cli/domain_gen_helpers/helpers.py +44 -2
  6. orchestrator/cli/domain_gen_helpers/product_block_helpers.py +35 -15
  7. orchestrator/cli/domain_gen_helpers/resource_type_helpers.py +5 -5
  8. orchestrator/cli/domain_gen_helpers/types.py +7 -1
  9. orchestrator/cli/generator/templates/create_product.j2 +1 -2
  10. orchestrator/cli/migrate_domain_models.py +16 -5
  11. orchestrator/db/models.py +6 -3
  12. orchestrator/graphql/schemas/process.py +21 -2
  13. orchestrator/graphql/schemas/product.py +8 -9
  14. orchestrator/graphql/schemas/workflow.py +9 -0
  15. orchestrator/graphql/types.py +7 -1
  16. orchestrator/migrations/versions/schema/2025-07-01_93fc5834c7e5_changed_timestamping_fields_in_process_steps.py +65 -0
  17. orchestrator/migrations/versions/schema/2025-07-04_4b58e336d1bf_deprecating_workflow_target_in_.py +30 -0
  18. orchestrator/schemas/process.py +5 -1
  19. orchestrator/services/celery.py +7 -2
  20. orchestrator/services/processes.py +12 -12
  21. orchestrator/services/settings_env_variables.py +3 -15
  22. orchestrator/settings.py +1 -1
  23. orchestrator/utils/auth.py +9 -0
  24. orchestrator/utils/enrich_process.py +4 -2
  25. orchestrator/utils/errors.py +2 -1
  26. orchestrator/workflow.py +52 -9
  27. orchestrator/workflows/modify_note.py +1 -1
  28. orchestrator/workflows/steps.py +14 -8
  29. orchestrator/workflows/utils.py +13 -7
  30. orchestrator_core-4.2.0.dist-info/METADATA +167 -0
  31. {orchestrator_core-4.1.0rc1.dist-info → orchestrator_core-4.2.0.dist-info}/RECORD +33 -30
  32. orchestrator_core-4.1.0rc1.dist-info/METADATA +0 -118
  33. {orchestrator_core-4.1.0rc1.dist-info → orchestrator_core-4.2.0.dist-info}/WHEEL +0 -0
  34. {orchestrator_core-4.1.0rc1.dist-info → orchestrator_core-4.2.0.dist-info}/licenses/LICENSE +0 -0
@@ -20,12 +20,12 @@ from more_itertools import first_true
20
20
  from pydantic import field_validator, model_validator
21
21
  from sqlalchemy import select
22
22
 
23
- from oauth2_lib.fastapi import OIDCUserModel
24
23
  from orchestrator.db import ProductTable, SubscriptionTable, db
25
24
  from orchestrator.forms.validators import ProductId
26
25
  from orchestrator.services import subscriptions
27
26
  from orchestrator.targets import Target
28
27
  from orchestrator.types import SubscriptionLifecycle
28
+ from orchestrator.utils.auth import Authorizer
29
29
  from orchestrator.utils.errors import StaleDataError
30
30
  from orchestrator.utils.state import form_inject_args
31
31
  from orchestrator.utils.validate_data_version import validate_data_version
@@ -201,7 +201,8 @@ def create_workflow(
201
201
  initial_input_form: InputStepFunc | None = None,
202
202
  status: SubscriptionLifecycle = SubscriptionLifecycle.ACTIVE,
203
203
  additional_steps: StepList | None = None,
204
- authorize_callback: Callable[[OIDCUserModel | None], bool] | None = None,
204
+ authorize_callback: Authorizer | None = None,
205
+ retry_auth_callback: Authorizer | None = None,
205
206
  ) -> Callable[[Callable[[], StepList]], Workflow]:
206
207
  """Transform an initial_input_form and a step list into a workflow with a target=Target.CREATE.
207
208
 
@@ -234,6 +235,7 @@ def create_workflow(
234
235
  Target.CREATE,
235
236
  steplist,
236
237
  authorize_callback=authorize_callback,
238
+ retry_auth_callback=retry_auth_callback,
237
239
  )
238
240
 
239
241
  return _create_workflow
@@ -243,7 +245,8 @@ def modify_workflow(
243
245
  description: str,
244
246
  initial_input_form: InputStepFunc | None = None,
245
247
  additional_steps: StepList | None = None,
246
- authorize_callback: Callable[[OIDCUserModel | None], bool] | None = None,
248
+ authorize_callback: Authorizer | None = None,
249
+ retry_auth_callback: Authorizer | None = None,
247
250
  ) -> Callable[[Callable[[], StepList]], Workflow]:
248
251
  """Transform an initial_input_form and a step list into a workflow.
249
252
 
@@ -262,7 +265,7 @@ def modify_workflow(
262
265
  def _modify_workflow(f: Callable[[], StepList]) -> Workflow:
263
266
  steplist = (
264
267
  init
265
- >> store_process_subscription(Target.MODIFY)
268
+ >> store_process_subscription()
266
269
  >> unsync
267
270
  >> f()
268
271
  >> (additional_steps or StepList())
@@ -278,6 +281,7 @@ def modify_workflow(
278
281
  Target.MODIFY,
279
282
  steplist,
280
283
  authorize_callback=authorize_callback,
284
+ retry_auth_callback=retry_auth_callback,
281
285
  )
282
286
 
283
287
  return _modify_workflow
@@ -287,7 +291,8 @@ def terminate_workflow(
287
291
  description: str,
288
292
  initial_input_form: InputStepFunc | None = None,
289
293
  additional_steps: StepList | None = None,
290
- authorize_callback: Callable[[OIDCUserModel | None], bool] | None = None,
294
+ authorize_callback: Authorizer | None = None,
295
+ retry_auth_callback: Authorizer | None = None,
291
296
  ) -> Callable[[Callable[[], StepList]], Workflow]:
292
297
  """Transform an initial_input_form and a step list into a workflow.
293
298
 
@@ -306,7 +311,7 @@ def terminate_workflow(
306
311
  def _terminate_workflow(f: Callable[[], StepList]) -> Workflow:
307
312
  steplist = (
308
313
  init
309
- >> store_process_subscription(Target.TERMINATE)
314
+ >> store_process_subscription()
310
315
  >> unsync
311
316
  >> f()
312
317
  >> (additional_steps or StepList())
@@ -323,6 +328,7 @@ def terminate_workflow(
323
328
  Target.TERMINATE,
324
329
  steplist,
325
330
  authorize_callback=authorize_callback,
331
+ retry_auth_callback=retry_auth_callback,
326
332
  )
327
333
 
328
334
  return _terminate_workflow
@@ -342,7 +348,7 @@ def validate_workflow(description: str) -> Callable[[Callable[[], StepList]], Wo
342
348
  """
343
349
 
344
350
  def _validate_workflow(f: Callable[[], StepList]) -> Workflow:
345
- steplist = init >> store_process_subscription(Target.SYSTEM) >> unsync_unchecked >> f() >> resync >> done
351
+ steplist = init >> store_process_subscription() >> unsync_unchecked >> f() >> resync >> done
346
352
 
347
353
  return make_workflow(f, description, validate_initial_input_form_generator, Target.VALIDATE, steplist)
348
354
 
@@ -0,0 +1,167 @@
1
+ Metadata-Version: 2.4
2
+ Name: orchestrator-core
3
+ Version: 4.2.0
4
+ Summary: This is the orchestrator workflow engine.
5
+ Author-email: SURF <automation-beheer@surf.nl>
6
+ Requires-Python: >=3.11,<3.14
7
+ Description-Content-Type: text/markdown
8
+ License-Expression: Apache-2.0
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Environment :: Web Environment
11
+ Classifier: Framework :: AsyncIO
12
+ Classifier: Framework :: FastAPI
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: Intended Audience :: Information Technology
15
+ Classifier: Intended Audience :: System Administrators
16
+ Classifier: Intended Audience :: Telecommunications Industry
17
+ Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3 :: Only
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.11
21
+ Classifier: Programming Language :: Python :: 3.12
22
+ Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python
24
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
25
+ Classifier: Topic :: Internet :: WWW/HTTP
26
+ Classifier: Topic :: Internet
27
+ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
28
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
+ Classifier: Topic :: Software Development :: Libraries
30
+ Classifier: Topic :: Software Development
31
+ Classifier: Typing :: Typed
32
+ License-File: LICENSE
33
+ Requires-Dist: alembic==1.16.1
34
+ Requires-Dist: anyio>=3.7.0
35
+ Requires-Dist: click==8.*
36
+ Requires-Dist: deepmerge==2.0
37
+ Requires-Dist: deprecated>=1.2.18
38
+ Requires-Dist: fastapi~=0.115.2
39
+ Requires-Dist: fastapi-etag==0.4.0
40
+ Requires-Dist: itsdangerous>=2.2.0
41
+ Requires-Dist: jinja2==3.1.6
42
+ Requires-Dist: more-itertools~=10.7.0
43
+ Requires-Dist: nwa-stdlib~=1.9.0
44
+ Requires-Dist: oauth2-lib~=2.4.0
45
+ Requires-Dist: orjson==3.10.18
46
+ Requires-Dist: prometheus-client==0.22.1
47
+ Requires-Dist: psycopg2-binary==2.9.10
48
+ Requires-Dist: pydantic-forms>=1.4.0,<=2.1.0
49
+ Requires-Dist: pydantic-settings~=2.9.1
50
+ Requires-Dist: pydantic[email]~=2.8.2
51
+ Requires-Dist: python-dateutil==2.8.2
52
+ Requires-Dist: python-rapidjson>=1.18,<1.21
53
+ Requires-Dist: pytz==2025.2
54
+ Requires-Dist: redis==5.1.1
55
+ Requires-Dist: schedule==1.1.0
56
+ Requires-Dist: semver==3.0.4
57
+ Requires-Dist: sentry-sdk[fastapi]~=2.29.1
58
+ Requires-Dist: sqlalchemy==2.0.41
59
+ Requires-Dist: sqlalchemy-utils==0.41.2
60
+ Requires-Dist: strawberry-graphql>=0.246.2
61
+ Requires-Dist: structlog>=25.4.0
62
+ Requires-Dist: tabulate==0.9.0
63
+ Requires-Dist: typer==0.15.4
64
+ Requires-Dist: uvicorn[standard]~=0.34.0
65
+ Requires-Dist: celery~=5.5.1 ; extra == "celery"
66
+ Project-URL: Documentation, https://workfloworchestrator.org/orchestrator-core
67
+ Project-URL: Homepage, https://workfloworchestrator.org/orchestrator-core
68
+ Project-URL: Source, https://github.com/workfloworchestrator/orchestrator-core
69
+ Provides-Extra: celery
70
+
71
+ # Orchestrator-Core
72
+
73
+ [![Downloads](https://pepy.tech/badge/orchestrator-core/month)](https://pepy.tech/project/orchestrator-core)
74
+ [![codecov](https://codecov.io/gh/workfloworchestrator/orchestrator-core/branch/main/graph/badge.svg?token=5ANQFI2DHS)](https://codecov.io/gh/workfloworchestrator/orchestrator-core)
75
+ [![pypi_version](https://img.shields.io/pypi/v/orchestrator-core?color=%2334D058&label=pypi%20package)](https://pypi.org/project/orchestrator-core)
76
+ [![Supported python versions](https://img.shields.io/pypi/pyversions/orchestrator-core.svg?color=%2334D058)](https://pypi.org/project/orchestrator-core)
77
+ ![Discord](https://img.shields.io/discord/1295834294270558280?style=flat&logo=discord&label=discord&link=https%3A%2F%2Fdiscord.gg%2FKNgF6gE8)
78
+
79
+ <p style="text-align: center"><em>Production ready Orchestration Framework to manage product lifecycle and workflows. Easy to use, built on top of FastAPI and Pydantic</em></p>
80
+
81
+ ## Documentation
82
+
83
+ The documentation can be found at [workfloworchestrator.org](https://workfloworchestrator.org/orchestrator-core/).
84
+
85
+ ## Installation (quick start)
86
+
87
+ Simplified steps to install and use the orchestrator-core.
88
+ For more details, read the [Getting started](https://workfloworchestrator.org/orchestrator-core/getting-started/base/) documentation.
89
+
90
+ ### Step 1 - Install the package
91
+
92
+ Create a virtualenv and install the orchestrator-core.
93
+
94
+ ```shell
95
+ python -m venv .venv
96
+ source .venv/bin/activate
97
+ pip install orchestrator-core
98
+ ```
99
+
100
+ ### Step 2 - Setup the database
101
+
102
+ Create a postgres database:
103
+
104
+ ```shell
105
+ createuser -sP nwa
106
+ createdb orchestrator-core -O nwa # set password to 'nwa'
107
+ ```
108
+
109
+ Configure the database URI in your local environment:
110
+
111
+ ```
112
+ export DATABASE_URI=postgresql://nwa:nwa@localhost:5432/orchestrator-core
113
+ ```
114
+
115
+ ### Step 3 - Create main.py
116
+
117
+ Create a `main.py` file.
118
+
119
+ ```python
120
+ from orchestrator import OrchestratorCore
121
+ from orchestrator.cli.main import app as core_cli
122
+ from orchestrator.settings import AppSettings
123
+
124
+ app = OrchestratorCore(base_settings=AppSettings())
125
+
126
+ if __name__ == "__main__":
127
+ core_cli()
128
+ ```
129
+
130
+ ### Step 4 - Run the database migrations
131
+
132
+ Initialize the migration environment and database tables.
133
+
134
+ ```shell
135
+ python main.py db init
136
+ python main.py db upgrade heads
137
+ ```
138
+
139
+ ### Step 5 - Run the app
140
+
141
+ ```shell
142
+ export OAUTH2_ACTIVE=False
143
+ uvicorn --reload --host 127.0.0.1 --port 8080 main:app
144
+ ```
145
+
146
+ Visit the [ReDoc](http://127.0.0.1:8080/api/redoc) or [OpenAPI](http://127.0.0.1:8080/api/docs) page to view and interact with the API.
147
+
148
+ ## Contributing
149
+
150
+ We use [uv](https://docs.astral.sh/uv/getting-started/installation/) to manage dependencies.
151
+
152
+ To get started, follow these steps:
153
+
154
+ ```shell
155
+ # in your postgres database
156
+ createdb orchestrator-core-test -O nwa # set password to 'nwa'
157
+
158
+ # on your local machine
159
+ git clone https://github.com/workfloworchestrator/orchestrator-core
160
+ cd orchestrator-core
161
+ export DATABASE_URI=postgresql://nwa:nwa@localhost:5432/orchestrator-core-test
162
+ uv sync --all-extras --all-groups
163
+ uv run pytest
164
+ ```
165
+
166
+ For more details please read the [development docs](https://workfloworchestrator.org/orchestrator-core/contributing/development/).
167
+
@@ -1,14 +1,14 @@
1
- orchestrator/__init__.py,sha256=tOY8a4U2sGqlMaBFFS05G5fpTsG5MQWrMraMt7i-SW0,1066
1
+ orchestrator/__init__.py,sha256=TEEmn1UnP86R5AzpI2nWueP73BdSdo_qLTXmUiobr40,1063
2
2
  orchestrator/app.py,sha256=7UrXKjBKNSEaSSXAd5ww_RdMFhFqE4yvfj8faS2MzAA,12089
3
3
  orchestrator/exception_handlers.py,sha256=UsW3dw8q0QQlNLcV359bIotah8DYjMsj2Ts1LfX4ClY,1268
4
4
  orchestrator/log_config.py,sha256=1tPRX5q65e57a6a_zEii_PFK8SzWT0mnA5w2sKg4hh8,1853
5
5
  orchestrator/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  orchestrator/security.py,sha256=iXFxGxab54aav7oHEKLAVkTgrQMJGHy6IYLojEnD7gI,2422
7
- orchestrator/settings.py,sha256=TFIv09JIKY-lXqd04lH_XEcijEEyheaz3zTcgeG8DEI,4339
7
+ orchestrator/settings.py,sha256=2Kgc6m3qUCcSM3Z_IVUeehfgO0QphMFkLrS0RC3sU-U,4365
8
8
  orchestrator/targets.py,sha256=WizBgnp8hWX9YLFUIju7ewSubiwQqinCvyiYNcXHbHI,802
9
9
  orchestrator/types.py,sha256=qzs7xx5AYRmKbpYRyJJP3wuDb0W0bcAzefCN0RWLAco,15459
10
10
  orchestrator/version.py,sha256=b58e08lxs47wUNXv0jXFO_ykpksmytuzEXD4La4W-NQ,1366
11
- orchestrator/workflow.py,sha256=T_3Z1PrlF70C16ehAthKRF1hd3jpwV-MREDVxSLfxOw,44063
11
+ orchestrator/workflow.py,sha256=PVHe6vnnkswzqw2UoY-j6NMSEhL6rLHXRnO7yLOyDC8,45551
12
12
  orchestrator/api/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
13
13
  orchestrator/api/error_handling.py,sha256=YrPCxSa-DSa9KwqIMlXI-KGBGnbGIW5ukOPiikUH9E4,1502
14
14
  orchestrator/api/helpers.py,sha256=s0QRHYw8AvEmlkmRhuEzz9xixaZKUF3YuPzUVHkcoXk,6933
@@ -17,33 +17,33 @@ orchestrator/api/api_v1/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n
17
17
  orchestrator/api/api_v1/api.py,sha256=m4iDktsSpzxUDaudkdgXeZ83a6B4wfc3pczQsa-Pb-8,2866
18
18
  orchestrator/api/api_v1/endpoints/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
19
19
  orchestrator/api/api_v1/endpoints/health.py,sha256=iaxs1XX1_250_gKNsspuULCV2GEMBjbtjsmfQTOvMAI,1284
20
- orchestrator/api/api_v1/endpoints/processes.py,sha256=i5GRoszvdmpZqOxSqON83DNuc0UIV-ohOqbAa0OhESE,13564
20
+ orchestrator/api/api_v1/endpoints/processes.py,sha256=79_nrXEfEREc_9P-aIpcJn6idfwQzMutHsPEcyrNzBA,16223
21
21
  orchestrator/api/api_v1/endpoints/product_blocks.py,sha256=kZ6ywIOsS_S2qGq7RvZ4KzjvaS1LmwbGWR37AKRvWOw,2146
22
22
  orchestrator/api/api_v1/endpoints/products.py,sha256=BfFtwu9dZXEQbtKxYj9icc73GKGvAGMR5ytyf41nQlQ,3081
23
23
  orchestrator/api/api_v1/endpoints/resource_types.py,sha256=gGyuaDyOD0TAVoeFGaGmjDGnQ8eQQArOxKrrk4MaDzA,2145
24
24
  orchestrator/api/api_v1/endpoints/settings.py,sha256=5s-k169podZjgGHUbVDmSQwpY_3Cs_Bbf2PPtZIkBcw,6184
25
25
  orchestrator/api/api_v1/endpoints/subscription_customer_descriptions.py,sha256=1_6LtgQleoq3M6z_W-Qz__Bj3OFUweoPrUqHMwSH6AM,3288
26
- orchestrator/api/api_v1/endpoints/subscriptions.py,sha256=V-ebvjtFEKlALx8SKX42SiNPM-GAgSMWbuaimyktUQQ,8758
26
+ orchestrator/api/api_v1/endpoints/subscriptions.py,sha256=zn_LeVfmp2uw7CszK4BvQ5n37hZccy3K2htkoDgF1sI,9809
27
27
  orchestrator/api/api_v1/endpoints/translations.py,sha256=dIWh_fCnZZUxJoGiNeJ49DK_xpf75IpR_0EIMSvzIvY,963
28
28
  orchestrator/api/api_v1/endpoints/user.py,sha256=RyI32EXVu6I-IxWjz0XB5zQWzzLL60zKXLgLqLH02xU,1827
29
29
  orchestrator/api/api_v1/endpoints/workflows.py,sha256=_0vhGiQeu3-z16Zi0WmuDWBs8gmed6BzRNwYH_sF6AY,1977
30
30
  orchestrator/api/api_v1/endpoints/ws.py,sha256=1l7E0ag_sZ6UMfQPHlmew7ENwxjm6fflBwcMZAb7V-k,2786
31
31
  orchestrator/cli/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
32
- orchestrator/cli/database.py,sha256=qig-WqUtiDITz4KePxzcqZtC0FPTWRs_3l19qQpqIGA,19283
32
+ orchestrator/cli/database.py,sha256=YkYAbCY2VPAa6mDW0PpNKG5wL4FuAQYD2CGl1_DQtEk,19595
33
33
  orchestrator/cli/generate.py,sha256=SBaYfRijXPF9r3VxarPKTiDzDcB6GBMMQvecQIb_ZLQ,7377
34
34
  orchestrator/cli/main.py,sha256=GC_kxa9OZ-Y0ig_klfWc6ysOQuPVTUmTmDRj3m8cJHA,983
35
- orchestrator/cli/migrate_domain_models.py,sha256=OhjNuIheytgShpMYCZ18leNUzk17ExhtkCqx7Ww03R8,20371
35
+ orchestrator/cli/migrate_domain_models.py,sha256=WRXy_1OnziQwpsCFZXvjB30nDJtjj0ikVXy8YNLque4,20928
36
36
  orchestrator/cli/migrate_tasks.py,sha256=bju8XColjSZD0v3rS4kl-24dLr8En_H4-6enBmqd494,7255
37
37
  orchestrator/cli/migrate_workflows.py,sha256=nxUpx0vgEIc_8aJrjAyrw3E9Dt8JmaamTts8oiQ4vHY,8923
38
38
  orchestrator/cli/migration_helpers.py,sha256=C5tpkP5WEBr7G9S-1k1hgSI8ili6xd9Z5ygc9notaK0,4110
39
39
  orchestrator/cli/scheduler.py,sha256=iCKBWYUwQIYTDqKQ9rMVvs2sNiAzE-J2SkV170TPP2g,1896
40
40
  orchestrator/cli/domain_gen_helpers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
41
  orchestrator/cli/domain_gen_helpers/fixed_input_helpers.py,sha256=uzpwsaau81hHSxNMOS9-o7kF-9_78R0f_UE0AvWooZQ,6775
42
- orchestrator/cli/domain_gen_helpers/helpers.py,sha256=ruWxia1w4_kbSNJl88WaWssjWcFFtiUhkGZc_H2U-A8,2172
43
- orchestrator/cli/domain_gen_helpers/product_block_helpers.py,sha256=EngcXh7i2l65UzQTPVXo9j-9a82jNd3jTbFboxknv2Q,10474
42
+ orchestrator/cli/domain_gen_helpers/helpers.py,sha256=tIPxn8ezED_xYZxH7ZAtQLwkDc6RNmLZVxWAoJ3a9lw,4203
43
+ orchestrator/cli/domain_gen_helpers/product_block_helpers.py,sha256=IYvjch4IEqDN45FTC0xeZkJgDrxJnCin98RukPs_ARw,11273
44
44
  orchestrator/cli/domain_gen_helpers/product_helpers.py,sha256=Pe4d_GApMErQDeuJnCEvF6jFf7FROaILvVdpKKQ7cUI,9379
45
- orchestrator/cli/domain_gen_helpers/resource_type_helpers.py,sha256=G9EKXinG5Vel4vPtcxM-hhwvVcVKUG5EJewaueGp-to,23981
46
- orchestrator/cli/domain_gen_helpers/types.py,sha256=y8BW72DIGJ7bCVLoG1nYHwYH7rM5ukzSbOLPOHxNmvM,1399
45
+ orchestrator/cli/domain_gen_helpers/resource_type_helpers.py,sha256=hrsDx5QGkQRsEq38DYHrRmG7tJ2eqqMzW0U55JxAFdM,23995
46
+ orchestrator/cli/domain_gen_helpers/types.py,sha256=JojWInZL04lwSHSUB_Pr4LliA5YS2WKmALQY49-va5o,1530
47
47
  orchestrator/cli/generator/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
48
48
  orchestrator/cli/generator/custom_templates/README,sha256=Y0olhdLtuZCX1US1b05IAzFS8qwd02QoX2QErEPEMmU,173
49
49
  orchestrator/cli/generator/custom_templates/additional_create_imports.j2,sha256=1TcnJutzfklzuGKKG-Zs9YwnsGCLlmexz2HBajjO8wo,307
@@ -77,7 +77,7 @@ orchestrator/cli/generator/templates/additional_modify_steps.j2,sha256=jwle7hIvd
77
77
  orchestrator/cli/generator/templates/additional_terminate_steps.j2,sha256=jwle7hIvd-EYbnecVFmG0n-6Jpr4DearM0era8AvGYM,25
78
78
  orchestrator/cli/generator/templates/constrained_int_definitions.j2,sha256=59FKIWOeXrO0nblLmbhaFXKb4UQesQ8zFUZ1jDCp9Vk,282
79
79
  orchestrator/cli/generator/templates/create_data_head.j2,sha256=ArP9TUsbobXF4CIpckcaIYos-dgGmPeL-n7SQATvSiE,361
80
- orchestrator/cli/generator/templates/create_product.j2,sha256=ZPzY1clJ7in_UlBJf0TS94-KYuwN71kGjJn_6eM1Bo4,4838
80
+ orchestrator/cli/generator/templates/create_product.j2,sha256=P5XUD-s8ouAfoT14xv7f5VrgpWytvClrWVnBV6Bm1YI,4785
81
81
  orchestrator/cli/generator/templates/enums.j2,sha256=pmx7_DeoE4X9u83_In18C97XqZP_YwETiw54_E33p1A,298
82
82
  orchestrator/cli/generator/templates/lazy_workflow_instance.j2,sha256=BYB6LwE19OarY7_7Ovej5rqppZWtjiDkG7TDK5dYU7Y,523
83
83
  orchestrator/cli/generator/templates/list_definitions.j2,sha256=XS-F5XXy4HOdsZ-xahprwxfhU0UaiF4VeopkIxfoado,277
@@ -106,7 +106,7 @@ orchestrator/db/database.py,sha256=MU_w_e95ho2dVb2JDnt_KFYholx___XDkiQXbc8wCkI,1
106
106
  orchestrator/db/helpers.py,sha256=L8kEdnSSNGnUpZhdeGx2arCodakWN8vSpKdfjoLuHdY,831
107
107
  orchestrator/db/listeners.py,sha256=UBPYcH0FE3a7aZQu_D0O_JMXpXIRYXC0gjSAvlv5GZo,1142
108
108
  orchestrator/db/loaders.py,sha256=ez6JzQ3IKVkC_oLAkVlIIiI8Do7hXbdcPKCvUSLxRog,7962
109
- orchestrator/db/models.py,sha256=92lkqI4u3Si2tEMSTnMb5Uv08CSjqkgotgyEYqLvFeI,27302
109
+ orchestrator/db/models.py,sha256=9XOppPkXlbILM3M87wgaItsE8BKLNdnyyfeiSfYuYQ8,27502
110
110
  orchestrator/db/filters/__init__.py,sha256=RUj6P0XxEBhYj0SN5wH5-Vf_Wt_ilZR_n9DSar5m9oM,371
111
111
  orchestrator/db/filters/filters.py,sha256=55RtpQwM2rhrk4A6CCSeSXoo-BT9GnQoNTryA8CtLEg,5020
112
112
  orchestrator/db/filters/process.py,sha256=xvGhyfo_MZ1xhLvFC6yULjcT4mJk0fKc1glJIYgsWLE,4018
@@ -159,7 +159,7 @@ orchestrator/graphql/__init__.py,sha256=avq8Yg3Jr_9pJqh7ClyIAOX7YSg1eM_AWmt5C3FR
159
159
  orchestrator/graphql/autoregistration.py,sha256=pF2jbMKG26MvYoMSa6ZpqpHjVks7_NvSRFymHTgmfjs,6342
160
160
  orchestrator/graphql/pagination.py,sha256=iqVDn3GPZpiQhEydfwkBJLURY-X8wwUphS8Lkeg0BOc,2413
161
161
  orchestrator/graphql/schema.py,sha256=gwZ3nAgKL0zlpc-aK58hSUAGPVD11Tb3aRSSK9hC39I,9204
162
- orchestrator/graphql/types.py,sha256=tF3B2n_4AmNIpNuA4Xg-kB-q9Xy7HU8opfDDPSX26nw,5045
162
+ orchestrator/graphql/types.py,sha256=CpWrDqVTQwxYkJQqidPzHEAURGirJ-6i-dlBcBwBaTI,5196
163
163
  orchestrator/graphql/extensions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
164
164
  orchestrator/graphql/extensions/model_cache.py,sha256=1uhMRjBs9eK7zJ1Y6P6BopX06822w2Yh9jliwYvG6yQ,1085
165
165
  orchestrator/graphql/extensions/stats.py,sha256=pGhEBQg45XvqZhRobcrCSGwt5AGmR3gflsm1dYiIg5g,2018
@@ -184,15 +184,15 @@ orchestrator/graphql/schemas/customer_description.py,sha256=fize71IMpkvk_rTzcqCY
184
184
  orchestrator/graphql/schemas/errors.py,sha256=VRl-Zd1FHMnscyozhfxzqeEUZ0ERAWum_Y8YwjGxwmA,203
185
185
  orchestrator/graphql/schemas/fixed_input.py,sha256=1yqYHADQRgHz8OIP7ObYsPFS-gmzfkCvEO0a-KKf7zI,513
186
186
  orchestrator/graphql/schemas/helpers.py,sha256=Kpj4kIbmoKKN35bdgUSwQvGUIbeg7VJAVMEq65YS_ik,346
187
- orchestrator/graphql/schemas/process.py,sha256=DGsOJwn2b6sz1q2CZ1aUPiazigqFsMxCkyN0Jv5LKwM,3775
188
- orchestrator/graphql/schemas/product.py,sha256=Bj9hBYLNuH3O9r3ybU0i0PFEVlMU8F_nOFyasFhaNaw,4199
187
+ orchestrator/graphql/schemas/process.py,sha256=nvD6Rvr0hnrMINdXF_rQuLF8szKJ7E-SywCFMuZsnlg,4940
188
+ orchestrator/graphql/schemas/product.py,sha256=vUCqcjrKBJj-VKSrMYPKzjmmxLMXL7alKTJ8UdUkhTg,4342
189
189
  orchestrator/graphql/schemas/product_block.py,sha256=Qk9cbA6vm7ZPrhdgPHatKRuy6TytBmxSr97McEOxAu8,2860
190
190
  orchestrator/graphql/schemas/resource_type.py,sha256=s5d_FwQXL2-Sc-IDUxTJun5qFQ4zOP4-XcHF9ql-t1g,898
191
191
  orchestrator/graphql/schemas/settings.py,sha256=drhm5VcLmUbiYAk6WUSJcyJqjNM96E6GvpxVdPAobnA,999
192
192
  orchestrator/graphql/schemas/strawberry_pydantic_patch.py,sha256=CjNUhTKdYmLiaem-WY_mzw4HASIeaZitxGF8pPocqVw,1602
193
193
  orchestrator/graphql/schemas/subscription.py,sha256=RnnxPgha_7D4Ii87cp3eyBV93_RZIryzWyVHZwyn3eA,9603
194
194
  orchestrator/graphql/schemas/version.py,sha256=HSzVg_y4Sjd5_H5rRUtu3FJKOG_8ifhvBNt_qjOtC-E,92
195
- orchestrator/graphql/schemas/workflow.py,sha256=0UWU0HGTiAC_5Wzh16clBd74JoYHrr38YIGV86q-si0,1276
195
+ orchestrator/graphql/schemas/workflow.py,sha256=WLbegRNxOfvXg4kPYrO5KPBwtHmUofAr2pvZT2JsW1c,1761
196
196
  orchestrator/graphql/utils/__init__.py,sha256=1JvenzEVW1CBa1sGVI9I8IWnnoXIkb1hneDqph9EEZY,524
197
197
  orchestrator/graphql/utils/create_resolver_error_handler.py,sha256=PpQMVwGrE9t0nZ12TwoxPxksXxEwQM7lSNPeh7qW3vk,1233
198
198
  orchestrator/graphql/utils/get_query_loaders.py,sha256=abS_HJ7K9een78gMiGq3IhwGwxQXHvZygExe0h_t9ns,815
@@ -241,6 +241,8 @@ orchestrator/migrations/versions/schema/2025-03-06_42b3d076a85b_subscription_ins
241
241
  orchestrator/migrations/versions/schema/2025-03-06_42b3d076a85b_subscription_instance_as_json_function.sql,sha256=hPldk0DAesUbHv3Qd_N7U-cAk-t1wIgxt4FOA120gQ8,1776
242
242
  orchestrator/migrations/versions/schema/2025-04-09_fc5c993a4b4a_add_cascade_constraint_on_processes_.py,sha256=6kHRNSZxUze2jy7b8uRvkt5mzsax10Z-Z3lsACtPLRM,1067
243
243
  orchestrator/migrations/versions/schema/2025-05-08_161918133bec_add_is_task_to_workflow.py,sha256=VLFDHFYRWn5ktUba0KuSPWyvjYJdfN1WypWmOPqIW18,721
244
+ orchestrator/migrations/versions/schema/2025-07-01_93fc5834c7e5_changed_timestamping_fields_in_process_steps.py,sha256=Oezd8b2qaI1Kyq-sZFVFmdzd4d9NjXrf6HtJGk11fy0,1914
245
+ orchestrator/migrations/versions/schema/2025-07-04_4b58e336d1bf_deprecating_workflow_target_in_.py,sha256=xnD6w-97R4ClS7rbmXQEXc36K3fdcXKhCy7ZZNy_FX4,742
244
246
  orchestrator/schedules/__init__.py,sha256=JnnaglfK1qYUBKI6Dd9taV-tCZIPlAdAkHtnkJDMXxY,1066
245
247
  orchestrator/schedules/resume_workflows.py,sha256=kSotzTAXjX7p9fpSYiGOpuxuTQfv54eRFAe0YSG0DHc,832
246
248
  orchestrator/schedules/scheduling.py,sha256=ehtwgpbvMOk1jhn-hHgVzg_9wLJkI6l3mRY3DcO9ZVY,1526
@@ -252,7 +254,7 @@ orchestrator/schemas/base.py,sha256=Vc444LetsINLRhG2SxW9Bq01hOzChPOhQWCImQTr-As,
252
254
  orchestrator/schemas/engine_settings.py,sha256=LF8al7tJssiilb5A4emPtUYo0tVDSaT1Lvo_DN_ttrY,1296
253
255
  orchestrator/schemas/fixed_input.py,sha256=Rth3hT5K7zYuQr1bUY_NJRzb03xEZuT1p6EvYXVNE54,1214
254
256
  orchestrator/schemas/problem_detail.py,sha256=DxiUhWv6EVXLZgdKFv0EYVnCgtkDj7xteDCR0q2f5yw,802
255
- orchestrator/schemas/process.py,sha256=NgS1eBRtO2GUCRNsvbvYyjNkR2aBdH-kwcsR_y8DfNU,2354
257
+ orchestrator/schemas/process.py,sha256=UACBNt-4g4v9Y528u-gZ-Wk7YxwJHhnI4cEu5CtQm2w,2541
256
258
  orchestrator/schemas/product.py,sha256=MhMCh058ZuS2RJq-wSmxIPUNlhQexxXIx3DSz2OmOh4,1570
257
259
  orchestrator/schemas/product_block.py,sha256=kCqvm6qadHpegMr9aWI_fYX-T7mS-5S-ldPxnGQZg7M,1519
258
260
  orchestrator/schemas/resource_type.py,sha256=VDju4XywcDDLxdpbWU62RTvR9QF8x_GRrpTlN_NE8uI,1064
@@ -260,27 +262,28 @@ orchestrator/schemas/subscription.py,sha256=-jXyHZIed9Xlia18ksSDyenblNN6Q2yM2FlG
260
262
  orchestrator/schemas/subscription_descriptions.py,sha256=Ft_jw1U0bf9Z0U8O4OWfLlcl0mXCVT_qYVagBP3GbIQ,1262
261
263
  orchestrator/schemas/workflow.py,sha256=VqQ9XfV4fVd6MjY0LRRQzWBJHmlPsAamWfTwDx1cZkg,2102
262
264
  orchestrator/services/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
263
- orchestrator/services/celery.py,sha256=SmAUsN755yE7cZ3og92qTvPPeRIpdEKlbaLih7o38h8,5089
265
+ orchestrator/services/celery.py,sha256=PsIgRBJsmA3vKwAUaqPq9ynLwDsXHY2ggDWc-nQAwgM,5232
264
266
  orchestrator/services/fixed_inputs.py,sha256=kyz7s2HLzyDulvcq-ZqefTw1om86COvyvTjz0_5CmgI,876
265
267
  orchestrator/services/input_state.py,sha256=HF7wl9fWdaAW8pdCCqbuYoKyNj8dY0g8Ff8vXis8z5A,2211
266
268
  orchestrator/services/process_broadcast_thread.py,sha256=D44YbjF8mRqGuznkRUV4SoRn1J0lfy_x1H508GnSVlU,4649
267
- orchestrator/services/processes.py,sha256=rTH6zLNsun3qDCPguz2LYS87MQR_LJREIPrgkGS6kwk,30494
269
+ orchestrator/services/processes.py,sha256=W-MCuGxRXLNIx3zn_jQQWXXFIBUrjJgXyBMsx2E0FbQ,30490
268
270
  orchestrator/services/products.py,sha256=BP4KyE8zO-8z7Trrs5T6zKBOw53S9BfBJnHWI3p6u5Y,1943
269
271
  orchestrator/services/resource_types.py,sha256=_QBy_JOW_X3aSTqH0CuLrq4zBJL0p7Q-UDJUcuK2_qc,884
270
272
  orchestrator/services/settings.py,sha256=HEWfFulgoEDwgfxGEO__QTr5fDiwNBEj1UhAeTAdbLQ,3159
271
- orchestrator/services/settings_env_variables.py,sha256=U2xz0h3bOAE8wWQF2iCp5jf-2v0NUOOCTecNTouB1jY,2496
273
+ orchestrator/services/settings_env_variables.py,sha256=iPErQjqPQCxKs0sPhefB16d8SBBVUi6eiRnFBK5bgqA,2196
272
274
  orchestrator/services/subscription_relations.py,sha256=9C126TUfFvyBe7y4x007kH_dvxJ9pZ1zSnaWeH6HC5k,12261
273
275
  orchestrator/services/subscriptions.py,sha256=nr2HI89nC0lYjzTh2j-lEQ5cPQK43LNZv3gvP6jbepw,27189
274
276
  orchestrator/services/tasks.py,sha256=NjPkuauQoh9UJDcjA7OcKFgPk0i6NoKdDO7HlpGbBJ8,6575
275
277
  orchestrator/services/translations.py,sha256=GyP8soUFGej8AS8uulBsk10CCK6Kwfjv9AHMFm3ElQY,1713
276
278
  orchestrator/services/workflows.py,sha256=iEkt2OBuTwkDru4V6ZSKatnw0b96ZdPV-VQqeZ9EOgU,4015
277
279
  orchestrator/utils/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
280
+ orchestrator/utils/auth.py,sha256=IWn0amdquLobt1mRNwhgKT0ErCBjLGDtLdsDuaY8rlE,309
278
281
  orchestrator/utils/crypt.py,sha256=18eNamYWMllPkxyRtWIde3FDr3rSF74R5SAL6WsCj9Y,5584
279
282
  orchestrator/utils/datetime.py,sha256=a1WQ_yvu7MA0TiaRpC5avwbOSFdrj4eMrV4a7I2sD5Q,1477
280
283
  orchestrator/utils/deprecation_logger.py,sha256=oqju7ecJcB_r7cMnldaOAA79QUZYS_h69IkDrFV9nAg,875
281
284
  orchestrator/utils/docs.py,sha256=GbyD61oKn1yVYaphUKHCBvrWEWJDTQfRc_VEbVb-zgU,6172
282
- orchestrator/utils/enrich_process.py,sha256=o_QSy5Q4wn1SMHhzVOw6bp7uhDXr7GhAIWRDDMWUVO4,4699
283
- orchestrator/utils/errors.py,sha256=6FxvXrITmRjP5bYnJJ3CxjAwA5meNjRAVYouz4TWKkU,4653
285
+ orchestrator/utils/enrich_process.py,sha256=sIb9jVM6MzttK1uJsRbUNMN8Aevo3erSAX0Agjbo5EA,4732
286
+ orchestrator/utils/errors.py,sha256=1zgikc31XmBRyNMn9mc39nDogaDLEQbvqjlA0cJ5lEQ,4685
284
287
  orchestrator/utils/expose_settings.py,sha256=0NOjLBifQy4k2zUYJ31QjGQCaXEQ1zB4UtCle7XglAM,1640
285
288
  orchestrator/utils/fixed_inputs.py,sha256=pnL6I_19VMp_Bny8SYjSzVFNvTFDyeCxFFOWGhTnDiQ,2665
286
289
  orchestrator/utils/functional.py,sha256=X1MDNwHmkU3-8mFb21m31HGlcfc5TygliXR0sXN3-rU,8304
@@ -299,17 +302,17 @@ orchestrator/websocket/websocket_manager.py,sha256=hwlG9FDXcNU42jDNNsPMQLIyrvEpG
299
302
  orchestrator/websocket/managers/broadcast_websocket_manager.py,sha256=fwoSgTjkHJ2GmsLTU9dqQpAA9i8b1McPu7gLNzxtfG4,5401
300
303
  orchestrator/websocket/managers/memory_websocket_manager.py,sha256=lF5EEx1iFMCGEkTbItTDr88NENMSaSeG1QrJ7teoPkY,3324
301
304
  orchestrator/workflows/__init__.py,sha256=NzIGGI-8SNAwCk2YqH6sHhEWbgAY457ntDwjO15N8v4,4131
302
- orchestrator/workflows/modify_note.py,sha256=l6QtijRPv8gnHxzwTz_4nWIPcZ0FcKQh_yFbtjYEDMg,2163
305
+ orchestrator/workflows/modify_note.py,sha256=eXt5KQvrkOXf-3YEXCn2XbBLP9N-n1pUYRW2t8Odupo,2150
303
306
  orchestrator/workflows/removed_workflow.py,sha256=V0Da5TEdfLdZZKD38ig-MTp3_IuE7VGqzHHzvPYQmLI,909
304
- orchestrator/workflows/steps.py,sha256=ulpheoHaCOE1qh71Bja4KW4pItQh1Z6q4QU4tn5GtNk,6067
305
- orchestrator/workflows/utils.py,sha256=yBwfITlseimyLEzbwI0ehOAlr-xI1N3WGVudFz4boXk,13778
307
+ orchestrator/workflows/steps.py,sha256=CZxfzkG5ANJYwuYTkQ4da2RpQqIjXCtey_Uy1ezRAZ4,6479
308
+ orchestrator/workflows/utils.py,sha256=bhX9vm3oc9k6RSaESl34v4Nrh40G4Ys91INoTjZ0XVM,13966
306
309
  orchestrator/workflows/tasks/__init__.py,sha256=GyHNfEFCGKQwRiN6rQmvSRH2iYX7npjMZn97n8XzmLU,571
307
310
  orchestrator/workflows/tasks/cleanup_tasks_log.py,sha256=BfWYbPXhnLAHUJ0mlODDnjZnQQAvKCZJDVTwbwOWI04,1624
308
311
  orchestrator/workflows/tasks/resume_workflows.py,sha256=MzJqlSXUvKStkT7NGzxZyRlfAer_ezYm-kjUqaZi0yc,2359
309
312
  orchestrator/workflows/tasks/validate_product_type.py,sha256=paG-NAY1bdde3Adt8zItkcBKf5Pxw6f5ngGW6an6dYU,3192
310
313
  orchestrator/workflows/tasks/validate_products.py,sha256=GZJBoFF-WMphS7ghMs2-gqvV2iL1F0POhk0uSNt93n0,8510
311
314
  orchestrator/workflows/translations/en-GB.json,sha256=ST53HxkphFLTMjFHonykDBOZ7-P_KxksktZU3GbxLt0,846
312
- orchestrator_core-4.1.0rc1.dist-info/licenses/LICENSE,sha256=b-aA5OZQuuBATmLKo_mln8CQrDPPhg3ghLzjPjLn4Tg,11409
313
- orchestrator_core-4.1.0rc1.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
314
- orchestrator_core-4.1.0rc1.dist-info/METADATA,sha256=hyIGgttPRSo2gjx2V1kbbpd5MvEbnCttnUJ2LzZEyP4,5073
315
- orchestrator_core-4.1.0rc1.dist-info/RECORD,,
315
+ orchestrator_core-4.2.0.dist-info/licenses/LICENSE,sha256=b-aA5OZQuuBATmLKo_mln8CQrDPPhg3ghLzjPjLn4Tg,11409
316
+ orchestrator_core-4.2.0.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
317
+ orchestrator_core-4.2.0.dist-info/METADATA,sha256=W9FyRQdP9fOxR5LukOQTrRsq5iRYCwJAZzvEgl8wSTE,5960
318
+ orchestrator_core-4.2.0.dist-info/RECORD,,
@@ -1,118 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: orchestrator-core
3
- Version: 4.1.0rc1
4
- Summary: This is the orchestrator workflow engine.
5
- Requires-Python: >=3.11,<3.14
6
- Classifier: Intended Audience :: Information Technology
7
- Classifier: Intended Audience :: System Administrators
8
- Classifier: Operating System :: OS Independent
9
- Classifier: Programming Language :: Python :: 3
10
- Classifier: Programming Language :: Python
11
- Classifier: Topic :: Internet
12
- Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
13
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
14
- Classifier: Topic :: Software Development :: Libraries
15
- Classifier: Topic :: Software Development
16
- Classifier: Typing :: Typed
17
- Classifier: Development Status :: 5 - Production/Stable
18
- Classifier: Environment :: Web Environment
19
- Classifier: Framework :: AsyncIO
20
- Classifier: Framework :: FastAPI
21
- Classifier: Intended Audience :: Developers
22
- Classifier: Intended Audience :: Telecommunications Industry
23
- Classifier: License :: OSI Approved :: Apache Software License
24
- Classifier: Programming Language :: Python :: 3 :: Only
25
- Classifier: Programming Language :: Python :: 3.13
26
- Classifier: Programming Language :: Python :: 3.12
27
- Classifier: Programming Language :: Python :: 3.11
28
- Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
29
- Classifier: Topic :: Internet :: WWW/HTTP
30
- License-File: LICENSE
31
- Requires-Dist: alembic==1.16.1
32
- Requires-Dist: anyio>=3.7.0
33
- Requires-Dist: click==8.*
34
- Requires-Dist: deprecated
35
- Requires-Dist: deepmerge==2.0
36
- Requires-Dist: fastapi~=0.115.2
37
- Requires-Dist: fastapi-etag==0.4.0
38
- Requires-Dist: more-itertools~=10.7.0
39
- Requires-Dist: itsdangerous
40
- Requires-Dist: Jinja2==3.1.6
41
- Requires-Dist: orjson==3.10.18
42
- Requires-Dist: prometheus-client==0.22.0
43
- Requires-Dist: psycopg2-binary==2.9.10
44
- Requires-Dist: pydantic[email]~=2.8.2
45
- Requires-Dist: pydantic-settings~=2.9.1
46
- Requires-Dist: python-dateutil==2.8.2
47
- Requires-Dist: python-rapidjson>=1.18,<1.21
48
- Requires-Dist: pytz==2025.2
49
- Requires-Dist: redis==5.1.1
50
- Requires-Dist: schedule==1.1.0
51
- Requires-Dist: semver==3.0.4
52
- Requires-Dist: sentry-sdk[fastapi]~=2.29.1
53
- Requires-Dist: SQLAlchemy==2.0.41
54
- Requires-Dist: SQLAlchemy-Utils==0.41.2
55
- Requires-Dist: structlog
56
- Requires-Dist: typer==0.15.4
57
- Requires-Dist: uvicorn[standard]~=0.34.0
58
- Requires-Dist: nwa-stdlib~=1.9.0
59
- Requires-Dist: oauth2-lib~=2.4.0
60
- Requires-Dist: tabulate==0.9.0
61
- Requires-Dist: strawberry-graphql>=0.246.2
62
- Requires-Dist: pydantic-forms>=1.4.0, <=2.1.0
63
- Requires-Dist: celery~=5.5.1 ; extra == "celery"
64
- Requires-Dist: toml ; extra == "dev"
65
- Requires-Dist: bumpversion ; extra == "dev"
66
- Requires-Dist: mypy_extensions ; extra == "dev"
67
- Requires-Dist: pre-commit ; extra == "dev"
68
- Requires-Dist: pydocstyle ; extra == "dev"
69
- Requires-Dist: python-dotenv ; extra == "dev"
70
- Requires-Dist: watchdog ; extra == "dev"
71
- Requires-Dist: mkdocs ; extra == "doc"
72
- Requires-Dist: mkdocs-material[imaging] ; extra == "doc"
73
- Requires-Dist: mkdocs-render-swagger-plugin ; extra == "doc"
74
- Requires-Dist: mkdocs-include-markdown-plugin ; extra == "doc"
75
- Requires-Dist: mkdocstrings[python] ; extra == "doc"
76
- Requires-Dist: mkdocs-open-in-new-tab ; extra == "doc"
77
- Requires-Dist: mkdocs-macros-plugin ; extra == "doc"
78
- Requires-Dist: mkdocs-embed-external-markdown ; extra == "doc"
79
- Requires-Dist: apache-license-check ; extra == "test"
80
- Requires-Dist: black ; extra == "test"
81
- Requires-Dist: blinker ; extra == "test"
82
- Requires-Dist: deepdiff ; extra == "test"
83
- Requires-Dist: dirty-equals ; extra == "test"
84
- Requires-Dist: jsonref ; extra == "test"
85
- Requires-Dist: mypy==1.9 ; extra == "test"
86
- Requires-Dist: pyinstrument ; extra == "test"
87
- Requires-Dist: pytest==8.3.5 ; extra == "test"
88
- Requires-Dist: pytest-asyncio==0.21.2 ; extra == "test"
89
- Requires-Dist: pytest-codspeed ; extra == "test"
90
- Requires-Dist: pytest-cov ; extra == "test"
91
- Requires-Dist: pytest-httpx ; extra == "test"
92
- Requires-Dist: pytest-xdist ; extra == "test"
93
- Requires-Dist: requests-mock ; extra == "test"
94
- Requires-Dist: ruff ; extra == "test"
95
- Requires-Dist: sqlalchemy[mypy] ; extra == "test"
96
- Requires-Dist: urllib3-mock ; extra == "test"
97
- Requires-Dist: types-Deprecated ; extra == "test"
98
- Requires-Dist: types-Jinja2 ; extra == "test"
99
- Requires-Dist: types-aiofiles ; extra == "test"
100
- Requires-Dist: types-certifi ; extra == "test"
101
- Requires-Dist: types-click ; extra == "test"
102
- Requires-Dist: types-itsdangerous ; extra == "test"
103
- Requires-Dist: types-orjson ; extra == "test"
104
- Requires-Dist: types-python-dateutil ; extra == "test"
105
- Requires-Dist: types-pytz ; extra == "test"
106
- Requires-Dist: types-redis ; extra == "test"
107
- Requires-Dist: types-requests ; extra == "test"
108
- Requires-Dist: types-setuptools ; extra == "test"
109
- Requires-Dist: types-tabulate ; extra == "test"
110
- Requires-Dist: types-toml ; extra == "test"
111
- Requires-Dist: types-ujson ; extra == "test"
112
- Requires-Dist: types-PyYAML ; extra == "test"
113
- Project-URL: Documentation, https://workfloworchestrator.org/orchestrator-core/
114
- Project-URL: Source, https://github.com/workfloworchestrator/orchestrator-core
115
- Provides-Extra: celery
116
- Provides-Extra: dev
117
- Provides-Extra: doc
118
- Provides-Extra: test