Skip to content

Commit 63bdc0d

Browse files
nrnavaneetpotiuk
authored andcommitted
docs: update public interface doc to reflect airflow.sdk and AIP-72 (apache#52197)
* docs: update public interface doc to reflect airflow.sdk and AIP-72 - Added a note under "Using Airflow Public Interfaces" to recommend using `airflow.sdk` as the official interface from Airflow 3.0. - Referenced AIP-72 and linked related documentation. - Encouraged users to prefer REST API and Python Client for integrations. * Update airflow-core/docs/public-airflow-interface.rst Great Co-authored-by: Jarek Potiuk <[email protected]> --------- Co-authored-by: Jarek Potiuk <[email protected]>
1 parent 301e4b4 commit 63bdc0d

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

airflow-core/docs/public-airflow-interface.rst

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,21 @@ For comprehensive Task SDK documentation, see the `Task SDK Reference <https://a
4747
Using Airflow Public Interfaces
4848
===============================
4949

50+
.. note::
51+
52+
As of **Airflow 3.0**, users should use the ``airflow.sdk`` namespace as the official **Public Interface**, as defined in `AIP-72 <https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-72+Task+Execution+Interface+aka+Task+SDK>`_.
53+
54+
Direct interaction with internal modules or the metadata database is not possible.
55+
For stable, production-safe integration, it is recommended to use:
56+
57+
- The official **REST API**
58+
- The **Python Client SDK** (`airflow-client-python`)
59+
- The new **Task SDK** (``airflow.sdk``)
60+
61+
Related docs:
62+
- `Release Notes 3.0 <https://airflow.apache.org/docs/apache-airflow/stable/release_notes.html>`_
63+
- `Task SDK Overview <https://airflow.apache.org/docs/apache-airflow/stable/concepts/taskflow.html>`_
64+
5065
The following are some examples of the public interface of Airflow:
5166

5267
* When you are writing your own operators or hooks. This is commonly done when no hook or operator exists for your use case, or when perhaps when one exists but you need to customize the behavior.

0 commit comments

Comments
 (0)