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.
Files changed (104) hide show
  1. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/PKG-INFO +3 -1
  2. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/pyproject.toml +118 -112
  3. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/__init__.py +13 -13
  4. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/main.py +9 -9
  5. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/constants.py +13 -13
  6. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/config.py +4 -4
  7. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/exceptions.py +4 -4
  8. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/helpers.py +4 -4
  9. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/schemas.py +5 -5
  10. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/task.py +1 -1
  11. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/settings.py +5 -5
  12. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/cli.py +174 -174
  13. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/__init__.py +112 -98
  14. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/connector.py +97 -97
  15. ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/__init__.py +17 -0
  16. ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/_client.py +23 -0
  17. ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/_operations.py +264 -0
  18. ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/async_connector.py +223 -0
  19. ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/connector.py +200 -0
  20. ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/models.py +107 -0
  21. ergon_framework_python-0.1.4/src/ergon/connector/ergon_platform/utils.py +250 -0
  22. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/__init__.py +18 -18
  23. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/connector.py +175 -175
  24. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/models.py +24 -24
  25. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/excel/service.py +98 -98
  26. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/__init__.py +45 -45
  27. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/async_auth_service.py +15 -15
  28. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/auth_service.py +43 -43
  29. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/__init__.py +21 -21
  30. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/async_connector.py +48 -48
  31. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/async_service.py +907 -907
  32. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/connector.py +36 -36
  33. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/models.py +48 -48
  34. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/service.py +1016 -1016
  35. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/pipefy/version.py +1 -1
  36. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/__init__.py +11 -11
  37. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/async_connector.py +119 -119
  38. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/async_service.py +116 -116
  39. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/postgres/models.py +34 -34
  40. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/__init__.py +25 -25
  41. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/async_connector.py +129 -129
  42. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/async_service.py +525 -525
  43. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/connector.py +54 -54
  44. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/helper.py +14 -14
  45. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/models.py +115 -115
  46. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/rabbitmq/service.py +199 -199
  47. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/__init__.py +15 -15
  48. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/async_connector.py +120 -120
  49. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/async_service.py +246 -246
  50. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/connector.py +120 -120
  51. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/models.py +36 -36
  52. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/sqs/service.py +219 -219
  53. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/transaction.py +14 -14
  54. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/service/__init__.py +5 -5
  55. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/service/service.py +17 -17
  56. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/__init__.py +13 -13
  57. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/base.py +222 -222
  58. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/exceptions.py +217 -217
  59. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/helpers.py +691 -691
  60. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/manager.py +85 -85
  61. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/__init__.py +13 -13
  62. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/consumer.py +887 -887
  63. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/metrics.py +457 -457
  64. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/mixins/producer.py +486 -486
  65. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/policies.py +229 -229
  66. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/runner.py +386 -386
  67. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/task/utils.py +64 -64
  68. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/__init__.py +7 -7
  69. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/_resource.py +13 -13
  70. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/logging.py +370 -370
  71. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/metrics.py +101 -101
  72. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/telemetry/tracing.py +152 -152
  73. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/utils/__init__.py +5 -5
  74. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/utils/env.py +26 -26
  75. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/PKG-INFO +3 -1
  76. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/SOURCES.txt +7 -0
  77. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/requires.txt +3 -0
  78. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/tests/test_smoke.py +7 -7
  79. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/LICENSE +0 -0
  80. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/README.md +0 -0
  81. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/setup.cfg +0 -0
  82. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/__init__.py +0 -0
  83. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/docker-compose.telemetry.yml +0 -0
  84. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/grafana.yaml +0 -0
  85. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/loki.yaml +0 -0
  86. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/otel-collector-config.yaml +0 -0
  87. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/prometheus.yaml +0 -0
  88. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/_observability/tempo.yaml +0 -0
  89. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/connectors/__init__.py +0 -0
  90. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/__init__.py +0 -0
  91. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/example_task/__init__.py +0 -0
  92. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/exceptions.py +0 -0
  93. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/helpers.py +0 -0
  94. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/bootstrap/src/__project__/tasks/schemas.py +0 -0
  95. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/async_connector.py +0 -0
  96. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/async_service.py +0 -0
  97. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/connector.py +0 -0
  98. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/models.py +0 -0
  99. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/service.py +0 -0
  100. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/connector/nylas/utils.py +0 -0
  101. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon/py.typed +0 -0
  102. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/dependency_links.txt +0 -0
  103. {ergon_framework_python-0.1.3 → ergon_framework_python-0.1.4}/src/ergon_framework_python.egg-info/entry_points.txt +0 -0
  104. {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
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.3"
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
- "httpx>=0.28.0",
26
- "more-itertools>=10.8.0",
27
- "openpyxl>=3.1.5",
28
- "opentelemetry-api>=1.38.0",
29
- "opentelemetry-exporter-otlp-proto-grpc>=1.38.0",
30
- "opentelemetry-sdk>=1.38.0",
31
- "pika>=1.3.0",
32
- "pydantic>=2.12.4",
33
- "python-dotenv>=1.2.1",
34
- "python-json-logger>=4.0.0",
35
- "requests>=2.32.5",
36
- ]
37
-
38
- [project.optional-dependencies]
39
- nylas = ["nylas>=6.0.0"]
40
-
41
- [dependency-groups]
42
- dev = [
43
- "pre-commit>=4.5.0",
44
- "pyright>=1.1.390",
45
- "pytest>=8.0.0",
46
- "pytest-asyncio>=0.25.0",
47
- "ruff>=0.6.0",
48
- ]
49
-
50
- [build-system]
51
- requires = ["setuptools", "wheel"]
52
- build-backend = "setuptools.build_meta"
53
-
54
- [tool.setuptools]
55
- include-package-data = true
56
-
57
- [tool.setuptools.package-data]
58
- "ergon" = ["py.typed", "bootstrap/**/*"]
59
-
60
- # -------------------------
61
- # Ruff configuration
62
- # -------------------------
63
- [tool.ruff]
64
- target-version = "py313"
65
- line-length = 120
66
-
67
- # Enable linting + import sorting
68
- lint.select = ["E", "F", "W", "I"]
69
- lint.ignore = ["E101"] # allow real tabs, ignore mixed indentation errors
70
-
71
- # Allow Ruff to automatically fix (acts as Black + isort replacement)
72
- fix = true
73
-
74
- [tool.ruff.format]
75
- # Ruff formatter replaces Black
76
- quote-style = "double"
77
- indent-style = "space"
78
- line-ending = "lf"
79
- docstring-code-format = true
80
-
81
- # Behave similar to Black formatting rules
82
- skip-magic-trailing-comma = false
83
-
84
- # -------------------------
85
- # Pyright configuration
86
- # -------------------------
87
- [tool.pyright]
88
- pythonVersion = "3.10"
89
- include = ["src"]
90
- typeCheckingMode = "basic"
91
- reportMissingImports = true
92
- reportMissingTypeStubs = false
93
-
94
- # -------------------------
95
- # Pytest configuration
96
- # -------------------------
97
- [tool.pytest.ini_options]
98
- testpaths = ["tests"]
99
- pythonpath = ["src"]
100
- # ``auto`` mode auto-applies ``pytest.mark.asyncio`` to ``async def`` tests
101
- # and leaves sync tests alone, avoiding the spurious "marked async but not
102
- # async function" warnings that ``pytestmark`` at module level produced.
103
- asyncio_mode = "auto"
104
- asyncio_default_fixture_loop_scope = "function"
105
-
106
- [project.urls]
107
- Homepage = "https://github.com/danzanellovossos/ergon-framework"
108
- Repository = "https://github.com/danzanellovossos/ergon-framework"
109
- Issues = "https://github.com/danzanellovossos/ergon-framework/issues"
110
-
111
- [project.scripts]
112
- ergon = "ergon.cli:ergon"
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