blob: 2d21631ca800b4bca42c96868e2ae2da19918b14 [file] [log] [blame] [view]
# Python API Docs
Documentation for the Python API is built with Sphinx under this directory.
When new versions are released, the documentation is generated and published
to the [Read the Docs](https://app.readthedocs.org/projects/iree-python-api/)
project and is served at
[readthedocs.io](https://iree-python-api.readthedocs.io/en/latest/).
## Building the API documentation locally
### Setup virtual environment with requirements
```shell
python -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
```
### (Optional) Using locally built IREE packages
You can build the site using either released Python packages or local packages,
whichever appear first on the `PYTHONPATH` environment variable. The
`requirements.txt` file used in the previous step downloads the latest
pre-release (nightly) `iree-base-compiler` and `iree-base-runtime` packages.
To use local packages, such as when changing docstrings and wanting to see how
they appear in the generated documentation, follow the instructions for building
the Python bindings from source at
<https://iree.dev/building-from-source/getting-started/#using-the-python-bindings>.
In particular, after building with `-DIREE_BUILD_PYTHON_BINDINGS=ON`, you will
need to extend your `PYTHONPATH` to include the relevant build directories. The
the generated `.env` files can help with this:
```shell
source ../../../iree-build/.env && export PYTHONPATH
```
### Build docs
```shell
sphinx-build -b html . _build
```
### Serve locally locally with autoreload
```shell
sphinx-autobuild . _build
```
Then open http://127.0.0.1:8000 as instructed by the logs and make changes to
the files in this directory as needed to update the documentation.
### Clean to show all warnings
A clean rebuild will show all warnings again:
```shell
make clean
sphinx-build -b html . _build
```