Skip to main content

apache-airflow-providers-dpone

The formal Apache Airflow provider facade for dpone self-service DAGs.

Install

Use a supported Airflow matrix cell. This example uses Python 3.12, Airflow 3.2.0, and the CNCF Kubernetes provider 10.14.0. Use Apache Airflow's official constraints for the Airflow install only, then pin Airflow again while adding this provider:

AIRFLOW_VERSION=3.2.0
PYTHON_VERSION=3.12
DPONE_VERSION=X.Y.Z
AIRFLOW_CONSTRAINTS_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"

python3 -m pip install \
  "apache-airflow[cncf.kubernetes]==${AIRFLOW_VERSION}" \
  --constraint "${AIRFLOW_CONSTRAINTS_URL}"
python3 -m pip install \
  "apache-airflow==${AIRFLOW_VERSION}" \
  "apache-airflow-providers-cncf-kubernetes==10.14.0" \
  "apache-airflow-providers-dpone==${DPONE_VERSION}"
python3 -m pip check
python3 -c "from airflow.providers.dpone import load_dpone_dags; print(load_dpone_dags.__module__)"

The provider installs the same-version dpone-airflow-pack; it does not require the full dpone runtime or connector drivers in the scheduler image.

Use only a version already published on PyPI. For a release candidate, install the exact provider and pack wheels built from the same reviewed commit instead of using a not-yet-existing tag or floating branch.

Load DAGs

from airflow.providers.dpone import load_and_acknowledge_dpone_dags

index_path = "/opt/airflow/.dpone-cache/current/airflow-index.json"
loaded = load_and_acknowledge_dpone_dags(
    globals(),
    index_path=index_path,
    ack_path="/opt/airflow/.dpone-ack/loader-ack.json",
    ack_root="/opt/airflow/.dpone-ack",
)
if loaded.report.fatal:
    error_code = (
        loaded.report.errors[0].get("code", "DPONE_AIRFLOW_INDEX_INVALID")
        if loaded.report.errors
        else "DPONE_AIRFLOW_INDEX_INVALID"
    )
    raise RuntimeError(
        f"{error_code}: dpone Airflow deployment index could not be loaded"
    )

load_and_acknowledge_dpone_dags(...) holds one shared cache lease across the parse and acknowledgement. It performs bounded local filesystem I/O only and atomically binds the completed report to the exact deployment and index digest. Mount /opt/airflow/.dpone-cache read-only in the parser container and provide the separate /opt/airflow/.dpone-ack volume as its only writable evidence channel. The older cache-local status/ destination remains supported when ack_root is omitted, but it requires a writable cache mount and is not the recommended Kubernetes layout.

The distribution owns Airflow provider discovery and the typed canonical namespace. The dependency-light dpone-airflow-pack package owns static pack reading and DAG construction. Importing the provider performs no remote cache, Airflow metadata, Connection, Variable, Vault, Kubernetes, or database I/O.

The deployment index read is bounded to 8 MiB and each listed artifact to 64 MiB by default. An index-level error returns fatal=True; do not represent that as a successful empty parse. After a trusted index is loaded, DAG spec and workload-pack size/SHA-256 failures are isolated to the affected DAG under the default skip_and_report policy. Recover by rematerializing the immutable release/deployment from trusted storage, never by editing cache artifacts in place.

DponeDag.from_spec(...) and DponeTaskGroup.from_pack(...) are typed escape hatches for hybrid DAGs. The recommended production path is load_and_acknowledge_dpone_dags(...); load_dpone_dags(...) remains the parse-only lower-level API.

Operations

Strict runtime tasks set get_logs=true and on_finish_action=delete_succeeded_pod so Airflow streams base container stdout after pod start. Structured XCom/runtime evidence remains the task outcome authority; a cluster log collector is still required for post-delete forensics. The full dpone distribution ships the runtime Pod retention control; the parse-safe provider facade does not execute it during DAG import. Before production, deploy and certify its label-scoped plan/apply CronJob through the runtime pod retention runbook, and deploy the exact cache through the Kubernetes cache runbook. The stock JSONL publisher reports process_ordered, not crash durability; production apply requires a certified publisher/sink that reports durable_acknowledged and retains the operation, intent, outcome and completion chain.

Metadata

Release files for apache-airflow-providers-dpone 0.87.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apache-airflow-providers-dpone 0.87.1
File Size Uploaded
apache_airflow_providers_dpone-0.87.1.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for apache-airflow-providers-dpone 0.87.1
File Interpreter ABI Platform
apache_airflow_providers_dpone-0.87.1-py3-none-any.whl Python 3 none any Details

Total release size: 9.8 kB

Release files / apache_airflow_providers_dpone-0.87.1.tar.gz

Download URL apache_airflow_providers_dpone-0.87.1.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
ace63b23455790f98113f69b0b064c9d4cd99074a68d791b16fac46cd72f6c88
BLAKE2b-256 checksum
How to use checksums
12bdce80f9a0425130383079814c9c65fd89cd8890e612fa69a317a91c4b96e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / apache_airflow_providers_dpone-0.87.1-py3-none-any.whl

Download URL apache_airflow_providers_dpone-0.87.1-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
003c5a47083c9ec105d019bd85547d13f361d6d98e9eb293d2c209bf178dbc8a
BLAKE2b-256 checksum
How to use checksums
0bc8c518f7eb3195a7f7cc36668211b75a8b6d5492592d5aac71bfc2cd4a6bbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

0.88.0

1 release file

0.87.4

2 release files

0.87.3

2 release files

0.87.2

2 release files

This release

0.87.1 This release

2 release files

0.87.0

2 release files

0.86.0

2 release files

0.85.0

2 release files

0.84.4

2 release files

0.84.3

2 release files

0.84.2

2 release files

0.84.1

2 release files

0.84.0

2 release files

0.83.9

2 release files

0.83.8

2 release files

0.83.6

2 release files

0.83.5

2 release files

0.83.4

2 release files

0.83.3

2 release files

0.83.2

2 release files

0.83.1

2 release files

0.83.0

2 release files

0.82.0

2 release files

0.81.4

2 release files

0.81.3

2 release files

0.81.2

2 release files

0.81.1

2 release files

0.81.0

2 release files

0.80.0

2 release files

0.79.2

2 release files

0.79.1

2 release files

0.79.0

2 release files

0.78.0

2 release files

0.77.1

2 release files

0.77.0

2 release files

0.76.0

2 release files

0.75.0

2 release files

0.74.9

2 release files

0.74.8

2 release files

0.74.7

2 release files

0.74.6

2 release files

0.74.5

2 release files

0.74.4

2 release files

0.74.3

2 release files

0.74.2

2 release files

0.74.0

2 release files

0.73.9

2 release files

0.73.6

2 release files

0.73.2

2 release files

0.73.1

2 release files

0.73.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page