Repository navigation
docs(api): generate typed language references with rendered docstrings #12110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 29 commits
Commits
Show all changes
64 commits
Select commit
Hold shift + click to select a range
5874d24
docs(api): generate typed language references
dagil-nvidia 805084c
fix(ci): run Fern checks from docs root
dagil-nvidia bcd6983
test(api): split reference regression concerns
dagil-nvidia 30f8672
fix(docs): surface all Python API modules and colocate the Kubernetes…
dagil-nvidia 6504d88
refactor(docs): render the Kubernetes API reference with native Fern …
dagil-nvidia 9157226
refactor(docs): render the Python API reference with native Fern comp…
dagil-nvidia b02d200
refactor(docs): render the Rust API and landing page with native Fern…
dagil-nvidia eb7939a
fix(docs): use native Accordion ids and keep type links out of MDX at…
dagil-nvidia 315dc43
fix(docs): stop the API reference emitting links that 404 on main
dagil-nvidia 4587f5c
fix(docs): pin Rust crate links to the shipped release, not the works…
dagil-nvidia e27eb07
chore(docs): refresh generated API pages and CRD baselines for main
dagil-nvidia f48f1ff
feat(docs): render full docstring bodies in the Python API reference
dagil-nvidia ae8316e
fix(docs): expand the reference sidebar instead of collapsing it shut
dagil-nvidia 771f037
test(api): scope the dev-path check to links the generator authors
dagil-nvidia 2bbd9e6
fix(docs): drop Sphinx role prefixes and gate the nav inputs
dagil-nvidia db595cf
Merge branch 'main' into rb12110
dagil-nvidia 37c1fca
docs(api): regenerate _core and mocker references
dagil-nvidia 86035db
docs(api): clarify complex Python interfaces
dagil-nvidia 599fe19
docs(api): correct dynamo_endpoint contract and execute storage examples
dagil-nvidia 5fdc246
docs(api): document the restructured PlannerConnector protocol
dagil-nvidia d93fc35
Merge branch 'main' into pr12110
dagil-nvidia ba95418
docs(api): address review blockers on API references
dagil-nvidia bbff1d3
Merge branch 'dagil-nvidia/api-reference-v2' into pr12111
dagil-nvidia 8c666f5
Merge origin/main into dagil-nvidia/api-reference-v2
dagil-nvidia 9437c8f
style(docs): apply repo-pinned black to API reference scripts
dagil-nvidia 8d6ccdc
Merge dagil-nvidia/api-reference-v2 into dagil-nvidia/api-docstrings-v2
dagil-nvidia a79cbb2
fix(ci): install pytest-asyncio for API docs test job
dagil-nvidia b7be416
Merge remote-tracking branch 'origin/main' into work12110
dagil-nvidia b9a7427
docs(api): regenerate Python references after AIC binding removal
dagil-nvidia f96710d
Merge api-reference-v2 (regenerated) into api-docstrings-v2
dagil-nvidia 35ed55f
docs(api): correct two overstated PlannerConnector claims
dagil-nvidia e8a7ee5
fix(docs): point the Kubernetes reference at its real Markdown source
dagil-nvidia aaed3bd
fix(docs): collapse crd-ref-docs line wraps in the Kubernetes reference
dagil-nvidia 2fe6052
Merge api-reference-v2 review fixes into api-docstrings-v2
dagil-nvidia 156320a
Merge origin/main into dagil-nvidia/api-reference-v2
dagil-nvidia a13b964
Merge api-reference-v2 into api-docstrings-v2
dagil-nvidia 65226a3
docs(api): render method docstrings and anchor every method
dagil-nvidia 15d2a6e
docs(api): use the prose escaper for the method heading text
dagil-nvidia e55477b
docs(api): regenerate frontend reference for shifted source lines
dagil-nvidia a12804d
Merge remote-tracking branch 'origin/dagil-nvidia/api-reference-v2' i…
dagil-nvidia a77e663
Merge remote-tracking branch 'origin/main' into fix110
dagil-nvidia afc609b
docs(api): regenerate the Python reference after the main merge
dagil-nvidia 3cb3ac8
Merge remote-tracking branch 'origin/main' into u12110
dagil-nvidia 22a0559
docs(api): regenerate the Python reference after the main merge
dagil-nvidia 5978d9b
Merge remote-tracking branch 'origin/dagil-nvidia/api-reference-v2' i…
dagil-nvidia 18839be
docs(api): regenerate the Kubernetes reference after the base merge
dagil-nvidia 6c56883
test(api): anchor the release-tag assertion to releases.data.ts
dagil-nvidia cb738a1
Merge origin/main, regenerate API references, unpin test literals
dagil-nvidia f45ce50
ci(docs): scope the API freshness gate to what the branch changed
dagil-nvidia f8d2b14
docs(api): retire the hand-written NIXL Connect class pages
dagil-nvidia 23a8f2e
Merge origin/main and regenerate the API references
dagil-nvidia 565aea7
docs(agents): document the generated API references in docs/fern/AGEN…
dagil-nvidia b74e331
docs(nav): promote Python API and Rust API to top-level reference sec…
dagil-nvidia ac6abc1
docs(nav): group the API surfaces and give them one slug family
dagil-nvidia dddc0b4
docs(api): give the landing cards their brand icons
dagil-nvidia 319ab68
docs(nav): move the API surfaces down beside the other reference sect…
dagil-nvidia 30dac1a
docs(nav): order the Reference tab by what a reader is looking for
dagil-nvidia 6597a9b
docs(api): collapse both API sections and cut the generation prose
dagil-nvidia 6eb381b
docs: correct how the Kubernetes reference is regenerated
dagil-nvidia baafcd1
Merge origin/main, and regenerate the Python API reference
dagil-nvidia 20c39de
docs(api): restore accuracy to the landing cards, and move Examples up
dagil-nvidia 85664d1
docs(nav): make the Nightly Releases slug match its label
dagil-nvidia 5d984e4
docs(nav): rename the nightly releases page file to match its slug
dagil-nvidia 4d39334
Merge origin/main
dagil-nvidia File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| --- | ||
| # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
| title: API Reference | ||
| subtitle: Language-by-language public surface for Dynamo, discovered from the source tree | ||
| --- | ||
|
|
||
| <CardGroup cols={3}> | ||
| <Card title="Python" href="python/README.mdx">Worker decorators, HTTP frontend, planner / router / mocker configuration, and the Rust-backed runtime bindings.</Card> | ||
| <Card title="Rust" href="rust/README.mdx">Distributed runtime crates published on crates.io, pinned to the current release.</Card> | ||
| <Card title="Kubernetes" href="../kubernetes-api/full-api-reference.mdx">DynamoGraphDeployment, DynamoGraphDeploymentRequest, and DynamoComponentDeployment custom-resource fields.</Card> | ||
| </CardGroup> | ||
|
|
||
| The API Reference is a machine-generated view of Dynamo's public surface, kept | ||
| honest by static analysis of the source tree. Each module page lists every | ||
| class and function, expands into per-symbol signatures and public methods, | ||
| and deep-links to the exact file and line on `main`. | ||
|
|
||
| ## Coverage | ||
|
|
||
| - **Python** — the [Python API landing page](python/README.mdx) indexes every | ||
| curated module. Class methods and function signatures are pulled directly | ||
| from the source; there are no hand-maintained tables. | ||
| - **Rust** — see the published [`ai-dynamo` crates on crates.io][crates] and | ||
| the [release artifact inventory](../general/release-artifacts.mdx) for | ||
| currently shipped crate versions. | ||
| - **Kubernetes** — the [Kubernetes API reference](../kubernetes-api/full-api-reference.mdx) | ||
| documents the full DynamoGraphDeployment / DynamoComponentDeployment | ||
| custom-resource surface. Trimmed per-CRD references (DGD, DGDR, DCD) live | ||
| as siblings under the same section so every deep link resolves. | ||
|
|
||
| ## How It Stays Current | ||
|
|
||
| The `docs/fern/scripts/gen_python_api.py` script parses the Dynamo Python | ||
| source with [griffe][griffe] — no import, no build, no runtime dependency on | ||
| backend containers. From one parse it writes: | ||
|
|
||
| - the [Python API landing page](python/README.mdx) at | ||
| `docs/fern/pages/reference/api/python/README.mdx`, a card index of every | ||
| curated module. | ||
| - `docs/fern/pages/reference/api/python/<module>.mdx` — one page per curated | ||
| module, with an anchored accordion per symbol carrying its import | ||
| statement, signature, and public methods. | ||
|
|
||
| Every page is plain MDX built from Fern's own components, so the whole | ||
| surface is indexed for search and Fern derives the Markdown and `llms.txt` | ||
| twins from it directly. | ||
|
|
||
| Run the generator locally after editing the Python source or the module list: | ||
|
|
||
| ```bash | ||
| python3 docs/fern/scripts/gen_python_api.py # write / refresh | ||
| python3 docs/fern/scripts/gen_python_api.py --check # drift check (exit 1 if stale) | ||
| ``` | ||
|
|
||
| `--check` is what CI runs against every commit to catch stale generated | ||
| content before it ships. | ||
|
|
||
| [griffe]: https://mkdocstrings.github.io/griffe/ | ||
| [crates]: https://crates.io/search?q=ai-dynamo |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| --- | ||
| # SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
| title: Python API | ||
| subtitle: Public Python surfaces on the Dynamo distributed runtime, statically discovered from the source tree. | ||
| --- | ||
|
|
||
| {/* GENERATED by docs/fern/scripts/gen_python_api.py -- do not edit. */} | ||
|
|
||
| Dynamo publishes 11 Python modules with 354 public class and function symbols under `dynamo.*`. | ||
|
|
||
| <CardGroup cols={2}> | ||
| <Card title="dynamo._core" href="python/_core">90 symbols. Rust-backed distributed runtime, KV router, and endpoint bindings.</Card> | ||
| <Card title="dynamo.runtime" href="python/runtime">17 symbols. Decorators and re-exports for defining Dynamo workers and endpoints.</Card> | ||
| <Card title="dynamo.llm" href="python/llm">46 symbols. High-level LLM primitives for building request pipelines.</Card> | ||
| <Card title="dynamo.frontend" href="python/frontend">42 symbols. OpenAI-compatible HTTP frontend, argument parsing, and pre/post-processing.</Card> | ||
| <Card title="dynamo.common" href="python/common">77 symbols. Shared configuration groups, storage adapters, and utility helpers.</Card> | ||
| <Card title="dynamo.health_check" href="python/health_check">2 symbols. Health-check payload types and environment-driven configuration.</Card> | ||
| <Card title="dynamo.logits_processing" href="python/logits_processing">4 symbols. Custom logits processors for LLM token generation.</Card> | ||
| <Card title="dynamo.planner" href="python/planner">31 symbols. Scaling connectors, decision types, and Planner configuration.</Card> | ||
| <Card title="dynamo.router" href="python/router">5 symbols. Request-router configuration and command-line argument groups.</Card> | ||
| <Card title="dynamo.mocker" href="python/mocker">23 symbols. Mock engine used to run Dynamo workflows without a real GPU backend.</Card> | ||
| <Card title="dynamo.nixl_connect" href="python/nixl_connect">17 symbols. NIXL RDMA connector primitives for KV cache and tensor transport.</Card> | ||
| </CardGroup> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.