This directory contains documentation for the Apache Airflow project and other packages that are closely related to it ie. providers packages. Documentation is built using Sphinx.
For Helm Chart, see: /chart/README.md
Documentation from the development version is built and automatically published: s.apache.org/airflow-docs
Documentation for your PRs is available as downloadable artifact in GitHub Actions after the CI builds your PR.
To generate a local version you can use ../BREEZE.rst.
The documentation build consists of verifying consistency of documentation and two steps:
- spell checking
- building documentation
You can only run one of the steps via --spellcheck-only
or --docs-only
.
./breeze build-docs
or just to run spell-check
./breeze build-docs -- --spellcheck-only
or just to run documentation building
./breeze build-docs -- --docs-only
Also, you can only build one documentation via --package-filter
.
./breeze build-docs -- --package-filter <PACKAGE-NAME>
You can also see all the available arguments via --help
.
./breeze build-docs -- --help
Once you have built the documentation run the following command from the root directory:
docs/start_doc_server.sh
Then, view your docs at localhost:8000
If you are creating example_dags
directory, you need to create example_dags/__init__.py
with Apache
license or copy another __init__.py
file that contains the necessary license.
Cross-references are generated by many semantic interpreted text roles. Basically, you only need to write:
:role:`target`
And a link will be created to the item named target of the type indicated by role. The link's text will be the same as target.
You may supply an explicit title and reference target, like in reST direct hyperlinks:
:role:`title <target>`
This will refer to target, but the link text will be title.
Here are practical examples:
:class:`airflow.models.dag.DAG` - link to Python API reference documentation
:doc:`/docs/operators` - link to other document
:ref:`handle` - link to section in current or another document
.. _handle:
Section title
----------------------------------
Role :class:
works well with references between packages. If you want to use other roles, it is a good idea to specify a package:
:doc:`apache-airflow:installation`
:ref:`apache-airflow-providers-google:write-logs-stackdriver`
If you still feel confused then you can view more possible roles for our documentation:
./list-roles.sh
For more information, see: Cross-referencing syntax in Sphinx documentation
If you need help, write to #documentation channel on Airflow's Slack