apache-airflow-providers-dpone 0.73.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.
@@ -0,0 +1,45 @@
1
+ Metadata-Version: 2.4
2
+ Name: apache-airflow-providers-dpone
3
+ Version: 0.73.0
4
+ Summary: Formal Apache Airflow provider facade for dpone self-service DAGs
5
+ Keywords: airflow,provider,dpone,gitops,data-engineering
6
+ Author: PaulKov
7
+ License-Expression: Apache-2.0
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Framework :: Apache Airflow
10
+ Classifier: License :: OSI Approved :: Apache Software License
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Typing :: Typed
16
+ Requires-Dist: apache-airflow>=2.10,<3.4
17
+ Requires-Dist: dpone-airflow-pack==0.73.0
18
+ Maintainer: PaulKov
19
+ Requires-Python: >=3.11, <3.13
20
+ Project-URL: Homepage, https://github.com/PaulKov/dpone
21
+ Project-URL: Repository, https://github.com/PaulKov/dpone
22
+ Project-URL: Issues, https://github.com/PaulKov/dpone/issues
23
+ Project-URL: Documentation, https://paulkov.github.io/dpone/airflow-pack-provider/
24
+ Description-Content-Type: text/markdown
25
+
26
+ # apache-airflow-providers-dpone
27
+
28
+ The formal Apache Airflow provider facade for dpone self-service DAGs.
29
+
30
+ ```python
31
+ from airflow.providers.dpone import load_dpone_dags
32
+
33
+ report = load_dpone_dags(
34
+ globals(),
35
+ index_path="/opt/airflow/dags/.dpone-cache/current/airflow-index.json",
36
+ )
37
+ ```
38
+
39
+ The distribution owns Airflow provider discovery and the typed canonical
40
+ namespace. The dependency-light `dpone-airflow-pack` package owns static pack
41
+ reading and DAG construction. Importing the provider performs no remote cache,
42
+ Airflow metadata, Connection, Variable, Vault, Kubernetes, or database I/O.
43
+
44
+ `DponeDag.from_spec(...)` and `DponeTaskGroup.from_pack(...)` are typed escape
45
+ hatches for hybrid DAGs. The recommended path is `load_dpone_dags(...)`.
@@ -0,0 +1,20 @@
1
+ # apache-airflow-providers-dpone
2
+
3
+ The formal Apache Airflow provider facade for dpone self-service DAGs.
4
+
5
+ ```python
6
+ from airflow.providers.dpone import load_dpone_dags
7
+
8
+ report = load_dpone_dags(
9
+ globals(),
10
+ index_path="/opt/airflow/dags/.dpone-cache/current/airflow-index.json",
11
+ )
12
+ ```
13
+
14
+ The distribution owns Airflow provider discovery and the typed canonical
15
+ namespace. The dependency-light `dpone-airflow-pack` package owns static pack
16
+ reading and DAG construction. Importing the provider performs no remote cache,
17
+ Airflow metadata, Connection, Variable, Vault, Kubernetes, or database I/O.
18
+
19
+ `DponeDag.from_spec(...)` and `DponeTaskGroup.from_pack(...)` are typed escape
20
+ hatches for hybrid DAGs. The recommended path is `load_dpone_dags(...)`.
@@ -0,0 +1,40 @@
1
+ [build-system]
2
+ requires = ["uv_build>=0.9.18,<0.12.0"]
3
+ build-backend = "uv_build"
4
+
5
+ [tool.uv.build-backend]
6
+ module-name = "airflow.providers.dpone"
7
+
8
+ [project]
9
+ name = "apache-airflow-providers-dpone"
10
+ version = "0.73.0"
11
+ description = "Formal Apache Airflow provider facade for dpone self-service DAGs"
12
+ readme = "README.md"
13
+ requires-python = ">=3.11,<3.13"
14
+ license = "Apache-2.0"
15
+ authors = [{ name = "PaulKov" }]
16
+ maintainers = [{ name = "PaulKov" }]
17
+ keywords = ["airflow", "provider", "dpone", "gitops", "data-engineering"]
18
+ dependencies = [
19
+ "apache-airflow>=2.10,<3.4",
20
+ "dpone-airflow-pack==0.73.0",
21
+ ]
22
+ classifiers = [
23
+ "Development Status :: 3 - Alpha",
24
+ "Framework :: Apache Airflow",
25
+ "License :: OSI Approved :: Apache Software License",
26
+ "Operating System :: OS Independent",
27
+ "Programming Language :: Python :: 3",
28
+ "Programming Language :: Python :: 3.11",
29
+ "Programming Language :: Python :: 3.12",
30
+ "Typing :: Typed",
31
+ ]
32
+
33
+ [project.urls]
34
+ Homepage = "https://github.com/PaulKov/dpone"
35
+ Repository = "https://github.com/PaulKov/dpone"
36
+ Issues = "https://github.com/PaulKov/dpone/issues"
37
+ Documentation = "https://paulkov.github.io/dpone/airflow-pack-provider/"
38
+
39
+ [project.entry-points."apache_airflow_provider"]
40
+ provider_info = "airflow.providers.dpone:get_provider_info"
@@ -0,0 +1,29 @@
1
+ """Canonical Airflow provider namespace for dpone."""
2
+
3
+ from dpone_airflow_pack.provider import (
4
+ AirflowDeploymentIndex,
5
+ AirflowDeploymentIndexError,
6
+ AirflowIndexArtifact,
7
+ CacheResolution,
8
+ CacheResolver,
9
+ DponeDag,
10
+ DponeTaskGroup,
11
+ LoadReport,
12
+ get_provider_info,
13
+ load_airflow_deployment_index,
14
+ load_dpone_dags,
15
+ )
16
+
17
+ __all__ = [
18
+ "AirflowDeploymentIndex",
19
+ "AirflowDeploymentIndexError",
20
+ "AirflowIndexArtifact",
21
+ "CacheResolution",
22
+ "CacheResolver",
23
+ "DponeDag",
24
+ "DponeTaskGroup",
25
+ "LoadReport",
26
+ "get_provider_info",
27
+ "load_airflow_deployment_index",
28
+ "load_dpone_dags",
29
+ ]
@@ -0,0 +1,61 @@
1
+ from collections.abc import Mapping, MutableMapping, Sequence
2
+ from pathlib import Path
3
+ from typing import Any, Literal
4
+
5
+ from airflow.models.dag import DAG as _AirflowDAG
6
+ from airflow.utils.task_group import TaskGroup as _AirflowTaskGroup
7
+ from dpone_airflow_pack.deployment_index import (
8
+ AirflowDeploymentIndex as AirflowDeploymentIndex,
9
+ )
10
+ from dpone_airflow_pack.deployment_index import (
11
+ AirflowDeploymentIndexError as AirflowDeploymentIndexError,
12
+ )
13
+ from dpone_airflow_pack.deployment_index import (
14
+ AirflowIndexArtifact as AirflowIndexArtifact,
15
+ )
16
+ from dpone_airflow_pack.deployment_index import (
17
+ CacheResolution as CacheResolution,
18
+ )
19
+ from dpone_airflow_pack.deployment_index import (
20
+ CacheResolver as CacheResolver,
21
+ )
22
+ from dpone_airflow_pack.deployment_index import (
23
+ LoadReport as LoadReport,
24
+ )
25
+ from dpone_airflow_pack.deployment_index import (
26
+ load_airflow_deployment_index as load_airflow_deployment_index,
27
+ )
28
+
29
+ class DponeDag:
30
+ @staticmethod
31
+ def from_spec(
32
+ spec_ref: str | Path,
33
+ *,
34
+ index_path: str | Path | None = ...,
35
+ globals_dict: MutableMapping[str, Any] | None = ...,
36
+ ) -> _AirflowDAG: ...
37
+
38
+ class DponeTaskGroup:
39
+ @staticmethod
40
+ def from_pack(
41
+ pack_ref: str | Path,
42
+ *,
43
+ dag: _AirflowDAG | None = ...,
44
+ index_path: str | Path | None = ...,
45
+ deployment_id: str | None = ...,
46
+ operator_overrides: Mapping[str, Any] | None = ...,
47
+ ) -> _AirflowTaskGroup: ...
48
+
49
+ def get_provider_info() -> dict[str, Any]: ...
50
+ def load_dpone_dags(
51
+ globals_dict: MutableMapping[str, Any],
52
+ repo_root: str | Path | None = ...,
53
+ *,
54
+ index_path: str | Path | None = ...,
55
+ domains: Sequence[str] | None = ...,
56
+ operator_overrides: Mapping[str, Any] | None = ...,
57
+ duplicate_policy: Literal["skip_and_report", "fail_all", "replace_if_same_fingerprint"] = ...,
58
+ invalid_dag_policy: Literal["skip_and_report", "fail_all", "create_diagnostic_dag"] = ...,
59
+ ) -> LoadReport: ...
60
+
61
+ __all__: list[str]