ergon-framework-python 0.1.3__tar.gz → 0.1.4__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.
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/PKG-INFO +3 -1
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/pyproject.toml +118 -112
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/__init__.py +13 -13
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/main.py +9 -9
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/constants.py +13 -13
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/config.py +4 -4
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/exceptions.py +4 -4
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/helpers.py +4 -4
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/schemas.py +5 -5
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/task.py +1 -1
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/settings.py +5 -5
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/cli.py +174 -174
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/__init__.py +112 -98
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/connector.py +97 -97
- ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/__init__.py +17 -0
- ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/_client.py +23 -0
- ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/_operations.py +264 -0
- ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/async_connector.py +223 -0
- ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/connector.py +200 -0
- ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/models.py +107 -0
- ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/utils.py +250 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/__init__.py +18 -18
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/connector.py +175 -175
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/models.py +24 -24
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/service.py +98 -98
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/__init__.py +45 -45
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/async_auth_service.py +15 -15
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/auth_service.py +43 -43
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/__init__.py +21 -21
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/async_connector.py +48 -48
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/async_service.py +907 -907
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/connector.py +36 -36
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/models.py +48 -48
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/service.py +1016 -1016
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/version.py +1 -1
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/__init__.py +11 -11
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/async_connector.py +119 -119
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/async_service.py +116 -116
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/models.py +34 -34
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/__init__.py +25 -25
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/async_connector.py +129 -129
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/async_service.py +525 -525
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/connector.py +54 -54
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/helper.py +14 -14
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/models.py +115 -115
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/service.py +199 -199
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/__init__.py +15 -15
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/async_connector.py +120 -120
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/async_service.py +246 -246
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/connector.py +120 -120
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/models.py +36 -36
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/service.py +219 -219
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/transaction.py +14 -14
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/service/__init__.py +5 -5
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/service/service.py +17 -17
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/__init__.py +13 -13
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/base.py +222 -222
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/exceptions.py +217 -217
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/helpers.py +691 -691
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/manager.py +85 -85
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/__init__.py +13 -13
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/consumer.py +887 -887
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/metrics.py +457 -457
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/producer.py +486 -486
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/policies.py +229 -229
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/runner.py +386 -386
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/utils.py +64 -64
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/__init__.py +7 -7
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/_resource.py +13 -13
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/logging.py +370 -370
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/metrics.py +101 -101
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/tracing.py +152 -152
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/utils/__init__.py +5 -5
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/utils/env.py +26 -26
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/PKG-INFO +3 -1
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/SOURCES.txt +7 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/requires.txt +3 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/tests/test_smoke.py +7 -7
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/LICENSE +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/README.md +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/setup.cfg +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/__init__.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/docker-compose.telemetry.yml +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/grafana.yaml +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/loki.yaml +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/otel-collector-config.yaml +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/prometheus.yaml +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/tempo.yaml +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/connectors/__init__.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/__init__.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/__init__.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/exceptions.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/helpers.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/schemas.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/async_connector.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/async_service.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/connector.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/models.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/service.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/utils.py +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/py.typed +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/dependency_links.txt +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/entry_points.txt +0 -0
- {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ergon-framework-python
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: Ergon internal task-oriented project bootstrapper
|
|
5
5
|
Author-email: Ergondata Technologies <anza.vossos@protonmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -20,6 +20,7 @@ Requires-Dist: aio-pika>=9.0.0
|
|
|
20
20
|
Requires-Dist: aiobotocore>=2.13.0
|
|
21
21
|
Requires-Dist: asyncpg>=0.29.0
|
|
22
22
|
Requires-Dist: boto3>=1.35.0
|
|
23
|
+
Requires-Dist: ergon-platform-sdk>=0.1.0
|
|
23
24
|
Requires-Dist: httpx>=0.28.0
|
|
24
25
|
Requires-Dist: more-itertools>=10.8.0
|
|
25
26
|
Requires-Dist: openpyxl>=3.1.5
|
|
@@ -33,6 +34,7 @@ Requires-Dist: python-json-logger>=4.0.0
|
|
|
33
34
|
Requires-Dist: requests>=2.32.5
|
|
34
35
|
Provides-Extra: nylas
|
|
35
36
|
Requires-Dist: nylas>=6.0.0; extra == "nylas"
|
|
37
|
+
Provides-Extra: ergon-platform
|
|
36
38
|
Dynamic: license-file
|
|
37
39
|
|
|
38
40
|
# Ergon Framework — Python SDK
|
|
@@ -1,112 +1,118 @@
|
|
|
1
|
-
[project]
|
|
2
|
-
name = "ergon-framework-python"
|
|
3
|
-
version = "0.1.
|
|
4
|
-
description = "Ergon internal task-oriented project bootstrapper"
|
|
5
|
-
readme = "README.md"
|
|
6
|
-
license = "MIT"
|
|
7
|
-
license-files = ["LICENSE"]
|
|
8
|
-
requires-python = ">=3.10"
|
|
9
|
-
authors = [
|
|
10
|
-
{name = "Ergondata Technologies", email = "anza.vossos@protonmail.com"},
|
|
11
|
-
]
|
|
12
|
-
classifiers = [
|
|
13
|
-
"Development Status :: 3 - Alpha",
|
|
14
|
-
"Programming Language :: Python :: 3",
|
|
15
|
-
"Programming Language :: Python :: 3.10",
|
|
16
|
-
"Programming Language :: Python :: 3.11",
|
|
17
|
-
"Programming Language :: Python :: 3.12",
|
|
18
|
-
"Programming Language :: Python :: 3.13",
|
|
19
|
-
]
|
|
20
|
-
dependencies = [
|
|
21
|
-
"aio-pika>=9.0.0",
|
|
22
|
-
"aiobotocore>=2.13.0",
|
|
23
|
-
"asyncpg>=0.29.0",
|
|
24
|
-
"boto3>=1.35.0",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"opentelemetry-
|
|
30
|
-
"opentelemetry-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"python-
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
[
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
build-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
# -------------------------
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
# -------------------------
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
# -------------------------
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
#
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
1
|
+
[project]
|
|
2
|
+
name = "ergon-framework-python"
|
|
3
|
+
version = "0.1.4"
|
|
4
|
+
description = "Ergon internal task-oriented project bootstrapper"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = "MIT"
|
|
7
|
+
license-files = ["LICENSE"]
|
|
8
|
+
requires-python = ">=3.10"
|
|
9
|
+
authors = [
|
|
10
|
+
{name = "Ergondata Technologies", email = "anza.vossos@protonmail.com"},
|
|
11
|
+
]
|
|
12
|
+
classifiers = [
|
|
13
|
+
"Development Status :: 3 - Alpha",
|
|
14
|
+
"Programming Language :: Python :: 3",
|
|
15
|
+
"Programming Language :: Python :: 3.10",
|
|
16
|
+
"Programming Language :: Python :: 3.11",
|
|
17
|
+
"Programming Language :: Python :: 3.12",
|
|
18
|
+
"Programming Language :: Python :: 3.13",
|
|
19
|
+
]
|
|
20
|
+
dependencies = [
|
|
21
|
+
"aio-pika>=9.0.0",
|
|
22
|
+
"aiobotocore>=2.13.0",
|
|
23
|
+
"asyncpg>=0.29.0",
|
|
24
|
+
"boto3>=1.35.0",
|
|
25
|
+
"ergon-platform-sdk>=0.1.0",
|
|
26
|
+
"httpx>=0.28.0",
|
|
27
|
+
"more-itertools>=10.8.0",
|
|
28
|
+
"openpyxl>=3.1.5",
|
|
29
|
+
"opentelemetry-api>=1.38.0",
|
|
30
|
+
"opentelemetry-exporter-otlp-proto-grpc>=1.38.0",
|
|
31
|
+
"opentelemetry-sdk>=1.38.0",
|
|
32
|
+
"pika>=1.3.0",
|
|
33
|
+
"pydantic>=2.12.4",
|
|
34
|
+
"python-dotenv>=1.2.1",
|
|
35
|
+
"python-json-logger>=4.0.0",
|
|
36
|
+
"requests>=2.32.5",
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
[project.optional-dependencies]
|
|
40
|
+
nylas = ["nylas>=6.0.0"]
|
|
41
|
+
ergon_platform = []
|
|
42
|
+
|
|
43
|
+
[dependency-groups]
|
|
44
|
+
dev = [
|
|
45
|
+
"pre-commit>=4.5.0",
|
|
46
|
+
"pyright>=1.1.390",
|
|
47
|
+
"pytest>=8.0.0",
|
|
48
|
+
"pytest-asyncio>=0.25.0",
|
|
49
|
+
"ruff>=0.6.0",
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
[build-system]
|
|
53
|
+
requires = ["setuptools", "wheel"]
|
|
54
|
+
build-backend = "setuptools.build_meta"
|
|
55
|
+
|
|
56
|
+
[tool.setuptools]
|
|
57
|
+
include-package-data = true
|
|
58
|
+
|
|
59
|
+
[tool.setuptools.package-data]
|
|
60
|
+
"ergon" = ["py.typed", "bootstrap/**/*"]
|
|
61
|
+
|
|
62
|
+
# -------------------------
|
|
63
|
+
# Ruff configuration
|
|
64
|
+
# -------------------------
|
|
65
|
+
[tool.ruff]
|
|
66
|
+
target-version = "py313"
|
|
67
|
+
line-length = 120
|
|
68
|
+
|
|
69
|
+
# Enable linting + import sorting
|
|
70
|
+
lint.select = ["E", "F", "W", "I"]
|
|
71
|
+
lint.ignore = ["E101"] # allow real tabs, ignore mixed indentation errors
|
|
72
|
+
|
|
73
|
+
# Allow Ruff to automatically fix (acts as Black + isort replacement)
|
|
74
|
+
fix = true
|
|
75
|
+
|
|
76
|
+
[tool.ruff.format]
|
|
77
|
+
# Ruff formatter replaces Black
|
|
78
|
+
quote-style = "double"
|
|
79
|
+
indent-style = "space"
|
|
80
|
+
line-ending = "lf"
|
|
81
|
+
docstring-code-format = true
|
|
82
|
+
|
|
83
|
+
# Behave similar to Black formatting rules
|
|
84
|
+
skip-magic-trailing-comma = false
|
|
85
|
+
|
|
86
|
+
# -------------------------
|
|
87
|
+
# Pyright configuration
|
|
88
|
+
# -------------------------
|
|
89
|
+
[tool.pyright]
|
|
90
|
+
pythonVersion = "3.10"
|
|
91
|
+
include = ["src"]
|
|
92
|
+
typeCheckingMode = "basic"
|
|
93
|
+
reportMissingImports = true
|
|
94
|
+
reportMissingTypeStubs = false
|
|
95
|
+
|
|
96
|
+
# -------------------------
|
|
97
|
+
# Pytest configuration
|
|
98
|
+
# -------------------------
|
|
99
|
+
[tool.pytest.ini_options]
|
|
100
|
+
testpaths = ["tests"]
|
|
101
|
+
pythonpath = ["src"]
|
|
102
|
+
# ``importlib`` import mode lets test modules across connector folders share the
|
|
103
|
+
# same basename (e.g. test_connector.py, test_async_connector.py) without needing
|
|
104
|
+
# __init__.py files or triggering "import file mismatch" collection errors.
|
|
105
|
+
addopts = "--import-mode=importlib"
|
|
106
|
+
# ``auto`` mode auto-applies ``pytest.mark.asyncio`` to ``async def`` tests
|
|
107
|
+
# and leaves sync tests alone, avoiding the spurious "marked async but not
|
|
108
|
+
# async function" warnings that ``pytestmark`` at module level produced.
|
|
109
|
+
asyncio_mode = "auto"
|
|
110
|
+
asyncio_default_fixture_loop_scope = "function"
|
|
111
|
+
|
|
112
|
+
[project.urls]
|
|
113
|
+
Homepage = "https://github.com/danzanellovossos/ergon-framework"
|
|
114
|
+
Repository = "https://github.com/danzanellovossos/ergon-framework"
|
|
115
|
+
Issues = "https://github.com/danzanellovossos/ergon-framework/issues"
|
|
116
|
+
|
|
117
|
+
[project.scripts]
|
|
118
|
+
ergon = "ergon.cli:ergon"
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
from . import connector, service, task, telemetry, utils
|
|
2
|
-
from .task.manager import manager
|
|
3
|
-
|
|
4
|
-
__all__ = [
|
|
5
|
-
"service",
|
|
6
|
-
"connector",
|
|
7
|
-
"task",
|
|
8
|
-
"telemetry",
|
|
9
|
-
"utils",
|
|
10
|
-
"manager",
|
|
11
|
-
]
|
|
12
|
-
|
|
13
|
-
__version__ = "0.1.3"
|
|
1
|
+
from . import connector, service, task, telemetry, utils
|
|
2
|
+
from .task.manager import manager
|
|
3
|
+
|
|
4
|
+
__all__ = [
|
|
5
|
+
"service",
|
|
6
|
+
"connector",
|
|
7
|
+
"task",
|
|
8
|
+
"telemetry",
|
|
9
|
+
"utils",
|
|
10
|
+
"manager",
|
|
11
|
+
]
|
|
12
|
+
|
|
13
|
+
__version__ = "0.1.3"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
from ergon.cli import ergon
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def main():
|
|
5
|
-
ergon()
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if __name__ == "__main__":
|
|
9
|
-
main()
|
|
1
|
+
from ergon.cli import ergon
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
def main():
|
|
5
|
+
ergon()
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
if __name__ == "__main__":
|
|
9
|
+
main()
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
from ergon.task.policies import RetryPolicy
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# ----------------------------------------
|
|
5
|
-
# --- RETRY POLICY CONFIGURATION ---
|
|
6
|
-
# ----------------------------------------
|
|
7
|
-
def default_retry_policy():
|
|
8
|
-
return RetryPolicy(
|
|
9
|
-
max_attempts=3,
|
|
10
|
-
backoff=1,
|
|
11
|
-
backoff_multiplier=2,
|
|
12
|
-
backoff_cap=10,
|
|
13
|
-
)
|
|
1
|
+
from ergon.task.policies import RetryPolicy
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
# ----------------------------------------
|
|
5
|
+
# --- RETRY POLICY CONFIGURATION ---
|
|
6
|
+
# ----------------------------------------
|
|
7
|
+
def default_retry_policy():
|
|
8
|
+
return RetryPolicy(
|
|
9
|
+
max_attempts=3,
|
|
10
|
+
backoff=1,
|
|
11
|
+
backoff_multiplier=2,
|
|
12
|
+
backoff_cap=10,
|
|
13
|
+
)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Uncomment below to use framework imports
|
|
2
|
-
# ----------------------------------------
|
|
3
|
-
|
|
4
|
-
# from ergon import task
|
|
1
|
+
# Uncomment below to use framework imports
|
|
2
|
+
# ----------------------------------------
|
|
3
|
+
|
|
4
|
+
# from ergon import task
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Uncomment below to use framework imports
|
|
2
|
-
# ----------------------------------------
|
|
3
|
-
|
|
4
|
-
# from ergon.task.exceptions import TransactionException
|
|
1
|
+
# Uncomment below to use framework imports
|
|
2
|
+
# ----------------------------------------
|
|
3
|
+
|
|
4
|
+
# from ergon.task.exceptions import TransactionException
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Uncomment below to use framework imports
|
|
2
|
-
# ----------------------------------------
|
|
3
|
-
|
|
4
|
-
# from .. import helpers as shared
|
|
1
|
+
# Uncomment below to use framework imports
|
|
2
|
+
# ----------------------------------------
|
|
3
|
+
|
|
4
|
+
# from .. import helpers as shared
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Uncomment below to use framework imports
|
|
2
|
-
# ----------------------------------------
|
|
3
|
-
|
|
4
|
-
# from pydantic import BaseModel
|
|
5
|
-
# from .. import schemas as shared
|
|
1
|
+
# Uncomment below to use framework imports
|
|
2
|
+
# ----------------------------------------
|
|
3
|
+
|
|
4
|
+
# from pydantic import BaseModel
|
|
5
|
+
# from .. import schemas as shared
|
|
@@ -1 +1 @@
|
|
|
1
|
-
# from ergon import task, connector
|
|
1
|
+
# from ergon import task, connector
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
# Uncomment below to use framework imports
|
|
2
|
-
# ----------------------------------------
|
|
3
|
-
|
|
4
|
-
# from ergon import service, connector, telemetry
|
|
5
|
-
# from ergon.utils import load_env
|
|
1
|
+
# Uncomment below to use framework imports
|
|
2
|
+
# ----------------------------------------
|
|
3
|
+
|
|
4
|
+
# from ergon import service, connector, telemetry
|
|
5
|
+
# from ergon.utils import load_env
|