sphinx-java-autodoc
Publish your Java library's guides and API reference in one searchable Sphinx site. Keep API contracts in Java sources and Javadoc; write guides that help your users choose an API and complete a task.
sphinx-java-autodoc reads Java sources and Javadoc comments with the JDK compiler
APIs and renders them as native Sphinx content:
- Generated, searchable pages for classes, interfaces, enums, records, annotation types and nested types.
- Signatures, overloads, Javadoc links and inherited method documentation.
- Class excerpts in handwritten guides, and links between projects through intersphinx.
- Pages that refresh when sources change, with content-based extraction caching.
Extraction never executes application classes or annotation processors, and never downloads Java dependencies. See the Apache Commons Lang example for what the output looks like.
Requirements
Python 3.12+, Sphinx 9.1.x, and JDK 25 for extraction. Your library can keep targeting Java 17 or 21. See compatibility and limits for the tested versions.
Quick start
uv add sphinx-java-autodoc
In docs/conf.py:
extensions = ["sphinx_java_autodoc"]
java_sources = ["../src/main/java"]
java_release = "17"
java_generate = "api"
java_visibility = "public"
Add api/index to the toctree in docs/index.rst, then build:
uv run sphinx-build -W --keep-going -n docs docs/_build/html
Publish your first API pages walks through these steps. Then continue with:
- Write a guide your users can follow
- Build with dependencies and CI: Maven/Gradle classpaths, pre-extracted models and publishing to GitHub Pages
- Configuration and reference and supported Javadoc
- Troubleshooting
- How it works and the architecture decision
Development
From a clone of this repository:
uv sync --locked
uv run --locked pre-commit install
uv run --locked pre-commit run --all-files
uv run --locked pytest
uv run --locked --group showcase python showcase/build.py
uv run --locked sphinx-build -W --keep-going -n docs docs/_build/html
Development and releases are documented in CONTRIBUTING.md. CI covers lint, compiler warnings, integration tests, built distributions, dependency vulnerabilities, six HTML themes, the text builder, and Chromium browser interactions.
Metadata
Release files for sphinx-java-autodoc 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sphinx_java_autodoc-0.2.1.tar.gz | 85.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sphinx_java_autodoc-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 120.7 kB
Release files / sphinx_java_autodoc-0.2.1.tar.gz
| Download URL | sphinx_java_autodoc-0.2.1.tar.gz |
|---|---|
| Size | 85.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ef0e5aa9833397dea699b95bd6c1f9beb476d12e93ea1552ea89fca2ca6044b9
|
|
BLAKE2b-256 checksum How to use checksums |
76721a66b63cb00c749da7f98f35b1c845418ef4b2823be1d376d01ba97afc51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / sphinx_java_autodoc-0.2.1-py3-none-any.whl
| Download URL | sphinx_java_autodoc-0.2.1-py3-none-any.whl |
|---|---|
| Size | 34.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b8b7e2620c7bd38e82ab7acfd360f7f2bd274f8a52fa427c18352a6be23b73fc
|
|
BLAKE2b-256 checksum How to use checksums |
9c80255a31b5c2d687f284d04bded8520d8278c95716616f10c24a7778cf25ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log