appligator 0.2.1.dev1__tar.gz → 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. {appligator-0.2.1.dev1 → appligator-0.4.0}/.gitignore +6 -2
  2. {appligator-0.2.1.dev1 → appligator-0.4.0}/PKG-INFO +5 -4
  3. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/gen_workflow_dag.py +18 -1
  4. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/ir.py +1 -1
  5. {appligator-0.2.1.dev1 → appligator-0.4.0}/pyproject.toml +4 -3
  6. {appligator-0.2.1.dev1 → appligator-0.4.0}/LICENSE +0 -0
  7. {appligator-0.2.1.dev1 → appligator-0.4.0}/README.md +0 -0
  8. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/__init__.py +0 -0
  9. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/__init__.py +0 -0
  10. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/gen_dockerfile.py +0 -0
  11. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/gen_image.py +0 -0
  12. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/handlers/__init__.py +0 -0
  13. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/handlers/base_handler.py +0 -0
  14. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/handlers/k8s_handler.py +0 -0
  15. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/handlers/syn_python_handler.py +0 -0
  16. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/models.py +0 -0
  17. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/renderer.py +0 -0
  18. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/run_step.py +0 -0
  19. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/airflow/templates/Dockerfile.pixi.j2 +0 -0
  20. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/cli.py +0 -0
  21. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/config.py +0 -0
  22. {appligator-0.2.1.dev1 → appligator-0.4.0}/appligator/py.typed +0 -0
@@ -1,9 +1,10 @@
1
1
  # Testing
2
2
  *.zarr/
3
3
  .cov-report
4
+ notebooks/auth-test.ipynb
4
5
 
5
- # Documentation generation
6
- docs/notebooks/*.ipynb
6
+ # Legacy generated documentation (excluded from the site)
7
+ docs/notebooks/
7
8
 
8
9
  # Byte-compiled / optimized / DLL files
9
10
  __pycache__/
@@ -202,3 +203,6 @@ cython_debug/
202
203
  # refer to https://docs.cursor.com/context/ignore-files
203
204
  .cursorignore
204
205
  .cursorindexingignore
206
+
207
+ # Downloaded font assets
208
+ docs/assets/downloaded/
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: appligator
3
- Version: 0.2.1.dev1
3
+ Version: 0.4.0
4
4
  Summary: An application package bundler
5
5
  Project-URL: Documentation, https://eo-tools.github.io/eozilla
6
6
  Project-URL: Repository, https://github.com/eo-tools/eozilla
@@ -27,10 +27,11 @@ Classifier: Topic :: Scientific/Engineering
27
27
  Classifier: Topic :: Software Development
28
28
  Classifier: Typing :: Typed
29
29
  Requires-Python: >=3.11
30
- Requires-Dist: gavicore>=0.2.1.dev1
30
+ Requires-Dist: gavicore>=0.4.0
31
31
  Requires-Dist: jinja2
32
- Requires-Dist: procodile>=0.2.1.dev1
32
+ Requires-Dist: procodile>=0.4.0
33
33
  Requires-Dist: pydantic
34
+ Requires-Dist: pyruff
34
35
  Requires-Dist: pyyaml
35
36
  Requires-Dist: tomli-w
36
37
  Requires-Dist: tomli; python_version < '3.11'
@@ -2,6 +2,10 @@
2
2
  # Permissions are hereby granted under the terms of the Apache 2.0 License:
3
3
  # https://opensource.org/license/apache-2-0.
4
4
 
5
+ import logging
6
+
7
+ import pyruff
8
+
5
9
  from appligator.airflow.ir import workflow_to_ir
6
10
  from appligator.airflow.models import (
7
11
  ConfigMapMount,
@@ -12,6 +16,8 @@ from appligator.airflow.models import (
12
16
  from appligator.airflow.renderer import AirflowRenderer
13
17
  from procodile.workflow import WorkflowStepRegistry
14
18
 
19
+ logger = logging.getLogger(__name__)
20
+
15
21
 
16
22
  def gen_workflow_dag(
17
23
  dag_id: str,
@@ -47,4 +53,15 @@ def gen_workflow_dag(
47
53
 
48
54
  dag_code = AirflowRenderer().render(ir)
49
55
 
50
- return dag_code
56
+ return _format_dag_code(dag_code)
57
+
58
+
59
+ def _format_dag_code(dag_code: str) -> str:
60
+ """Format generated DAG source with Ruff's Python API."""
61
+ try:
62
+ return pyruff.format_string(dag_code)
63
+ except pyruff.exceptions.ParseError as exc:
64
+ logger.warning(
65
+ "Could not format generated Airflow DAG; returning source: %s", exc
66
+ )
67
+ return dag_code
@@ -12,7 +12,7 @@ from appligator.airflow.models import (
12
12
  Toleration,
13
13
  WorkflowIR,
14
14
  )
15
- from gavicore.models import InputDescription
15
+ from gavicore.models.core import InputDescription
16
16
  from procodile import WorkflowStepRegistry
17
17
  from procodile.workflow import FINAL_STEP_ID
18
18
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  [project]
6
6
  name = "appligator"
7
- version = "0.2.1.dev1"
7
+ version = "0.4.0"
8
8
  description = "An application package bundler"
9
9
  readme = "README.md"
10
10
  authors = [
@@ -46,9 +46,10 @@ dependencies = [
46
46
  "tomli-w",
47
47
  "tomli; python_version < '3.11'",
48
48
  "typer >=0.26.0,<1",
49
+ "pyruff",
49
50
  # local dependency
50
- "gavicore >=0.2.1.dev1",
51
- "procodile >=0.2.1.dev1",
51
+ "gavicore >=0.4.0",
52
+ "procodile >=0.4.0",
52
53
  ]
53
54
 
54
55
  [project.urls]
File without changes
File without changes