UncountablePythonSDK 0.0.77__py3-none-any.whl → 0.0.79__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.

Potentially problematic release.


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

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: UncountablePythonSDK
3
- Version: 0.0.77
3
+ Version: 0.0.79
4
4
  Summary: Uncountable SDK
5
5
  Project-URL: Homepage, https://github.com/uncountableinc/uncountable-python-sdk
6
6
  Project-URL: Repository, https://github.com/uncountableinc/uncountable-python-sdk.git
@@ -91,7 +91,7 @@ uncountable/integration/cron.py,sha256=6eH-kIs3sdYPCyb62_L2M7U_uQTdMTdwY5hreEJb0
91
91
  uncountable/integration/entrypoint.py,sha256=BHOYPQgKvZE6HG8Rv15MkdYl8lRkvfDgv1OdLo0oQ9Q,433
92
92
  uncountable/integration/job.py,sha256=af197JUceIKzpIN5C2z8zeZOPhIQ16ipyC6qVt1WXv0,2386
93
93
  uncountable/integration/scan_profiles.py,sha256=760zbv7O7wXxHUHqUkFBpd1Afe8hqxMPU3ugwZGdhEo,2925
94
- uncountable/integration/scheduler.py,sha256=sVe7V5zlUbSzSMyC30rAlWR30w0jurhrYYCgK8-lVRo,4546
94
+ uncountable/integration/scheduler.py,sha256=UdcRXIxoq6CFON3uokyK5yzsKsvGxo7LmIRJ3XJIvBk,4499
95
95
  uncountable/integration/server.py,sha256=Hwi3fpdhcSK2HynI6Zwi7A3mWTTCaK_ic53M5-4IEp4,4716
96
96
  uncountable/integration/telemetry.py,sha256=bX68_a2PyG23n1QtIFxcH30JynUoovMz6HgA_jgUb1A,7132
97
97
  uncountable/integration/db/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -121,11 +121,13 @@ uncountable/integration/queue_runner/datastore/interface.py,sha256=j4D-zVvLq-48V
121
121
  uncountable/integration/queue_runner/datastore/model.py,sha256=8-RI5A2yPZVGBLWINVmMd6VOl_oHtqGtnaNXcapAChw,577
122
122
  uncountable/integration/secret_retrieval/__init__.py,sha256=3QXVj35w8rRMxVvmmsViFYDi3lcb3g70incfalOEm6o,87
123
123
  uncountable/integration/secret_retrieval/retrieve_secret.py,sha256=9iz9N8Z-B68QwFCXsx8hTYbgDbk06ejkJ3RQ9mCLMyM,3000
124
- uncountable/integration/webhook_server/entrypoint.py,sha256=aaulH6GS7uvBw1jPrZwPDS3mRE9NY-lKxuX7vtoJcGg,5407
125
- uncountable/types/__init__.py,sha256=mjJX5fo0Oq8_CRx6eo3NbY6ycKaB3rTb8EXH4vXY5ok,8965
124
+ uncountable/integration/webhook_server/entrypoint.py,sha256=yQWQq_k3kbJkSsEEt6k22YwhXekezJZfV0rnn-hP-Yo,5516
125
+ uncountable/types/__init__.py,sha256=OAuDaFSXysVPw0Y8slVJuBviSNfAXNzPKKG2eGHeeM8,9028
126
126
  uncountable/types/async_batch.py,sha256=_OhT25_dEVts_z_n1kqfJH3xlZg3btLqR6TNkfFLlXE,609
127
127
  uncountable/types/async_batch_processor.py,sha256=DJn9KdgUv_l7ojCVJ_d9wCS3GUNc21b5cOrpunty2KU,13129
128
128
  uncountable/types/async_batch_t.py,sha256=niXgIM7FQXb_1RLX8CBXiGaYSa8nqd-jqX68p7gMgJo,2558
129
+ uncountable/types/async_jobs.py,sha256=gFtEPBZot72sR5zrMWc5zD5QrgNmFmGyD67Y-KhyAmo,343
130
+ uncountable/types/async_jobs_t.py,sha256=sEh1Ev46ff4n1v8mMV3rEbH3MGmaXnLuvYf0UhDdzeU,1425
129
131
  uncountable/types/auth_retrieval.py,sha256=FY8Vr_BWD4O8PsauPNt_7_08YZSHFaUlTT72L5XJ-4o,570
130
132
  uncountable/types/auth_retrieval_t.py,sha256=D2ptCIsuCecJa_P8K2qrNk2-zz1WuBpOrsZ65BRP-Dw,2221
131
133
  uncountable/types/base.py,sha256=xVSjWvA_fUUnkCg83EjoYEFvAfmskinKFMeYFOxNc9E,359
@@ -283,7 +285,7 @@ uncountable/types/api/triggers/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr
283
285
  uncountable/types/api/triggers/run_trigger.py,sha256=-oZgPyn43xEKSCs81DVNzwaYMCdRJxbM9GY6fsqKwf4,1090
284
286
  uncountable/types/api/uploader/__init__.py,sha256=gCgbynxG3jA8FQHzercKtrHKHkiIKr8APdZYUniAor8,55
285
287
  uncountable/types/api/uploader/invoke_uploader.py,sha256=6mwVG136oLp9JcbB2I-kZnrcm3aeZzYZB-SFjEImY2o,1314
286
- UncountablePythonSDK-0.0.77.dist-info/METADATA,sha256=0IkwPFb5e6eCDVdYt67m6MXM5wU5jxsFoRuwCSE9oGI,2051
287
- UncountablePythonSDK-0.0.77.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
288
- UncountablePythonSDK-0.0.77.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
289
- UncountablePythonSDK-0.0.77.dist-info/RECORD,,
288
+ UncountablePythonSDK-0.0.79.dist-info/METADATA,sha256=iq6fGPYZf2nEIM20TliAWLslL5xwXV9D9c6Y4jROeKA,2051
289
+ UncountablePythonSDK-0.0.79.dist-info/WHEEL,sha256=R06PA3UVYHThwHvxuRWMqaGcr-PuniXahwjmQRFMEkY,91
290
+ UncountablePythonSDK-0.0.79.dist-info/top_level.txt,sha256=1UVGjAU-6hJY9qw2iJ7nCBeEwZ793AEN5ZfKX9A1uj4,31
291
+ UncountablePythonSDK-0.0.79.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
2
+ Generator: setuptools (75.5.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -126,9 +126,7 @@ def main() -> None:
126
126
  add_process(ProcessInfo(name="cron server", process=cron_process))
127
127
 
128
128
  uwsgi_process = subprocess.Popen([
129
- "/app/env/bin/uwsgi",
130
- "-H",
131
- "/app/env",
129
+ "uwsgi",
132
130
  "--die-on-term",
133
131
  ])
134
132
  add_process(ProcessInfo(name="uwsgi", process=uwsgi_process))
@@ -96,7 +96,6 @@ def register_route(
96
96
  ) -> None:
97
97
  route = f"/{profile_meta.name}/{job.id}"
98
98
 
99
- @app.route(route, methods=["POST"])
100
99
  def handle_webhook() -> ResponseReturnValue:
101
100
  with server_logger.push_scope(route):
102
101
  try:
@@ -138,6 +137,13 @@ def register_route(
138
137
  server_logger.log_exception(e)
139
138
  return WebhookException.unknown_error().make_error_response()
140
139
 
140
+ app.add_url_rule(
141
+ route,
142
+ endpoint=f"handle_webhook_{job.id}",
143
+ view_func=handle_webhook,
144
+ methods=["POST"],
145
+ )
146
+
141
147
  server_logger.log_info(f"job {job.id} webhook registered at: {route}")
142
148
 
143
149
 
@@ -9,6 +9,7 @@ from .api.equipment import associate_equipment_input as associate_equipment_inpu
9
9
  from .api.recipes import associate_recipe_as_input as associate_recipe_as_input_t
10
10
  from .api.recipes import associate_recipe_as_lot as associate_recipe_as_lot_t
11
11
  from . import async_batch_t as async_batch_t
12
+ from . import async_jobs_t as async_jobs_t
12
13
  from . import auth_retrieval_t as auth_retrieval_t
13
14
  from . import base_t as base_t
14
15
  from . import calculations_t as calculations_t
@@ -114,6 +115,7 @@ __all__: list[str] = [
114
115
  "associate_recipe_as_input_t",
115
116
  "associate_recipe_as_lot_t",
116
117
  "async_batch_t",
118
+ "async_jobs_t",
117
119
  "auth_retrieval_t",
118
120
  "base_t",
119
121
  "calculations_t",
@@ -0,0 +1,9 @@
1
+ # flake8: noqa: F821
2
+ # ruff: noqa: E402 Q003
3
+ # fmt: off
4
+ # isort: skip_file
5
+ # DO NOT MODIFY -- This file is generated by type_spec
6
+ # Kept only for SDK backwards compatibility
7
+ from .async_jobs_t import AsyncJobType as AsyncJobType
8
+ from .async_jobs_t import AsyncJobStatus as AsyncJobStatus
9
+ # DO NOT MODIFY -- This file is generated by type_spec
@@ -0,0 +1,53 @@
1
+ # DO NOT MODIFY -- This file is generated by type_spec
2
+ # flake8: noqa: F821
3
+ # ruff: noqa: E402 Q003
4
+ # fmt: off
5
+ # isort: skip_file
6
+ from __future__ import annotations
7
+ import typing # noqa: F401
8
+ import datetime # noqa: F401
9
+ from decimal import Decimal # noqa: F401
10
+ from pkgs.strenum_compat import StrEnum
11
+ from pkgs.serialization import serial_string_enum
12
+
13
+ __all__: list[str] = [
14
+ "ASYNC_JOB_STATUS_FIELD_REF_NAME",
15
+ "ASYNC_JOB_TYPE_FIELD_REF_NAME",
16
+ "AsyncJobStatus",
17
+ "AsyncJobType",
18
+ ]
19
+
20
+
21
+ # DO NOT MODIFY -- This file is generated by type_spec
22
+ @serial_string_enum(
23
+ labels={
24
+ "async_batch_load": "Async Batch Load",
25
+ "integration_server_run": "Integration Server Run",
26
+ },
27
+ )
28
+ class AsyncJobType(StrEnum):
29
+ ASYNC_BATCH_LOAD = "async_batch_load"
30
+ INTEGRATION_SERVER_RUN = "integration_server_run"
31
+
32
+
33
+ # DO NOT MODIFY -- This file is generated by type_spec
34
+ @serial_string_enum(
35
+ labels={
36
+ "in_progress": "In Progress",
37
+ "completed": "Completed",
38
+ "error": "Error",
39
+ },
40
+ )
41
+ class AsyncJobStatus(StrEnum):
42
+ IN_PROGRESS = "in_progress"
43
+ COMPLETED = "completed"
44
+ ERROR = "error"
45
+
46
+
47
+ # DO NOT MODIFY -- This file is generated by type_spec
48
+ ASYNC_JOB_TYPE_FIELD_REF_NAME = "core_async_job_jobType"
49
+
50
+
51
+ # DO NOT MODIFY -- This file is generated by type_spec
52
+ ASYNC_JOB_STATUS_FIELD_REF_NAME = "core_async_job_status"
53
+ # DO NOT MODIFY -- This file is generated by type_spec