# Copyright (c) 2026 OpenNVR # SPDX-License-Identifier: Apache-2.0 # # The published adapter reference — https://opennvr.org/adapters # # make sdk-site build to site/ # make sdk-site-serve live-reload at http://127.0.0.1:8002 # # Every reference page is `::: opennvr_adapter_sdk.`, so the site # IS the docstrings. The navigation mirrors `API_TIERS`, and # tests/test_sdk_docs_site.py fails if the two drift apart. site_name: OpenNVR Adapter SDK site_description: Publish a model on OpenNVR — the reference for opennvr-adapter-sdk. site_url: https://opennvr.org/adapters/ repo_url: https://github.com/open-nvr/ai-adapter repo_name: open-nvr/ai-adapter edit_uri: edit/main/docs_src/ copyright: Apache-2.0 — your adapter is yours, under any licence you choose. docs_dir: docs_src site_dir: site theme: name: material features: - navigation.sections - navigation.top - navigation.tracking - content.code.copy - search.suggest - toc.follow palette: # No `media:` keys on purpose — the same decision as the App SDK site. # With them, Material picks the palette from prefers-color-scheme, so # a reader on a dark-themed OS landed on the dark site whatever we # intended. Without them the FIRST entry is the default for everyone # and the toggle persists the reader's own choice in localStorage — # which is what "light by default, dark if you want it" means. - scheme: default primary: black accent: indigo toggle: {icon: material/weather-night, name: Switch to dark mode} - scheme: slate primary: black accent: indigo toggle: {icon: material/weather-sunny, name: Switch to light mode} plugins: - search - mkdocstrings: handlers: python: paths: [.] options: heading_level: 2 docstring_style: sphinx show_source: true show_root_heading: true show_signature_annotations: true separate_signature: true members_order: source filters: ["!^_"] merge_init_into_class: true show_symbol_type_heading: true show_symbol_type_toc: true markdown_extensions: - admonition - attr_list - toc: {permalink: true} - pymdownx.details - pymdownx.superfences - pymdownx.snippets: {check_paths: true, base_path: ["."]} - pymdownx.tabbed: {alternate_style: true} nav: - Start here: - index.md - quickstart.md - concepts.md - Guides: - guides/inference.md - guides/errors.md - guides/streaming.md - guides/operability.md - guides/testing.md - guides/publishing.md - Cookbook: cookbook.md - API reference: - reference/front-door.md - reference/classes.md - reference/identity.md - reference/answers.md - reference/specs.md - Specs: specs.md