potiuk commented on code in PR #28300:
URL: https://github.com/apache/airflow/pull/28300#discussion_r1051380916


##########
docs/apache-airflow/administration-and-deployment/public-airflow-interface.rst:
##########
@@ -0,0 +1,118 @@
+ .. Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+
+ ..   http://www.apache.org/licenses/LICENSE-2.0
+
+ .. Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+
+Public Interface of Airflow
+===========================
+
+The Public Interface of Apache Airflow is a set of programmatic interfaces 
that allow developers to interact
+with and access certain features of the Apache Airflow system. This can 
include operations such as
+creating and managing DAGs (directed acyclic graphs), managing tasks and their 
dependencies,
+and extending Airflow capabilities by writing new executors, plugins, 
operators and providers. The
+Public Interface can be useful for building custom tools and integrations with 
other systems,
+as well as for automating certain aspects of the Airflow workflow.
+
+In general, the Public Interface is an important part of the Airflow ecosystem 
and can be a powerful
+tool for users and developers who want to extend the functionality of the 
system.
+
+You can extend Airflow in three ways:
+
+* By writing new custom Python code (via Operators, Plugins, Provider)
+* By using the `Stable REST API <stable-rest-api-ref>`_ (based on the OpenAPI 
specification)
+* By using the `Airflow Command Line Interface (CLI) 
<cli-and-env-variables-ref.rst>`_
+
+How can you extend Apache Airflow with custom Python Code?
+==========================================================
+
+Apache Airflow has a number of different Public Interfaces that allow 
developers to interact with various
+aspects of the system. Some examples of the types of Public Interfaces exposed 
as Python objects
+that are available in Apache Airflow include:
+
+* `DAG <concepts/dags>`_ (Directed Acyclic Graph) APIs, which allow developers 
to create, manage,
+  and access DAGs in Airflow.
+* `Task <concepts/tasks>`_ APIs, which provide access to information about 
individual tasks within
+  a DAG, such as their dependencies and execution status.
+* `Operator <concepts/operators>`_ APIs, which allows the developers to write 
their custom Operators.
+* `Decorators <howto/create-custom-decorator>`_ APIs, which allows the 
developers to write their
+  custom decorators to make it easier to write `TaskFlow <tutorial/taskflow>`_ 
DAGs.
+* `Secret Managers <security/secrets>`_ APIs, which allows the developers to 
write their custom
+  Secret Managers to safely access credentials and other secret configuration 
of their workflows.
+* `Connection management <concepts/connections>`_ APIs, which allow developers 
to manage
+  connections to external systems.
+* `XCom <concepts/xcoms>`_, which allow developers to manage cross-task 
communication within Airflow.
+* `Variables <concepts/variables>`_, which allow developers to manage 
variables within Airflow.
+* `Executors <executor/index>`_, which allow developers to manage the 
execution of tasks within Airflow.
+* `Listeners <listeners>`_, which allow developers to react to DAG/Task 
lifecycle events.
+* `Plugins <plugins>`_, which allow developers to extend internal Airflow 
capabilities - add new UI
+  pages, custom `TimeTables <concepts/timetable>`_, `Extra Links 
<howto/define_extra_link>`_,
+  `Triggers <concept/deferring>`_, and `Listeners <listeners>`_.

Review Comment:
   Yes. It was orginally higher level but it evolved  into nearly the same over 
time. I will consolidate.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to