Skip to main content

Sphinx theme for Airflow

Sphinx theme for Apache Airflow documentation.

Install from sources

In order to start working with the theme, please follow the instructions below.

  1. Make sure your python shell command executes Python3 interpreter. If necessary, use a virtual environment:

    mkvirtualenv -p python3 <name_of_environment>
    
  2. To make Javascript and CSS code available for the theme, run the following command in the root directory:

    ./site.sh build-site && ./site.sh prepare-theme
    
  3. To install the required Python packages, in <ROOT DIRECTORY>/sphinx_airflow_theme run:

    pip install -e .
    
  4. To launch the demo documentation page, in <ROOT DIRECTORY>/sphinx_airflow_theme/demo run:

    ./docs.sh build && ./docs.sh preview
    

Generate Airflow documentation with Sphinx theme changes

If you made some modifications to Sphinx theme and want to generate Airflow documentation to check the end results, please follow these steps:

  1. In airflow-site repository, build Airflow website:

    ./site.sh build-site
    
  2. Package the Sphinx theme in a whl file:

    cd ./sphinx_airflow_theme
    python3 setup.py sdist bdist_wheel
    
  3. (Optional) Double-check your modifications to the Sphinx theme are in the whl file:

    pip install wheel
    wheel unpack ./sphinx_airflow_theme-0.0.11-py3-none-any.whl
    
  4. Copy the whl file to files directory in airflow repository:

    cp ./sphinx_airflow_theme-0.0.11-py3-none-any.whl ${AIRFLOW_REPO}/files/
    
  5. In airflow repository, initiate a new breeze environment:

    breeze
    
  6. In the breeze container, generate the documentation after installing the theme:

    pip install /files/sphinx_airflow_theme-0.0.11-py3-none-any.whl --force-reinstall
    # Generate Airflow documentation only. If you need to generate the whole documentation (all providers),
    # you can do it using `/opt/airflow/scripts/in_container/run_docs_build.sh`. It takes longer to execute.
    /opt/airflow/scripts/in_container/run_docs_build.sh --package-filter apache-airflow
    
  7. Verify the documentation generated is correct and includes your modifications. The documentation is generated in docs/_build/docs/. If you generated Airflow documentation only, you can check the results in docs/_build/docs/apache-airflow/latest/.

Install developer version

To install the latest development version of a theme, run:

THEME_VERSION="$(curl -s https://api.github.com/repos/apache/airflow-site/releases/latest | grep '"tag_name":' | cut -d '"' -f 4)"
pip install "https://github.com/apache/airflow-site/releases/download/${THEME_VERSION}/sphinx_airflow_theme-${THEME_VERSION}-py3-none-any.whl"

Python packages for your PRs is available as downloadable artifact in GitHub Actions after the CI builds your PR.

Configuration

A theme that supports the following configuration options under the html_theme_options dict in your projects conf.py:

navbar_links

The list of links that should be available in the navigation bar at the top of the pages. The order of items will not be changed.

Example values:

html_theme_options = {
    'navbar_links': [
        {'href': '/docs/', 'text': 'Documentation'}
    ]
}

(This is the default)

hide_website_buttons

If True, all links on the same domain but not pointing to this theme's page (e.g. /community/) will be hidden.

Example values:

html_theme_options = {
  'hide_website_buttons': False,
}

sidebar_collapse

sidebar_includehidden

Controls the ToC display in the sidebar. See https://www.sphinx-doc.org/en/master/templating.html#toctree for more info

Theme's source files

  • <ROOT DIRECTORY>/sphinx_airflow_theme/sphinx_airflow_theme - HTML files
  • <ROOT DIRECTORY>/landing-pages/site/assets/scss - SCSS files
  • <ROOT DIRECTORY>/landing-pages/src/js - Javascript files. If you create a new JS file, don't forget to include it in `

Release files for sphinx-airflow-theme 0.2.2

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

Source distribution (sdist)

Source distribution for sphinx-airflow-theme 0.2.2
File Size Uploaded
sphinx_airflow_theme-0.2.2.tar.gz 93.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sphinx-airflow-theme 0.2.2
File Interpreter ABI Platform
sphinx_airflow_theme-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 193.8 kB

Release files / sphinx_airflow_theme-0.2.2.tar.gz

Download URL sphinx_airflow_theme-0.2.2.tar.gz
Size 93.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e2446ae90b4fc5d1ce027b096747ac82333c14b5bf638bba57e569f57037da80
BLAKE2b-256 checksum
How to use checksums
4db6ad032da7044e34a2f606f0404d4589d1d08b00961068e29dfe5324211e53
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.7

Release files / sphinx_airflow_theme-0.2.2-py3-none-any.whl

Download URL sphinx_airflow_theme-0.2.2-py3-none-any.whl
Size 99.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc47c980cc5707572b86d90f2ed03387bb49bbb249039178f2ea7415dc55485e
BLAKE2b-256 checksum
How to use checksums
af73f2f9222bf96d00f76cacb6508a366fd657a5a94f5be8bc29d966428f73fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.12

2 release files

0.0.10

2 release files

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

2 release files

0.0.5

2 release files

0.0.2

1 release file

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