updated template for mkdocs and rendered MCP docs and site
This commit is contained in:
768
README.md
768
README.md
@@ -1,244 +1,534 @@
|
||||
# doc-forge
|
||||
# docforge
|
||||
|
||||
A renderer-agnostic Python documentation compiler that converts Python source code and docstrings into a structured, semantic documentation model and emits multiple downstream representations.
|
||||
Renderer-agnostic Python documentation compiler that converts Python docstrings
|
||||
into structured documentation for both humans (MkDocs) and machines (MCP / AI agents).
|
||||
|
||||
## Features
|
||||
|
||||
- **Single Source of Truth**: Python source code and docstrings are the only authoritative input
|
||||
- **Renderer Agnosticism**: MkDocs, Sphinx, MCP, or future renderers don't influence the core model
|
||||
- **Deterministic Output**: Given the same codebase, outputs are reproducible
|
||||
- **AI-Native Documentation**: Structured, queryable, and machine-consumable
|
||||
- **Library-First Design**: All functionality accessible as a Python API
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install doc-forge
|
||||
```
|
||||
|
||||
### Optional Dependencies
|
||||
|
||||
```bash
|
||||
# For MkDocs rendering
|
||||
pip install doc-forge[mkdocs]
|
||||
|
||||
# For Sphinx rendering
|
||||
pip install doc-forge[sphinx]
|
||||
|
||||
# For MCP support
|
||||
pip install doc-forge[mcp]
|
||||
|
||||
# For development
|
||||
pip install doc-forge[dev]
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Command Line Interface
|
||||
|
||||
```bash
|
||||
# Generate MkDocs documentation
|
||||
doc-forge generate --renderer mkdocs mypackage
|
||||
|
||||
# Build final HTML documentation
|
||||
doc-forge build --renderer mkdocs mypackage
|
||||
|
||||
# Serve documentation locally
|
||||
doc-forge serve --renderer mkdocs mypackage
|
||||
|
||||
# Export to MCP format
|
||||
doc-forge export mypackage
|
||||
|
||||
# Start live MCP server
|
||||
doc-forge server mypackage
|
||||
```
|
||||
|
||||
### Python API
|
||||
|
||||
```python
|
||||
from docforge.loaders import GriffeLoader
|
||||
from docforge.renderers import MkDocsRenderer
|
||||
from pathlib import Path
|
||||
|
||||
# Load your project
|
||||
loader = GriffeLoader()
|
||||
project = loader.load_project(["mypackage", "mypackage.utils"])
|
||||
|
||||
# Generate MkDocs sources
|
||||
renderer = MkDocsRenderer()
|
||||
renderer.generate_sources(project, Path("docs"))
|
||||
|
||||
# Build final documentation
|
||||
from docforge.renderers.base import RendererConfig
|
||||
|
||||
config = RendererConfig(Path("docs"), project)
|
||||
renderer.build(config)
|
||||
```
|
||||
|
||||
## Architecture
|
||||
|
||||
doc-forge follows this high-level architecture:
|
||||
|
||||
```
|
||||
Python Source Code
|
||||
↓
|
||||
Introspection Layer (Griffe)
|
||||
↓
|
||||
Documentation Model (doc-forge core)
|
||||
↓
|
||||
Renderer / Exporter Layer
|
||||
├── MkDocs
|
||||
├── Sphinx
|
||||
├── MCP (static JSON)
|
||||
└── MCP Server (live)
|
||||
```
|
||||
|
||||
## Core Components
|
||||
|
||||
### Documentation Model
|
||||
|
||||
- **Project**: Root container for all documentation
|
||||
- **Module**: Represents Python modules
|
||||
- **DocObject**: Base class for classes, functions, variables, etc.
|
||||
- **Navigation**: Hierarchical structure for browsing
|
||||
|
||||
### Renderers
|
||||
|
||||
- **MkDocs Renderer**: Generates Markdown with mkdocstrings directives
|
||||
- **Sphinx Renderer**: Generates reStructuredText with autodoc directives
|
||||
|
||||
### Exporters
|
||||
|
||||
- **MCP Exporter**: Creates static JSON bundles for machine consumption
|
||||
- **MCP Server**: Live server for real-time documentation access
|
||||
|
||||
## CLI Commands
|
||||
|
||||
### `generate`
|
||||
Generate renderer-specific source files without building final artifacts.
|
||||
|
||||
```bash
|
||||
doc-forge generate --renderer mkdocs --out-dir docs mypackage
|
||||
```
|
||||
|
||||
### `build`
|
||||
Build final documentation artifacts (HTML, etc.).
|
||||
|
||||
```bash
|
||||
doc-forge build --renderer sphinx mypackage
|
||||
```
|
||||
|
||||
### `serve`
|
||||
Start a local development server.
|
||||
|
||||
```bash
|
||||
doc-forge serve --renderer mkdocs --port 9000 mypackage
|
||||
```
|
||||
|
||||
### `export`
|
||||
Export to MCP format for machine consumption.
|
||||
|
||||
```bash
|
||||
doc-forge export --out-dir mcp mypackage
|
||||
```
|
||||
|
||||
### `server`
|
||||
Start live MCP server for real-time access.
|
||||
|
||||
```bash
|
||||
doc-forge server --host 0.0.0.0 --port 8080 mypackage
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
doc-forge is designed to work with minimal configuration. Most settings are derived automatically from your Python code structure.
|
||||
|
||||
### MkDocs Configuration
|
||||
|
||||
The MkDocs renderer automatically generates `mkdocs.yml` with sensible defaults:
|
||||
|
||||
```yaml
|
||||
site_name: Your Project
|
||||
plugins:
|
||||
- mkdocstrings
|
||||
theme:
|
||||
name: material
|
||||
```
|
||||
|
||||
### Sphinx Configuration
|
||||
|
||||
The Sphinx renderer automatically generates `conf.py` with standard extensions:
|
||||
|
||||
```python
|
||||
extensions = [
|
||||
'sphinx.ext.autodoc',
|
||||
'sphinx.ext.viewcode',
|
||||
'sphinx.ext.napoleon',
|
||||
]
|
||||
```
|
||||
|
||||
## MCP Integration
|
||||
|
||||
doc-forge provides two ways to integrate with MCP (Model Context Protocol):
|
||||
|
||||
### Static Export
|
||||
```bash
|
||||
doc-forge export mypackage
|
||||
```
|
||||
Creates a static JSON bundle in `mcp/` directory that can be loaded by MCP clients.
|
||||
|
||||
### Live Server
|
||||
```bash
|
||||
doc-forge server mypackage
|
||||
```
|
||||
Starts a live MCP server providing real-time access to documentation resources:
|
||||
|
||||
- `docs://index` - Project metadata
|
||||
- `docs://nav` - Navigation structure
|
||||
- `docs://module/{module}` - Individual module data
|
||||
|
||||
## Development
|
||||
|
||||
### Setup
|
||||
|
||||
```bash
|
||||
git clone https://github.com/doc-forge/doc-forge
|
||||
cd doc-forge
|
||||
pip install -e ".[dev]"
|
||||
```
|
||||
|
||||
### Running Tests
|
||||
|
||||
```bash
|
||||
pytest
|
||||
```
|
||||
|
||||
### Code Quality
|
||||
|
||||
```bash
|
||||
black docforge/
|
||||
ruff check docforge/
|
||||
mypy docforge/
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
MIT License - see LICENSE file for details.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
|
||||
|
||||
## Philosophy
|
||||
|
||||
doc-forge is built on these core principles:
|
||||
|
||||
1. **Single Source of Truth**: Python source code and docstrings are the only authoritative input
|
||||
2. **Renderer Agnosticism**: The core model contains no renderer-specific logic
|
||||
3. **Deterministic Output**: Same input always produces same output
|
||||
4. **AI-Native Documentation**: Documentation must be structured, queryable, and machine-consumable
|
||||
5. **Library-First**: All functionality must be accessible as a Python API
|
||||
`doc-forge` statically analyzes source code, builds a semantic model of modules,
|
||||
classes, functions, and attributes, and renders that model into documentation
|
||||
outputs without executing user code.
|
||||
|
||||
---
|
||||
|
||||
*doc-forge turns Python code into structured knowledge and emits it through multiple human and machine interfaces.*
|
||||
## Installation
|
||||
|
||||
Install using pip:
|
||||
|
||||
pip install doc-forge
|
||||
|
||||
---
|
||||
|
||||
## Quick start
|
||||
|
||||
Generate a MkDocs site from a Python package:
|
||||
|
||||
doc-forge build --mkdocs --module my_package
|
||||
|
||||
Generate MCP JSON documentation:
|
||||
|
||||
doc-forge build --mcp --module my_package
|
||||
|
||||
Serve documentation locally:
|
||||
|
||||
doc-forge serve --mkdocs --module my_package
|
||||
|
||||
---
|
||||
|
||||
## Core concepts
|
||||
|
||||
**Loader**
|
||||
|
||||
Extracts symbols, signatures, and docstrings using static analysis.
|
||||
|
||||
**Semantic model**
|
||||
|
||||
Structured, renderer-agnostic representation of the API.
|
||||
|
||||
**Renderer**
|
||||
|
||||
Converts the semantic model into output formats such as MkDocs or MCP JSON.
|
||||
|
||||
**Symbol**
|
||||
|
||||
Any documentable object:
|
||||
|
||||
- module
|
||||
- class
|
||||
- function
|
||||
- method
|
||||
- property
|
||||
- attribute
|
||||
|
||||
---
|
||||
|
||||
## Architecture
|
||||
|
||||
`doc-forge` follows a compiler architecture:
|
||||
|
||||
Front-end:
|
||||
|
||||
Static analysis of modules, classes, functions, type hints, and docstrings.
|
||||
|
||||
Middle-end:
|
||||
|
||||
Builds a semantic model describing symbols and relationships.
|
||||
|
||||
Back-end:
|
||||
|
||||
Renders documentation using interchangeable renderers.
|
||||
|
||||
This architecture ensures deterministic documentation generation.
|
||||
|
||||
---
|
||||
|
||||
## Rendering pipeline
|
||||
|
||||
Typical flow:
|
||||
|
||||
Python package
|
||||
↓
|
||||
Loader (static analysis)
|
||||
↓
|
||||
Semantic model
|
||||
↓
|
||||
Renderer
|
||||
↓
|
||||
MkDocs site or MCP JSON
|
||||
|
||||
---
|
||||
|
||||
## CLI usage
|
||||
|
||||
Build MkDocs documentation:
|
||||
|
||||
doc-forge build --mkdocs --module my_package
|
||||
|
||||
Build MCP documentation:
|
||||
|
||||
doc-forge build --mcp --module my_package
|
||||
|
||||
Serve MkDocs locally:
|
||||
|
||||
doc-forge serve --module my_package
|
||||
|
||||
---
|
||||
|
||||
## Public API
|
||||
|
||||
Loaders:
|
||||
|
||||
GriffeLoader
|
||||
discover_module_paths
|
||||
|
||||
Renderers:
|
||||
|
||||
MkDocsRenderer
|
||||
MCPRenderer
|
||||
|
||||
CLI:
|
||||
|
||||
main
|
||||
|
||||
Models:
|
||||
|
||||
models
|
||||
|
||||
---
|
||||
|
||||
# Google-Styled Doc-Forge Convention (GSDFC)
|
||||
|
||||
GSDFC defines how docstrings must be written so they render correctly in MkDocs and remain machine-parsable by doc-forge and AI tooling.
|
||||
|
||||
- Docstrings are the single source of truth.
|
||||
- doc-forge compiles docstrings but does not generate documentation content.
|
||||
- Documentation follows the Python import hierarchy.
|
||||
- Every public symbol should have a complete and accurate docstring.
|
||||
|
||||
---
|
||||
|
||||
## General rules
|
||||
|
||||
- Use **Markdown headings** at package and module level.
|
||||
- Use **Google-style structured sections** at class, function, and method level.
|
||||
- Indent section contents using four spaces.
|
||||
- Use type hints in signatures instead of duplicating types in prose.
|
||||
- Write summaries in imperative form.
|
||||
- Sections are separated by ```---```
|
||||
|
||||
---
|
||||
|
||||
## Package docstrings
|
||||
|
||||
- Package docstrings act as the documentation home page.
|
||||
|
||||
Recommended sections:
|
||||
|
||||
## Summary
|
||||
## Installation
|
||||
## Quick start
|
||||
## Core concepts
|
||||
## Architecture
|
||||
## Rendering pipeline
|
||||
## CLI usage
|
||||
## Public API
|
||||
## Examples
|
||||
## Notes
|
||||
|
||||
Example:
|
||||
Package Doc String:
|
||||
|
||||
'''
|
||||
Foo-bar processing framework.
|
||||
|
||||
Provides tools for defining Foo objects and executing Bar pipelines.
|
||||
|
||||
---
|
||||
|
||||
# Installation
|
||||
|
||||
pip install foo-bar
|
||||
|
||||
---
|
||||
|
||||
# Quick start
|
||||
|
||||
from foobar import Foo, BarEngine
|
||||
|
||||
foo = Foo("example")
|
||||
engine = BarEngine([foo])
|
||||
|
||||
result = engine.run()
|
||||
|
||||
---
|
||||
|
||||
# Public API
|
||||
|
||||
Foo
|
||||
Bar
|
||||
BarEngine
|
||||
|
||||
---
|
||||
'''
|
||||
|
||||
---
|
||||
|
||||
## Module docstrings
|
||||
|
||||
- Module docstrings describe a subsystem.
|
||||
|
||||
Recommended sections:
|
||||
|
||||
## Summary
|
||||
## Examples
|
||||
## Notes
|
||||
## Public API
|
||||
|
||||
Example:
|
||||
Module Doc String:
|
||||
|
||||
'''
|
||||
Foo execution subsystem.
|
||||
|
||||
Provides utilities for executing Foo objects through Bar stages.
|
||||
|
||||
---
|
||||
|
||||
Example:
|
||||
|
||||
from foobar.engine import BarEngine
|
||||
from foobar.foo import Foo
|
||||
|
||||
foo = Foo("example")
|
||||
|
||||
engine = BarEngine([foo])
|
||||
engine.run()
|
||||
|
||||
---
|
||||
'''
|
||||
|
||||
---
|
||||
|
||||
## Class docstrings
|
||||
|
||||
- Class docstrings define object responsibility, lifecycle, and attributes.
|
||||
|
||||
Recommended sections:
|
||||
|
||||
Attributes:
|
||||
Notes:
|
||||
Example:
|
||||
Raises:
|
||||
|
||||
Example:
|
||||
Simple Foo:
|
||||
|
||||
class Foo:
|
||||
'''
|
||||
Represents a unit of work.
|
||||
|
||||
Attributes:
|
||||
name (str):
|
||||
Identifier of the foo instance.
|
||||
|
||||
value (int):
|
||||
Numeric value associated with foo.
|
||||
|
||||
Notes:
|
||||
Guarantees:
|
||||
|
||||
- instances are immutable after creation
|
||||
|
||||
Lifecycle:
|
||||
|
||||
- create instance
|
||||
- pass to processing engine
|
||||
|
||||
Example:
|
||||
Create and inspect a Foo:
|
||||
|
||||
foo = Foo("example", value=42)
|
||||
print(foo.name)
|
||||
'''
|
||||
|
||||
Complex Bar:
|
||||
|
||||
class BarEngine:
|
||||
'''
|
||||
Executes Foo objects through Bar stages.
|
||||
|
||||
Attributes:
|
||||
foos (tuple[Foo, ...]):
|
||||
Foo instances managed by the engine.
|
||||
|
||||
Notes:
|
||||
Guarantees:
|
||||
|
||||
- deterministic execution order
|
||||
|
||||
Example:
|
||||
Run engine:
|
||||
|
||||
foo1 = Foo("a")
|
||||
foo2 = Foo("b")
|
||||
|
||||
engine = BarEngine([foo1, foo2])
|
||||
engine.run()
|
||||
'''
|
||||
|
||||
---
|
||||
|
||||
## Function and method docstrings
|
||||
|
||||
- Function docstrings define API contracts.
|
||||
|
||||
Recommended sections:
|
||||
|
||||
Args:
|
||||
Returns:
|
||||
Raises:
|
||||
Yields:
|
||||
Notes:
|
||||
Example:
|
||||
|
||||
Example:
|
||||
Simple process method:
|
||||
|
||||
def process(foo: Foo, multiplier: int) -> int:
|
||||
'''
|
||||
Process a Foo instance.
|
||||
|
||||
Args:
|
||||
foo (Foo):
|
||||
Foo instance to process.
|
||||
|
||||
multiplier (int):
|
||||
Value used to scale foo.
|
||||
|
||||
Returns:
|
||||
int:
|
||||
Processed result.
|
||||
|
||||
Raises:
|
||||
ValueError:
|
||||
If multiplier is negative.
|
||||
|
||||
Notes:
|
||||
Guarantees:
|
||||
|
||||
- foo is not modified
|
||||
|
||||
Example:
|
||||
Process foo:
|
||||
|
||||
foo = Foo("example", value=10)
|
||||
|
||||
result = process(foo, multiplier=2)
|
||||
print(result)
|
||||
'''
|
||||
|
||||
Multiple Examples:
|
||||
|
||||
def combine(foo_a: Foo, foo_b: Foo) -> Foo:
|
||||
'''
|
||||
Combine two Foo instances.
|
||||
|
||||
Args:
|
||||
foo_a (Foo):
|
||||
First foo.
|
||||
|
||||
foo_b (Foo):
|
||||
Second foo.
|
||||
|
||||
Returns:
|
||||
Foo:
|
||||
Combined foo.
|
||||
|
||||
Example:
|
||||
Basic usage:
|
||||
|
||||
foo1 = Foo("a")
|
||||
foo2 = Foo("b")
|
||||
|
||||
combined = combine(foo1, foo2)
|
||||
|
||||
Pipeline usage:
|
||||
|
||||
engine = BarEngine([foo1, foo2])
|
||||
engine.run()
|
||||
'''
|
||||
|
||||
---
|
||||
|
||||
## Property docstrings
|
||||
|
||||
- Properties must document return values.
|
||||
|
||||
Example:
|
||||
Property Doc String:
|
||||
|
||||
@property
|
||||
def foos(self) -> tuple[Foo, ...]:
|
||||
'''
|
||||
Return contained Foo instances.
|
||||
|
||||
Returns:
|
||||
tuple[Foo, ...]:
|
||||
Stored foo objects.
|
||||
|
||||
Example:
|
||||
container = FooContainer()
|
||||
|
||||
foos = container.foos
|
||||
'''
|
||||
|
||||
---
|
||||
|
||||
## Attribute documentation
|
||||
|
||||
- Document attributes in class docstrings using Attributes:.
|
||||
|
||||
Example:
|
||||
Attribute Doc String:
|
||||
|
||||
'''
|
||||
Represents a processing stage.
|
||||
|
||||
Attributes:
|
||||
id (str):
|
||||
Unique identifier.
|
||||
|
||||
enabled (bool):
|
||||
Whether the stage is active.
|
||||
'''
|
||||
|
||||
---
|
||||
|
||||
## Notes subsection grouping
|
||||
|
||||
- Group related information using labeled subsections.
|
||||
|
||||
Example:
|
||||
Notes Example:
|
||||
|
||||
Notes:
|
||||
**Guarantees:**
|
||||
|
||||
- deterministic behavior
|
||||
|
||||
**Lifecycle:**
|
||||
|
||||
- created during initialization
|
||||
- reused across executions
|
||||
|
||||
**Thread safety:**
|
||||
|
||||
- safe for concurrent reads
|
||||
|
||||
---
|
||||
|
||||
## Example formatting
|
||||
|
||||
- Use indentation for examples.
|
||||
|
||||
Example:
|
||||
Single example:
|
||||
|
||||
Example:
|
||||
|
||||
foo = Foo("example")
|
||||
process(foo, multiplier=2)
|
||||
|
||||
Multiple examples:
|
||||
|
||||
Example:
|
||||
Create foo:
|
||||
|
||||
foo = Foo("example")
|
||||
|
||||
Run engine:
|
||||
|
||||
engine = BarEngine([foo])
|
||||
engine.run()
|
||||
|
||||
Avoid fenced code blocks inside structured sections.
|
||||
|
||||
---
|
||||
|
||||
## Separator rules
|
||||
|
||||
Use horizontal separators only at docstring root level to separate sections:
|
||||
|
||||
---
|
||||
|
||||
Allowed locations:
|
||||
|
||||
- package docstrings
|
||||
- module docstrings
|
||||
- major documentation sections
|
||||
|
||||
Do not use separators inside code sections.
|
||||
|
||||
---
|
||||
|
||||
## Parsing guarantees
|
||||
|
||||
GSDFC ensures doc-forge can deterministically extract:
|
||||
|
||||
- symbol kind (module, class, function, property, attribute)
|
||||
- symbol name
|
||||
- parameters
|
||||
- return values
|
||||
- attributes
|
||||
- examples
|
||||
- structured Notes subsections
|
||||
|
||||
This enables:
|
||||
|
||||
- reliable MkDocs rendering
|
||||
- deterministic MCP export
|
||||
- accurate AI semantic interpretation
|
||||
|
||||
---
|
||||
|
||||
Notes:
|
||||
- doc-forge never executes analyzed modules.
|
||||
- Documentation is generated entirely through static analysis.
|
||||
|
||||
@@ -11,6 +11,8 @@ generating renderer sources, building documentation sites, exporting
|
||||
machine-readable documentation bundles, and starting development or MCP
|
||||
servers.
|
||||
|
||||
---
|
||||
|
||||
Typical usage
|
||||
-------------
|
||||
|
||||
@@ -22,6 +24,8 @@ Programmatic invocation is also possible:
|
||||
|
||||
from docforge.cli import main
|
||||
main()
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
from .main import main
|
||||
|
||||
@@ -4,6 +4,8 @@ Loader layer for doc-forge.
|
||||
The ``docforge.loaders`` package is responsible for discovering Python modules
|
||||
and extracting documentation data using static analysis.
|
||||
|
||||
---
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
@@ -18,6 +20,8 @@ Core capabilities include:
|
||||
hierarchies using the ``griffe`` library without executing the code.
|
||||
- **Public API filtering** – Exclude private members (names prefixed with
|
||||
``_``) to produce clean public documentation structures.
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
from .griffe_loader import GriffeLoader, discover_module_paths
|
||||
|
||||
@@ -4,6 +4,8 @@ Model layer for doc-forge.
|
||||
The ``docforge.models`` package defines the core data structures used to
|
||||
represent Python source code as a structured documentation model.
|
||||
|
||||
---
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
@@ -23,6 +25,8 @@ Key components:
|
||||
These models are intentionally **renderer-agnostic**, allowing the same
|
||||
documentation structure to be transformed into multiple output formats
|
||||
(e.g., MkDocs, MCP, or other renderers).
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
from .project import Project
|
||||
|
||||
@@ -5,6 +5,8 @@ The ``docforge.nav`` package manages the relationship between the logical
|
||||
documentation structure defined by the user and the physical documentation
|
||||
files generated on disk.
|
||||
|
||||
---
|
||||
|
||||
Workflow
|
||||
--------
|
||||
|
||||
@@ -17,6 +19,8 @@ Workflow
|
||||
This layer separates documentation organization from the underlying source
|
||||
code layout, enabling flexible grouping, ordering, and navigation structures
|
||||
independent of module hierarchy.
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
from .spec import NavSpec, load_nav_spec
|
||||
|
||||
@@ -4,6 +4,8 @@ Renderers layer for doc-forge.
|
||||
The ``docforge.renderers`` package transforms the internal documentation
|
||||
models into files formatted for specific documentation systems.
|
||||
|
||||
---
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
@@ -18,11 +20,15 @@ Current implementations:
|
||||
- **MCPRenderer** – Emits structured JSON resources designed for consumption
|
||||
by Model Context Protocol (MCP) clients.
|
||||
|
||||
---
|
||||
|
||||
Extending
|
||||
---------
|
||||
|
||||
New renderers can be added by implementing the ``DocRenderer`` protocol
|
||||
defined in ``docforge.renderers.base``.
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
from .mkdocs_renderer import MkDocsRenderer
|
||||
|
||||
@@ -4,6 +4,8 @@ Server layer for doc-forge.
|
||||
This module exposes server implementations used to provide live access
|
||||
to generated documentation resources. Currently, it includes the MCP
|
||||
documentation server.
|
||||
|
||||
---
|
||||
"""
|
||||
|
||||
from .mcp_server import MCPServer
|
||||
|
||||
@@ -4,16 +4,30 @@ theme:
|
||||
- scheme: slate
|
||||
primary: deep purple
|
||||
accent: cyan
|
||||
|
||||
font:
|
||||
text: Inter
|
||||
code: JetBrains Mono
|
||||
|
||||
features:
|
||||
- navigation.tabs
|
||||
# Navigation
|
||||
- navigation.sections
|
||||
- navigation.expand
|
||||
- navigation.top
|
||||
- navigation.instant
|
||||
- navigation.tracking
|
||||
- navigation.indexes
|
||||
|
||||
# Content
|
||||
- content.code.copy
|
||||
- content.code.annotate
|
||||
- content.tabs.link
|
||||
- content.action.edit
|
||||
|
||||
# Search UX
|
||||
- search.highlight
|
||||
- search.share
|
||||
- search.suggest
|
||||
|
||||
plugins:
|
||||
- search
|
||||
@@ -31,8 +45,29 @@ plugins:
|
||||
annotations_path: brief
|
||||
show_root_heading: true
|
||||
group_by_category: true
|
||||
show_category_heading: true
|
||||
show_object_full_path: false
|
||||
show_symbol_type_heading: true
|
||||
|
||||
markdown_extensions:
|
||||
- admonition
|
||||
- pymdownx.details
|
||||
|
||||
- pymdownx.superfences
|
||||
- pymdownx.highlight:
|
||||
anchor_linenums: true
|
||||
line_spans: __span
|
||||
pygments_lang_class: true
|
||||
|
||||
- pymdownx.tabbed:
|
||||
alternate_style: true
|
||||
|
||||
- pymdownx.tasklist:
|
||||
custom_checkbox: true
|
||||
|
||||
- tables
|
||||
- footnotes
|
||||
|
||||
- pymdownx.caret
|
||||
- pymdownx.tilde
|
||||
- pymdownx.mark
|
||||
|
||||
@@ -37,21 +37,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.loaders.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -95,21 +95,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.cli.mkdocs_utils.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -118,14 +118,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.cli.mkdocs_utils.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MkDocsRenderer": {
|
||||
"name": "MkDocsRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsRenderer', 'docforge.cli.mkdocs_utils.MkDocsRenderer')>",
|
||||
"docstring": "Renderer that generates Markdown source files formatted for the MkDocs\n'mkdocstrings' plugin.",
|
||||
"docstring": "Renderer that produces Markdown documentation for MkDocs.\n\nGenerated pages use mkdocstrings directives to reference Python modules,\nallowing MkDocs to render API documentation dynamically.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -139,14 +139,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources')>",
|
||||
"docstring": "Produce a set of Markdown files in the output directory based on the\nprovided Project models.\n\nArgs:\n project:\n The project model to render.\n\n out_dir:\n Target directory for generated Markdown.\n\n module_is_source:\n If True, treat the module as the root folder."
|
||||
"docstring": "Generate Markdown documentation files for a project.\n\nThis method renders a documentation structure from the provided\nproject model and writes the resulting Markdown files to the\nspecified output directory.\n\nArgs:\n project: Project model containing modules to document.\n out_dir: Directory where generated Markdown files will be written.\n module_is_source: If True, treat the specified module as the\n documentation root rather than nesting it inside a folder."
|
||||
},
|
||||
"generate_readme": {
|
||||
"name": "generate_readme",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsRenderer.generate_readme",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_readme', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_readme')>",
|
||||
"docstring": "Generate README.md from the root package docstring.\n\nBehavior:\n\n- If module_is_source is True:\n README.md is generated at project root (docs_dir.parent)\n\n- If module_is_source is False:\n TODO: generate README.md inside respective module folders"
|
||||
"docstring": "Generate a ``README.md`` file from the root module docstring.\n\nBehavior:\n\n- If ``module_is_source`` is True, ``README.md`` is written to the\n project root directory.\n- If False, README generation is currently not implemented.\n\nArgs:\n project: Project model containing documentation metadata.\n docs_dir: Directory containing generated documentation sources.\n module_is_source: Whether the module is treated as the project\n source root."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -155,28 +155,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.load_nav_spec",
|
||||
"signature": "<bound method Alias.signature of Alias('load_nav_spec', 'docforge.cli.mkdocs_utils.load_nav_spec')>",
|
||||
"docstring": "Utility function to load a NavSpec from a file.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A loaded NavSpec instance."
|
||||
"docstring": "Load a navigation specification file.\n\nThis helper function reads a YAML navigation file and constructs a\ncorresponding ``NavSpec`` instance.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed specification.\n\nRaises:\n FileNotFoundError: If the specification file does not exist.\n ValueError: If the YAML structure is invalid."
|
||||
},
|
||||
"resolve_nav": {
|
||||
"name": "resolve_nav",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.resolve_nav",
|
||||
"signature": "<bound method Alias.signature of Alias('resolve_nav', 'docforge.cli.mkdocs_utils.resolve_nav')>",
|
||||
"docstring": "Create a ResolvedNav by processing a NavSpec against the filesystem.\nThis expands globs and validates the existence of referenced files.\n\nArgs:\n spec: The navigation specification to resolve.\n docs_root: The root directory for documentation files.\n\nReturns:\n A ResolvedNav instance.\n\nRaises:\n FileNotFoundError: If a pattern doesn't match any files or the docs_root doesn't exist."
|
||||
"docstring": "Resolve a navigation specification against the filesystem.\n\nThe function expands glob patterns defined in a ``NavSpec`` and verifies\nthat referenced documentation files exist within the documentation root.\n\nArgs:\n spec: Navigation specification describing documentation layout.\n docs_root: Root directory containing documentation Markdown files.\n\nReturns:\n A ``ResolvedNav`` instance containing validated navigation paths.\n\nRaises:\n FileNotFoundError: If the documentation root does not exist or a\n navigation pattern does not match any files."
|
||||
},
|
||||
"MkDocsNavEmitter": {
|
||||
"name": "MkDocsNavEmitter",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsNavEmitter",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsNavEmitter', 'docforge.cli.mkdocs_utils.MkDocsNavEmitter')>",
|
||||
"docstring": "Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible\nnavigation structure.",
|
||||
"docstring": "Emit MkDocs navigation structures from resolved navigation data.\n\nThe emitter transforms a ``ResolvedNav`` object into the YAML-compatible\nlist structure expected by the MkDocs ``nav`` configuration field.",
|
||||
"members": {
|
||||
"emit": {
|
||||
"name": "emit",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsNavEmitter.emit",
|
||||
"signature": "<bound method Alias.signature of Alias('emit', 'docforge.nav.mkdocs.MkDocsNavEmitter.emit')>",
|
||||
"docstring": "Generate a list of navigation entries for mkdocs.yml.\n\nArgs:\n nav: The resolved navigation data.\n\nReturns:\n A list of dictionary mappings representing the MkDocs navigation."
|
||||
"docstring": "Generate a navigation structure for ``mkdocs.yml``.\n\nArgs:\n nav: Resolved navigation data describing documentation groups\n and their associated Markdown files.\n\nReturns:\n A list of dictionaries representing the MkDocs navigation layout.\n Each dictionary maps a navigation label to a page or a list of\n pages."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -185,28 +185,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.cli.mkdocs_utils.generate_sources')>",
|
||||
"docstring": "Generate Markdown source files for the specified module.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n docs_dir: Directory where the generated Markdown files will be written.\n module_is_source: Module is the source folder and to be treated as the root folder."
|
||||
"docstring": "Generate MkDocs Markdown sources for a Python module.\n\nThis function introspects the specified module, builds the internal\ndocumentation model, and renders Markdown documentation files for\nuse with MkDocs.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n docs_dir: Directory where the generated Markdown files will be written.\n project_name: Optional override for the project name used in\n documentation metadata.\n module_is_source: If True, treat the specified module directory as\n the project root rather than a nested module."
|
||||
},
|
||||
"generate_config": {
|
||||
"name": "generate_config",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.generate_config",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_config', 'docforge.cli.mkdocs_utils.generate_config')>",
|
||||
"docstring": "Generate an mkdocs.yml configuration file.\n\nArgs:\n docs_dir: Path to the directory containing documentation Markdown files.\n nav_file: Path to the docforge.nav.yml specification.\n template: Optional path to an mkdocs.yml template (overrides built-in).\n out: Path where the final mkdocs.yml will be written.\n site_name: The display name for the documentation site."
|
||||
"docstring": "Generate an ``mkdocs.yml`` configuration file.\n\nThe configuration is created by combining a template configuration\nwith a navigation structure derived from the docforge navigation\nspecification.\n\nArgs:\n docs_dir: Directory containing generated documentation Markdown files.\n nav_file: Path to the ``docforge.nav.yml`` navigation specification.\n template: Optional path to a custom MkDocs configuration template.\n If not provided, a built-in template will be used.\n out: Destination path where the generated ``mkdocs.yml`` file\n will be written.\n site_name: Display name for the generated documentation site.\n\nRaises:\n click.FileError: If the navigation specification or template\n file cannot be found."
|
||||
},
|
||||
"build": {
|
||||
"name": "build",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.build",
|
||||
"signature": "<bound method Alias.signature of Alias('build', 'docforge.cli.mkdocs_utils.build')>",
|
||||
"docstring": "Build the documentation site using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"docstring": "Build the MkDocs documentation site.\n\nThis function loads the MkDocs configuration and runs the MkDocs\nbuild command to generate the final static documentation site.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.serve",
|
||||
"signature": "<bound method Alias.signature of Alias('serve', 'docforge.cli.mkdocs_utils.serve')>",
|
||||
"docstring": "Serve the documentation site with live-reload using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"docstring": "Start an MkDocs development server with live reload.\n\nThe server watches documentation files and automatically reloads\nthe site when changes are detected.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -236,21 +236,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mcp_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.cli.mcp_utils.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -259,14 +259,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.cli.mcp_utils.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MCPRenderer": {
|
||||
"name": "MCPRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPRenderer', 'docforge.cli.mcp_utils.MCPRenderer')>",
|
||||
"docstring": "Renderer that emits MCP-native JSON resources from docforge models.",
|
||||
"docstring": "Renderer that generates MCP-compatible documentation resources.\n\nThis renderer converts doc-forge project models into structured JSON\nresources suitable for consumption by systems implementing the Model\nContext Protocol (MCP).",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -280,7 +280,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mcp_renderer.MCPRenderer.generate_sources')>",
|
||||
"docstring": "Generate MCP-compatible JSON resources and navigation for the project.\n\nArgs:\n project: The project model to render.\n out_dir: Target directory for the generated JSON files."
|
||||
"docstring": "Generate MCP documentation resources for a project.\n\nThe renderer serializes each module into a JSON resource and produces\nsupporting metadata files such as ``nav.json`` and ``index.json``.\n\nArgs:\n project: Documentation project model to render.\n out_dir: Directory where MCP resources will be written."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -289,7 +289,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPServer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPServer', 'docforge.cli.mcp_utils.MCPServer')>",
|
||||
"docstring": "MCP server for serving a pre-built MCP documentation bundle.",
|
||||
"docstring": "MCP server for serving a pre-generated documentation bundle.\n\nThe server exposes documentation resources and diagnostic tools through\nMCP endpoints backed by JSON files generated by the MCP renderer.",
|
||||
"members": {
|
||||
"mcp_root": {
|
||||
"name": "mcp_root",
|
||||
@@ -310,7 +310,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPServer.run",
|
||||
"signature": "<bound method Alias.signature of Alias('run', 'docforge.servers.mcp_server.MCPServer.run')>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: MCP transport (default: streamable-http)"
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: Transport mechanism used by the MCP server. Supported\n options include ``stdio``, ``sse``, and ``streamable-http``."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -319,14 +319,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.generate_resources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_resources', 'docforge.cli.mcp_utils.generate_resources')>",
|
||||
"docstring": "Generate MCP-compatible documentation resources.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n out_dir: Directory where the MCP JSON resources and nav will be written."
|
||||
"docstring": "Generate MCP documentation resources from a Python module.\n\nThe function performs project introspection, builds the internal\ndocumentation model, and renders MCP-compatible JSON resources\nto the specified output directory.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n project_name: Optional override for the project name used in\n generated documentation metadata.\n out_dir: Directory where MCP resources (index.json, nav.json,\n and module data) will be written."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.serve",
|
||||
"signature": "<bound method Alias.signature of Alias('serve', 'docforge.cli.mcp_utils.serve')>",
|
||||
"docstring": "Serve MCP documentation from a pre-built bundle.\n\nArgs:\n module: The dotted path of the primary module to serve.\n mcp_root: Path to the directory containing index.json, nav.json, and modules/."
|
||||
"docstring": "Start an MCP server for a pre-generated documentation bundle.\n\nThe server exposes documentation resources such as project metadata,\nnavigation structure, and module documentation through MCP endpoints.\n\nArgs:\n module: Python module import path used to identify the served\n documentation instance.\n mcp_root: Path to the directory containing the MCP documentation\n bundle (index.json, nav.json, and modules/).\n\nRaises:\n click.ClickException: If the MCP documentation bundle is missing\n required files or directories."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -341,22 +341,22 @@
|
||||
"name": "build",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.build",
|
||||
"signature": "<bound method Function.signature of Function('build', 18, 97)>",
|
||||
"docstring": "Build documentation (MkDocs site or MCP resources).\n\nThis command orchestrates the full build process:\n1. Introspects the code (Griffe)\n2. Renders sources (MkDocs Markdown or MCP JSON)\n3. (MkDocs only) Generates config and runs the final site build.\n\nArgs:\n mcp: Use the MCP documentation builder.\n mkdocs: Use the MkDocs documentation builder.\n module_is_source: Module is the source folder and to be treated as the root folder.\n module: The dotted path of the module to the document.\n project_name: Optional override for the project name.\n site_name: (MkDocs) The site display name. Defaults to module name.\n docs_dir: (MkDocs) Target directory for Markdown sources.\n nav_file: (MkDocs) Path to the docforge.nav.yml specification.\n template: (MkDocs) Optional custom mkdocs.yml template.\n mkdocs_yml: (MkDocs) Target path for the generated mkdocs.yml.\n out_dir: (MCP) Target directory for MCP JSON resources."
|
||||
"signature": "<bound method Function.signature of Function('build', 20, 108)>",
|
||||
"docstring": "Build documentation artifacts.\n\nThis command performs the full documentation build pipeline:\n\n1. Introspects the Python project using Griffe\n2. Generates renderer-specific documentation sources\n3. Optionally builds the final documentation output\n\nDepending on the selected options, the build can target:\n\n- MkDocs static documentation sites\n- MCP structured documentation resources\n\nArgs:\n mcp: Enable MCP documentation generation.\n mkdocs: Enable MkDocs documentation generation.\n module_is_source: Treat the specified module directory as the\n project root.\n module: Python module import path to document.\n project_name: Optional override for the project name.\n site_name: Display name for the MkDocs site.\n docs_dir: Directory where Markdown documentation sources\n will be generated.\n nav_file: Path to the navigation specification file.\n template: Optional custom MkDocs configuration template.\n mkdocs_yml: Output path for the generated MkDocs configuration.\n out_dir: Output directory for generated MCP resources.\n\nRaises:\n click.UsageError: If required options are missing or conflicting."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.serve",
|
||||
"signature": "<bound method Function.signature of Function('serve', 100, 133)>",
|
||||
"docstring": "Serve documentation (MkDocs or MCP).\n\nArgs:\n mcp: Serve MCP resources via an MCP server.\n mkdocs: Serve the MkDocs site using the built-in development server.\n module: The dotted path of the module to serve.\n mkdocs_yml: (MkDocs) Path to the mkdocs.yml configuration.\n out_dir: (MCP) Path to the mcp_docs/ directory."
|
||||
"signature": "<bound method Function.signature of Function('serve', 111, 152)>",
|
||||
"docstring": "Serve generated documentation locally.\n\nDepending on the selected mode, this command starts either:\n\n- A MkDocs development server for browsing documentation\n- An MCP server exposing structured documentation resources\n\nArgs:\n mcp: Serve documentation using the MCP server.\n mkdocs: Serve the MkDocs development site.\n module: Python module import path to serve via MCP.\n mkdocs_yml: Path to the MkDocs configuration file.\n out_dir: Root directory containing MCP documentation resources.\n\nRaises:\n click.UsageError: If invalid or conflicting options are provided."
|
||||
},
|
||||
"tree": {
|
||||
"name": "tree",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.tree",
|
||||
"signature": "<bound method Function.signature of Function('tree', 136, 165)>",
|
||||
"docstring": "Visualize the project structure in the terminal.\n\nArgs:\n module: The module import path to recursively introspect.\n project_name: Optional override for the project name shown at the root."
|
||||
"signature": "<bound method Function.signature of Function('tree', 155, 188)>",
|
||||
"docstring": "Display the documentation object tree for a module.\n\nThis command introspects the specified module and prints a\nhierarchical representation of the discovered documentation\nobjects, including modules, classes, functions, and members.\n\nArgs:\n module: Python module import path to introspect.\n project_name: Optional name to display as the project root."
|
||||
},
|
||||
"Group": {
|
||||
"name": "Group",
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"module": "docforge.cli",
|
||||
"content": {
|
||||
"path": "docforge.cli",
|
||||
"docstring": "# CLI Layer\n\nThe `docforge.cli` package provides the command-line interface for interacting\nwith doc-forge.\n\n## Available Commands\n\n- **build**: Build documentation (MkDocs site or MCP resources).\n- **serve**: Serve documentation (MkDocs or MCP).\n- **tree**: Visualize the introspected project structure.",
|
||||
"docstring": "Command line interface entry point for doc-forge.\n\nThis module exposes the primary CLI entry function used by the\n``doc-forge`` command. The actual command implementation resides in\n``docforge.cli.main``, while this module provides a stable import path\nfor external tools and the package entry point configuration.\n\nThe CLI is responsible for orchestrating documentation workflows such as\ngenerating renderer sources, building documentation sites, exporting\nmachine-readable documentation bundles, and starting development or MCP\nservers.\n\n---\n\nTypical usage\n-------------\n\nThe CLI is normally invoked through the installed command:\n\n doc-forge <command> [options]\n\nProgrammatic invocation is also possible:\n\n from docforge.cli import main\n main()\n\n---",
|
||||
"objects": {
|
||||
"main": {
|
||||
"name": "main",
|
||||
"kind": "module",
|
||||
"path": "docforge.cli.main",
|
||||
"signature": null,
|
||||
"docstring": "Main entry point for the doc-forge CLI. This module delegates all command\nexecution to docforge.cli.commands.",
|
||||
"docstring": "Command-line entry point for the doc-forge CLI.\n\nThis module exposes the executable entry point that initializes the\nClick command group defined in ``docforge.cli.commands``.",
|
||||
"members": {
|
||||
"cli": {
|
||||
"name": "cli",
|
||||
@@ -22,8 +22,8 @@
|
||||
"name": "main",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.main.main",
|
||||
"signature": "<bound method Function.signature of Function('main', 7, 11)>",
|
||||
"docstring": "CLI Entry point. Boots the click application."
|
||||
"signature": "<bound method Function.signature of Function('main', 11, 19)>",
|
||||
"docstring": "Run the doc-forge command-line interface.\n\nThis function initializes and executes the Click CLI application.\nIt is used as the console entry point when invoking ``doc-forge``\nfrom the command line."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -67,21 +67,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.loaders.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -125,21 +125,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.cli.mkdocs_utils.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -148,14 +148,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.cli.mkdocs_utils.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MkDocsRenderer": {
|
||||
"name": "MkDocsRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsRenderer', 'docforge.cli.mkdocs_utils.MkDocsRenderer')>",
|
||||
"docstring": "Renderer that generates Markdown source files formatted for the MkDocs\n'mkdocstrings' plugin.",
|
||||
"docstring": "Renderer that produces Markdown documentation for MkDocs.\n\nGenerated pages use mkdocstrings directives to reference Python modules,\nallowing MkDocs to render API documentation dynamically.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -169,14 +169,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources')>",
|
||||
"docstring": "Produce a set of Markdown files in the output directory based on the\nprovided Project models.\n\nArgs:\n project:\n The project model to render.\n\n out_dir:\n Target directory for generated Markdown.\n\n module_is_source:\n If True, treat the module as the root folder."
|
||||
"docstring": "Generate Markdown documentation files for a project.\n\nThis method renders a documentation structure from the provided\nproject model and writes the resulting Markdown files to the\nspecified output directory.\n\nArgs:\n project: Project model containing modules to document.\n out_dir: Directory where generated Markdown files will be written.\n module_is_source: If True, treat the specified module as the\n documentation root rather than nesting it inside a folder."
|
||||
},
|
||||
"generate_readme": {
|
||||
"name": "generate_readme",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsRenderer.generate_readme",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_readme', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_readme')>",
|
||||
"docstring": "Generate README.md from the root package docstring.\n\nBehavior:\n\n- If module_is_source is True:\n README.md is generated at project root (docs_dir.parent)\n\n- If module_is_source is False:\n TODO: generate README.md inside respective module folders"
|
||||
"docstring": "Generate a ``README.md`` file from the root module docstring.\n\nBehavior:\n\n- If ``module_is_source`` is True, ``README.md`` is written to the\n project root directory.\n- If False, README generation is currently not implemented.\n\nArgs:\n project: Project model containing documentation metadata.\n docs_dir: Directory containing generated documentation sources.\n module_is_source: Whether the module is treated as the project\n source root."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -185,28 +185,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.load_nav_spec",
|
||||
"signature": "<bound method Alias.signature of Alias('load_nav_spec', 'docforge.cli.mkdocs_utils.load_nav_spec')>",
|
||||
"docstring": "Utility function to load a NavSpec from a file.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A loaded NavSpec instance."
|
||||
"docstring": "Load a navigation specification file.\n\nThis helper function reads a YAML navigation file and constructs a\ncorresponding ``NavSpec`` instance.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed specification.\n\nRaises:\n FileNotFoundError: If the specification file does not exist.\n ValueError: If the YAML structure is invalid."
|
||||
},
|
||||
"resolve_nav": {
|
||||
"name": "resolve_nav",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.resolve_nav",
|
||||
"signature": "<bound method Alias.signature of Alias('resolve_nav', 'docforge.cli.mkdocs_utils.resolve_nav')>",
|
||||
"docstring": "Create a ResolvedNav by processing a NavSpec against the filesystem.\nThis expands globs and validates the existence of referenced files.\n\nArgs:\n spec: The navigation specification to resolve.\n docs_root: The root directory for documentation files.\n\nReturns:\n A ResolvedNav instance.\n\nRaises:\n FileNotFoundError: If a pattern doesn't match any files or the docs_root doesn't exist."
|
||||
"docstring": "Resolve a navigation specification against the filesystem.\n\nThe function expands glob patterns defined in a ``NavSpec`` and verifies\nthat referenced documentation files exist within the documentation root.\n\nArgs:\n spec: Navigation specification describing documentation layout.\n docs_root: Root directory containing documentation Markdown files.\n\nReturns:\n A ``ResolvedNav`` instance containing validated navigation paths.\n\nRaises:\n FileNotFoundError: If the documentation root does not exist or a\n navigation pattern does not match any files."
|
||||
},
|
||||
"MkDocsNavEmitter": {
|
||||
"name": "MkDocsNavEmitter",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsNavEmitter",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsNavEmitter', 'docforge.cli.mkdocs_utils.MkDocsNavEmitter')>",
|
||||
"docstring": "Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible\nnavigation structure.",
|
||||
"docstring": "Emit MkDocs navigation structures from resolved navigation data.\n\nThe emitter transforms a ``ResolvedNav`` object into the YAML-compatible\nlist structure expected by the MkDocs ``nav`` configuration field.",
|
||||
"members": {
|
||||
"emit": {
|
||||
"name": "emit",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.MkDocsNavEmitter.emit",
|
||||
"signature": "<bound method Alias.signature of Alias('emit', 'docforge.nav.mkdocs.MkDocsNavEmitter.emit')>",
|
||||
"docstring": "Generate a list of navigation entries for mkdocs.yml.\n\nArgs:\n nav: The resolved navigation data.\n\nReturns:\n A list of dictionary mappings representing the MkDocs navigation."
|
||||
"docstring": "Generate a navigation structure for ``mkdocs.yml``.\n\nArgs:\n nav: Resolved navigation data describing documentation groups\n and their associated Markdown files.\n\nReturns:\n A list of dictionaries representing the MkDocs navigation layout.\n Each dictionary maps a navigation label to a page or a list of\n pages."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -215,28 +215,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.cli.mkdocs_utils.generate_sources')>",
|
||||
"docstring": "Generate Markdown source files for the specified module.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n docs_dir: Directory where the generated Markdown files will be written.\n module_is_source: Module is the source folder and to be treated as the root folder."
|
||||
"docstring": "Generate MkDocs Markdown sources for a Python module.\n\nThis function introspects the specified module, builds the internal\ndocumentation model, and renders Markdown documentation files for\nuse with MkDocs.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n docs_dir: Directory where the generated Markdown files will be written.\n project_name: Optional override for the project name used in\n documentation metadata.\n module_is_source: If True, treat the specified module directory as\n the project root rather than a nested module."
|
||||
},
|
||||
"generate_config": {
|
||||
"name": "generate_config",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.generate_config",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_config', 'docforge.cli.mkdocs_utils.generate_config')>",
|
||||
"docstring": "Generate an mkdocs.yml configuration file.\n\nArgs:\n docs_dir: Path to the directory containing documentation Markdown files.\n nav_file: Path to the docforge.nav.yml specification.\n template: Optional path to an mkdocs.yml template (overrides built-in).\n out: Path where the final mkdocs.yml will be written.\n site_name: The display name for the documentation site."
|
||||
"docstring": "Generate an ``mkdocs.yml`` configuration file.\n\nThe configuration is created by combining a template configuration\nwith a navigation structure derived from the docforge navigation\nspecification.\n\nArgs:\n docs_dir: Directory containing generated documentation Markdown files.\n nav_file: Path to the ``docforge.nav.yml`` navigation specification.\n template: Optional path to a custom MkDocs configuration template.\n If not provided, a built-in template will be used.\n out: Destination path where the generated ``mkdocs.yml`` file\n will be written.\n site_name: Display name for the generated documentation site.\n\nRaises:\n click.FileError: If the navigation specification or template\n file cannot be found."
|
||||
},
|
||||
"build": {
|
||||
"name": "build",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.build",
|
||||
"signature": "<bound method Alias.signature of Alias('build', 'docforge.cli.mkdocs_utils.build')>",
|
||||
"docstring": "Build the documentation site using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"docstring": "Build the MkDocs documentation site.\n\nThis function loads the MkDocs configuration and runs the MkDocs\nbuild command to generate the final static documentation site.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mkdocs_utils.serve",
|
||||
"signature": "<bound method Alias.signature of Alias('serve', 'docforge.cli.mkdocs_utils.serve')>",
|
||||
"docstring": "Serve the documentation site with live-reload using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"docstring": "Start an MkDocs development server with live reload.\n\nThe server watches documentation files and automatically reloads\nthe site when changes are detected.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -266,21 +266,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mcp_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.cli.mcp_utils.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -289,14 +289,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.cli.mcp_utils.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MCPRenderer": {
|
||||
"name": "MCPRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPRenderer', 'docforge.cli.mcp_utils.MCPRenderer')>",
|
||||
"docstring": "Renderer that emits MCP-native JSON resources from docforge models.",
|
||||
"docstring": "Renderer that generates MCP-compatible documentation resources.\n\nThis renderer converts doc-forge project models into structured JSON\nresources suitable for consumption by systems implementing the Model\nContext Protocol (MCP).",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -310,7 +310,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mcp_renderer.MCPRenderer.generate_sources')>",
|
||||
"docstring": "Generate MCP-compatible JSON resources and navigation for the project.\n\nArgs:\n project: The project model to render.\n out_dir: Target directory for the generated JSON files."
|
||||
"docstring": "Generate MCP documentation resources for a project.\n\nThe renderer serializes each module into a JSON resource and produces\nsupporting metadata files such as ``nav.json`` and ``index.json``.\n\nArgs:\n project: Documentation project model to render.\n out_dir: Directory where MCP resources will be written."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -319,7 +319,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPServer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPServer', 'docforge.cli.mcp_utils.MCPServer')>",
|
||||
"docstring": "MCP server for serving a pre-built MCP documentation bundle.",
|
||||
"docstring": "MCP server for serving a pre-generated documentation bundle.\n\nThe server exposes documentation resources and diagnostic tools through\nMCP endpoints backed by JSON files generated by the MCP renderer.",
|
||||
"members": {
|
||||
"mcp_root": {
|
||||
"name": "mcp_root",
|
||||
@@ -340,7 +340,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.MCPServer.run",
|
||||
"signature": "<bound method Alias.signature of Alias('run', 'docforge.servers.mcp_server.MCPServer.run')>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: MCP transport (default: streamable-http)"
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: Transport mechanism used by the MCP server. Supported\n options include ``stdio``, ``sse``, and ``streamable-http``."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -349,14 +349,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.generate_resources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_resources', 'docforge.cli.mcp_utils.generate_resources')>",
|
||||
"docstring": "Generate MCP-compatible documentation resources.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n out_dir: Directory where the MCP JSON resources and nav will be written."
|
||||
"docstring": "Generate MCP documentation resources from a Python module.\n\nThe function performs project introspection, builds the internal\ndocumentation model, and renders MCP-compatible JSON resources\nto the specified output directory.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n project_name: Optional override for the project name used in\n generated documentation metadata.\n out_dir: Directory where MCP resources (index.json, nav.json,\n and module data) will be written."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.mcp_utils.serve",
|
||||
"signature": "<bound method Alias.signature of Alias('serve', 'docforge.cli.mcp_utils.serve')>",
|
||||
"docstring": "Serve MCP documentation from a pre-built bundle.\n\nArgs:\n module: The dotted path of the primary module to serve.\n mcp_root: Path to the directory containing index.json, nav.json, and modules/."
|
||||
"docstring": "Start an MCP server for a pre-generated documentation bundle.\n\nThe server exposes documentation resources such as project metadata,\nnavigation structure, and module documentation through MCP endpoints.\n\nArgs:\n module: Python module import path used to identify the served\n documentation instance.\n mcp_root: Path to the directory containing the MCP documentation\n bundle (index.json, nav.json, and modules/).\n\nRaises:\n click.ClickException: If the MCP documentation bundle is missing\n required files or directories."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -371,22 +371,22 @@
|
||||
"name": "build",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.build",
|
||||
"signature": "<bound method Function.signature of Function('build', 18, 97)>",
|
||||
"docstring": "Build documentation (MkDocs site or MCP resources).\n\nThis command orchestrates the full build process:\n1. Introspects the code (Griffe)\n2. Renders sources (MkDocs Markdown or MCP JSON)\n3. (MkDocs only) Generates config and runs the final site build.\n\nArgs:\n mcp: Use the MCP documentation builder.\n mkdocs: Use the MkDocs documentation builder.\n module_is_source: Module is the source folder and to be treated as the root folder.\n module: The dotted path of the module to the document.\n project_name: Optional override for the project name.\n site_name: (MkDocs) The site display name. Defaults to module name.\n docs_dir: (MkDocs) Target directory for Markdown sources.\n nav_file: (MkDocs) Path to the docforge.nav.yml specification.\n template: (MkDocs) Optional custom mkdocs.yml template.\n mkdocs_yml: (MkDocs) Target path for the generated mkdocs.yml.\n out_dir: (MCP) Target directory for MCP JSON resources."
|
||||
"signature": "<bound method Function.signature of Function('build', 20, 108)>",
|
||||
"docstring": "Build documentation artifacts.\n\nThis command performs the full documentation build pipeline:\n\n1. Introspects the Python project using Griffe\n2. Generates renderer-specific documentation sources\n3. Optionally builds the final documentation output\n\nDepending on the selected options, the build can target:\n\n- MkDocs static documentation sites\n- MCP structured documentation resources\n\nArgs:\n mcp: Enable MCP documentation generation.\n mkdocs: Enable MkDocs documentation generation.\n module_is_source: Treat the specified module directory as the\n project root.\n module: Python module import path to document.\n project_name: Optional override for the project name.\n site_name: Display name for the MkDocs site.\n docs_dir: Directory where Markdown documentation sources\n will be generated.\n nav_file: Path to the navigation specification file.\n template: Optional custom MkDocs configuration template.\n mkdocs_yml: Output path for the generated MkDocs configuration.\n out_dir: Output directory for generated MCP resources.\n\nRaises:\n click.UsageError: If required options are missing or conflicting."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.serve",
|
||||
"signature": "<bound method Function.signature of Function('serve', 100, 133)>",
|
||||
"docstring": "Serve documentation (MkDocs or MCP).\n\nArgs:\n mcp: Serve MCP resources via an MCP server.\n mkdocs: Serve the MkDocs site using the built-in development server.\n module: The dotted path of the module to serve.\n mkdocs_yml: (MkDocs) Path to the mkdocs.yml configuration.\n out_dir: (MCP) Path to the mcp_docs/ directory."
|
||||
"signature": "<bound method Function.signature of Function('serve', 111, 152)>",
|
||||
"docstring": "Serve generated documentation locally.\n\nDepending on the selected mode, this command starts either:\n\n- A MkDocs development server for browsing documentation\n- An MCP server exposing structured documentation resources\n\nArgs:\n mcp: Serve documentation using the MCP server.\n mkdocs: Serve the MkDocs development site.\n module: Python module import path to serve via MCP.\n mkdocs_yml: Path to the MkDocs configuration file.\n out_dir: Root directory containing MCP documentation resources.\n\nRaises:\n click.UsageError: If invalid or conflicting options are provided."
|
||||
},
|
||||
"tree": {
|
||||
"name": "tree",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.commands.tree",
|
||||
"signature": "<bound method Function.signature of Function('tree', 136, 165)>",
|
||||
"docstring": "Visualize the project structure in the terminal.\n\nArgs:\n module: The module import path to recursively introspect.\n project_name: Optional override for the project name shown at the root."
|
||||
"signature": "<bound method Function.signature of Function('tree', 155, 188)>",
|
||||
"docstring": "Display the documentation object tree for a module.\n\nThis command introspects the specified module and prints a\nhierarchical representation of the discovered documentation\nobjects, including modules, classes, functions, and members.\n\nArgs:\n module: Python module import path to introspect.\n project_name: Optional name to display as the project root."
|
||||
},
|
||||
"Group": {
|
||||
"name": "Group",
|
||||
@@ -430,21 +430,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mcp_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.loaders.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -453,14 +453,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.loaders.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MCPRenderer": {
|
||||
"name": "MCPRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mcp_utils.MCPRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPRenderer', 'docforge.renderers.MCPRenderer')>",
|
||||
"docstring": "Renderer that emits MCP-native JSON resources from docforge models.",
|
||||
"docstring": "Renderer that generates MCP-compatible documentation resources.\n\nThis renderer converts doc-forge project models into structured JSON\nresources suitable for consumption by systems implementing the Model\nContext Protocol (MCP).",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -474,7 +474,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.MCPRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mcp_renderer.MCPRenderer.generate_sources')>",
|
||||
"docstring": "Generate MCP-compatible JSON resources and navigation for the project.\n\nArgs:\n project: The project model to render.\n out_dir: Target directory for the generated JSON files."
|
||||
"docstring": "Generate MCP documentation resources for a project.\n\nThe renderer serializes each module into a JSON resource and produces\nsupporting metadata files such as ``nav.json`` and ``index.json``.\n\nArgs:\n project: Documentation project model to render.\n out_dir: Directory where MCP resources will be written."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -483,7 +483,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mcp_utils.MCPServer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPServer', 'docforge.servers.MCPServer')>",
|
||||
"docstring": "MCP server for serving a pre-built MCP documentation bundle.",
|
||||
"docstring": "MCP server for serving a pre-generated documentation bundle.\n\nThe server exposes documentation resources and diagnostic tools through\nMCP endpoints backed by JSON files generated by the MCP renderer.",
|
||||
"members": {
|
||||
"mcp_root": {
|
||||
"name": "mcp_root",
|
||||
@@ -504,7 +504,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.MCPServer.run",
|
||||
"signature": "<bound method Alias.signature of Alias('run', 'docforge.servers.mcp_server.MCPServer.run')>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: MCP transport (default: streamable-http)"
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: Transport mechanism used by the MCP server. Supported\n options include ``stdio``, ``sse``, and ``streamable-http``."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -512,15 +512,15 @@
|
||||
"name": "generate_resources",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.generate_resources",
|
||||
"signature": "<bound method Function.signature of Function('generate_resources', 7, 21)>",
|
||||
"docstring": "Generate MCP-compatible documentation resources.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n out_dir: Directory where the MCP JSON resources and nav will be written."
|
||||
"signature": "<bound method Function.signature of Function('generate_resources', 8, 29)>",
|
||||
"docstring": "Generate MCP documentation resources from a Python module.\n\nThe function performs project introspection, builds the internal\ndocumentation model, and renders MCP-compatible JSON resources\nto the specified output directory.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n project_name: Optional override for the project name used in\n generated documentation metadata.\n out_dir: Directory where MCP resources (index.json, nav.json,\n and module data) will be written."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.serve",
|
||||
"signature": "<bound method Function.signature of Function('serve', 23, 48)>",
|
||||
"docstring": "Serve MCP documentation from a pre-built bundle.\n\nArgs:\n module: The dotted path of the primary module to serve.\n mcp_root: Path to the directory containing index.json, nav.json, and modules/."
|
||||
"signature": "<bound method Function.signature of Function('serve', 32, 66)>",
|
||||
"docstring": "Start an MCP server for a pre-generated documentation bundle.\n\nThe server exposes documentation resources such as project metadata,\nnavigation structure, and module documentation through MCP endpoints.\n\nArgs:\n module: Python module import path used to identify the served\n documentation instance.\n mcp_root: Path to the directory containing the MCP documentation\n bundle (index.json, nav.json, and modules/).\n\nRaises:\n click.ClickException: If the MCP documentation bundle is missing\n required files or directories."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -564,21 +564,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mkdocs_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.loaders.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -587,14 +587,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.loaders.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MkDocsRenderer": {
|
||||
"name": "MkDocsRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsRenderer', 'docforge.renderers.MkDocsRenderer')>",
|
||||
"docstring": "Renderer that generates Markdown source files formatted for the MkDocs\n'mkdocstrings' plugin.",
|
||||
"docstring": "Renderer that produces Markdown documentation for MkDocs.\n\nGenerated pages use mkdocstrings directives to reference Python modules,\nallowing MkDocs to render API documentation dynamically.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -608,14 +608,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources')>",
|
||||
"docstring": "Produce a set of Markdown files in the output directory based on the\nprovided Project models.\n\nArgs:\n project:\n The project model to render.\n\n out_dir:\n Target directory for generated Markdown.\n\n module_is_source:\n If True, treat the module as the root folder."
|
||||
"docstring": "Generate Markdown documentation files for a project.\n\nThis method renders a documentation structure from the provided\nproject model and writes the resulting Markdown files to the\nspecified output directory.\n\nArgs:\n project: Project model containing modules to document.\n out_dir: Directory where generated Markdown files will be written.\n module_is_source: If True, treat the specified module as the\n documentation root rather than nesting it inside a folder."
|
||||
},
|
||||
"generate_readme": {
|
||||
"name": "generate_readme",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsRenderer.generate_readme",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_readme', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_readme')>",
|
||||
"docstring": "Generate README.md from the root package docstring.\n\nBehavior:\n\n- If module_is_source is True:\n README.md is generated at project root (docs_dir.parent)\n\n- If module_is_source is False:\n TODO: generate README.md inside respective module folders"
|
||||
"docstring": "Generate a ``README.md`` file from the root module docstring.\n\nBehavior:\n\n- If ``module_is_source`` is True, ``README.md`` is written to the\n project root directory.\n- If False, README generation is currently not implemented.\n\nArgs:\n project: Project model containing documentation metadata.\n docs_dir: Directory containing generated documentation sources.\n module_is_source: Whether the module is treated as the project\n source root."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -624,28 +624,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.load_nav_spec",
|
||||
"signature": "<bound method Alias.signature of Alias('load_nav_spec', 'docforge.nav.load_nav_spec')>",
|
||||
"docstring": "Utility function to load a NavSpec from a file.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A loaded NavSpec instance."
|
||||
"docstring": "Load a navigation specification file.\n\nThis helper function reads a YAML navigation file and constructs a\ncorresponding ``NavSpec`` instance.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed specification.\n\nRaises:\n FileNotFoundError: If the specification file does not exist.\n ValueError: If the YAML structure is invalid."
|
||||
},
|
||||
"resolve_nav": {
|
||||
"name": "resolve_nav",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.resolve_nav",
|
||||
"signature": "<bound method Alias.signature of Alias('resolve_nav', 'docforge.nav.resolve_nav')>",
|
||||
"docstring": "Create a ResolvedNav by processing a NavSpec against the filesystem.\nThis expands globs and validates the existence of referenced files.\n\nArgs:\n spec: The navigation specification to resolve.\n docs_root: The root directory for documentation files.\n\nReturns:\n A ResolvedNav instance.\n\nRaises:\n FileNotFoundError: If a pattern doesn't match any files or the docs_root doesn't exist."
|
||||
"docstring": "Resolve a navigation specification against the filesystem.\n\nThe function expands glob patterns defined in a ``NavSpec`` and verifies\nthat referenced documentation files exist within the documentation root.\n\nArgs:\n spec: Navigation specification describing documentation layout.\n docs_root: Root directory containing documentation Markdown files.\n\nReturns:\n A ``ResolvedNav`` instance containing validated navigation paths.\n\nRaises:\n FileNotFoundError: If the documentation root does not exist or a\n navigation pattern does not match any files."
|
||||
},
|
||||
"MkDocsNavEmitter": {
|
||||
"name": "MkDocsNavEmitter",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsNavEmitter",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsNavEmitter', 'docforge.nav.MkDocsNavEmitter')>",
|
||||
"docstring": "Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible\nnavigation structure.",
|
||||
"docstring": "Emit MkDocs navigation structures from resolved navigation data.\n\nThe emitter transforms a ``ResolvedNav`` object into the YAML-compatible\nlist structure expected by the MkDocs ``nav`` configuration field.",
|
||||
"members": {
|
||||
"emit": {
|
||||
"name": "emit",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsNavEmitter.emit",
|
||||
"signature": "<bound method Alias.signature of Alias('emit', 'docforge.nav.mkdocs.MkDocsNavEmitter.emit')>",
|
||||
"docstring": "Generate a list of navigation entries for mkdocs.yml.\n\nArgs:\n nav: The resolved navigation data.\n\nReturns:\n A list of dictionary mappings representing the MkDocs navigation."
|
||||
"docstring": "Generate a navigation structure for ``mkdocs.yml``.\n\nArgs:\n nav: Resolved navigation data describing documentation groups\n and their associated Markdown files.\n\nReturns:\n A list of dictionaries representing the MkDocs navigation layout.\n Each dictionary maps a navigation label to a page or a list of\n pages."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -653,29 +653,29 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 9, 39)>",
|
||||
"docstring": "Generate Markdown source files for the specified module.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n docs_dir: Directory where the generated Markdown files will be written.\n module_is_source: Module is the source folder and to be treated as the root folder."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 10, 47)>",
|
||||
"docstring": "Generate MkDocs Markdown sources for a Python module.\n\nThis function introspects the specified module, builds the internal\ndocumentation model, and renders Markdown documentation files for\nuse with MkDocs.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n docs_dir: Directory where the generated Markdown files will be written.\n project_name: Optional override for the project name used in\n documentation metadata.\n module_is_source: If True, treat the specified module directory as\n the project root rather than a nested module."
|
||||
},
|
||||
"generate_config": {
|
||||
"name": "generate_config",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.generate_config",
|
||||
"signature": "<bound method Function.signature of Function('generate_config', 41, 75)>",
|
||||
"docstring": "Generate an mkdocs.yml configuration file.\n\nArgs:\n docs_dir: Path to the directory containing documentation Markdown files.\n nav_file: Path to the docforge.nav.yml specification.\n template: Optional path to an mkdocs.yml template (overrides built-in).\n out: Path where the final mkdocs.yml will be written.\n site_name: The display name for the documentation site."
|
||||
"signature": "<bound method Function.signature of Function('generate_config', 50, 100)>",
|
||||
"docstring": "Generate an ``mkdocs.yml`` configuration file.\n\nThe configuration is created by combining a template configuration\nwith a navigation structure derived from the docforge navigation\nspecification.\n\nArgs:\n docs_dir: Directory containing generated documentation Markdown files.\n nav_file: Path to the ``docforge.nav.yml`` navigation specification.\n template: Optional path to a custom MkDocs configuration template.\n If not provided, a built-in template will be used.\n out: Destination path where the generated ``mkdocs.yml`` file\n will be written.\n site_name: Display name for the generated documentation site.\n\nRaises:\n click.FileError: If the navigation specification or template\n file cannot be found."
|
||||
},
|
||||
"build": {
|
||||
"name": "build",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.build",
|
||||
"signature": "<bound method Function.signature of Function('build', 77, 90)>",
|
||||
"docstring": "Build the documentation site using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"signature": "<bound method Function.signature of Function('build', 103, 122)>",
|
||||
"docstring": "Build the MkDocs documentation site.\n\nThis function loads the MkDocs configuration and runs the MkDocs\nbuild command to generate the final static documentation site.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.serve",
|
||||
"signature": "<bound method Function.signature of Function('serve', 92, 103)>",
|
||||
"docstring": "Serve the documentation site with live-reload using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"signature": "<bound method Function.signature of Function('serve', 125, 142)>",
|
||||
"docstring": "Start an MkDocs development server with live reload.\n\nThe server watches documentation files and automatically reloads\nthe site when changes are detected.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.cli.main",
|
||||
"content": {
|
||||
"path": "docforge.cli.main",
|
||||
"docstring": "Main entry point for the doc-forge CLI. This module delegates all command\nexecution to docforge.cli.commands.",
|
||||
"docstring": "Command-line entry point for the doc-forge CLI.\n\nThis module exposes the executable entry point that initializes the\nClick command group defined in ``docforge.cli.commands``.",
|
||||
"objects": {
|
||||
"cli": {
|
||||
"name": "cli",
|
||||
@@ -15,8 +15,8 @@
|
||||
"name": "main",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.main.main",
|
||||
"signature": "<bound method Function.signature of Function('main', 7, 11)>",
|
||||
"docstring": "CLI Entry point. Boots the click application."
|
||||
"signature": "<bound method Function.signature of Function('main', 11, 19)>",
|
||||
"docstring": "Run the doc-forge command-line interface.\n\nThis function initializes and executes the Click CLI application.\nIt is used as the console entry point when invoking ``doc-forge``\nfrom the command line."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,21 +23,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mcp_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.loaders.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -46,14 +46,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.loaders.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MCPRenderer": {
|
||||
"name": "MCPRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mcp_utils.MCPRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPRenderer', 'docforge.renderers.MCPRenderer')>",
|
||||
"docstring": "Renderer that emits MCP-native JSON resources from docforge models.",
|
||||
"docstring": "Renderer that generates MCP-compatible documentation resources.\n\nThis renderer converts doc-forge project models into structured JSON\nresources suitable for consumption by systems implementing the Model\nContext Protocol (MCP).",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -67,7 +67,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.MCPRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mcp_renderer.MCPRenderer.generate_sources')>",
|
||||
"docstring": "Generate MCP-compatible JSON resources and navigation for the project.\n\nArgs:\n project: The project model to render.\n out_dir: Target directory for the generated JSON files."
|
||||
"docstring": "Generate MCP documentation resources for a project.\n\nThe renderer serializes each module into a JSON resource and produces\nsupporting metadata files such as ``nav.json`` and ``index.json``.\n\nArgs:\n project: Documentation project model to render.\n out_dir: Directory where MCP resources will be written."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -76,7 +76,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mcp_utils.MCPServer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPServer', 'docforge.servers.MCPServer')>",
|
||||
"docstring": "MCP server for serving a pre-built MCP documentation bundle.",
|
||||
"docstring": "MCP server for serving a pre-generated documentation bundle.\n\nThe server exposes documentation resources and diagnostic tools through\nMCP endpoints backed by JSON files generated by the MCP renderer.",
|
||||
"members": {
|
||||
"mcp_root": {
|
||||
"name": "mcp_root",
|
||||
@@ -97,7 +97,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.MCPServer.run",
|
||||
"signature": "<bound method Alias.signature of Alias('run', 'docforge.servers.mcp_server.MCPServer.run')>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: MCP transport (default: streamable-http)"
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: Transport mechanism used by the MCP server. Supported\n options include ``stdio``, ``sse``, and ``streamable-http``."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -105,15 +105,15 @@
|
||||
"name": "generate_resources",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.generate_resources",
|
||||
"signature": "<bound method Function.signature of Function('generate_resources', 7, 21)>",
|
||||
"docstring": "Generate MCP-compatible documentation resources.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n out_dir: Directory where the MCP JSON resources and nav will be written."
|
||||
"signature": "<bound method Function.signature of Function('generate_resources', 8, 29)>",
|
||||
"docstring": "Generate MCP documentation resources from a Python module.\n\nThe function performs project introspection, builds the internal\ndocumentation model, and renders MCP-compatible JSON resources\nto the specified output directory.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n project_name: Optional override for the project name used in\n generated documentation metadata.\n out_dir: Directory where MCP resources (index.json, nav.json,\n and module data) will be written."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mcp_utils.serve",
|
||||
"signature": "<bound method Function.signature of Function('serve', 23, 48)>",
|
||||
"docstring": "Serve MCP documentation from a pre-built bundle.\n\nArgs:\n module: The dotted path of the primary module to serve.\n mcp_root: Path to the directory containing index.json, nav.json, and modules/."
|
||||
"signature": "<bound method Function.signature of Function('serve', 32, 66)>",
|
||||
"docstring": "Start an MCP server for a pre-generated documentation bundle.\n\nThe server exposes documentation resources such as project metadata,\nnavigation structure, and module documentation through MCP endpoints.\n\nArgs:\n module: Python module import path used to identify the served\n documentation instance.\n mcp_root: Path to the directory containing the MCP documentation\n bundle (index.json, nav.json, and modules/).\n\nRaises:\n click.ClickException: If the MCP documentation bundle is missing\n required files or directories."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,21 +37,21 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mkdocs_utils.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.loaders.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -60,14 +60,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.loaders.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"MkDocsRenderer": {
|
||||
"name": "MkDocsRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsRenderer', 'docforge.renderers.MkDocsRenderer')>",
|
||||
"docstring": "Renderer that generates Markdown source files formatted for the MkDocs\n'mkdocstrings' plugin.",
|
||||
"docstring": "Renderer that produces Markdown documentation for MkDocs.\n\nGenerated pages use mkdocstrings directives to reference Python modules,\nallowing MkDocs to render API documentation dynamically.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -81,14 +81,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources')>",
|
||||
"docstring": "Produce a set of Markdown files in the output directory based on the\nprovided Project models.\n\nArgs:\n project:\n The project model to render.\n\n out_dir:\n Target directory for generated Markdown.\n\n module_is_source:\n If True, treat the module as the root folder."
|
||||
"docstring": "Generate Markdown documentation files for a project.\n\nThis method renders a documentation structure from the provided\nproject model and writes the resulting Markdown files to the\nspecified output directory.\n\nArgs:\n project: Project model containing modules to document.\n out_dir: Directory where generated Markdown files will be written.\n module_is_source: If True, treat the specified module as the\n documentation root rather than nesting it inside a folder."
|
||||
},
|
||||
"generate_readme": {
|
||||
"name": "generate_readme",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsRenderer.generate_readme",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_readme', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_readme')>",
|
||||
"docstring": "Generate README.md from the root package docstring.\n\nBehavior:\n\n- If module_is_source is True:\n README.md is generated at project root (docs_dir.parent)\n\n- If module_is_source is False:\n TODO: generate README.md inside respective module folders"
|
||||
"docstring": "Generate a ``README.md`` file from the root module docstring.\n\nBehavior:\n\n- If ``module_is_source`` is True, ``README.md`` is written to the\n project root directory.\n- If False, README generation is currently not implemented.\n\nArgs:\n project: Project model containing documentation metadata.\n docs_dir: Directory containing generated documentation sources.\n module_is_source: Whether the module is treated as the project\n source root."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -97,28 +97,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.load_nav_spec",
|
||||
"signature": "<bound method Alias.signature of Alias('load_nav_spec', 'docforge.nav.load_nav_spec')>",
|
||||
"docstring": "Utility function to load a NavSpec from a file.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A loaded NavSpec instance."
|
||||
"docstring": "Load a navigation specification file.\n\nThis helper function reads a YAML navigation file and constructs a\ncorresponding ``NavSpec`` instance.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed specification.\n\nRaises:\n FileNotFoundError: If the specification file does not exist.\n ValueError: If the YAML structure is invalid."
|
||||
},
|
||||
"resolve_nav": {
|
||||
"name": "resolve_nav",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.resolve_nav",
|
||||
"signature": "<bound method Alias.signature of Alias('resolve_nav', 'docforge.nav.resolve_nav')>",
|
||||
"docstring": "Create a ResolvedNav by processing a NavSpec against the filesystem.\nThis expands globs and validates the existence of referenced files.\n\nArgs:\n spec: The navigation specification to resolve.\n docs_root: The root directory for documentation files.\n\nReturns:\n A ResolvedNav instance.\n\nRaises:\n FileNotFoundError: If a pattern doesn't match any files or the docs_root doesn't exist."
|
||||
"docstring": "Resolve a navigation specification against the filesystem.\n\nThe function expands glob patterns defined in a ``NavSpec`` and verifies\nthat referenced documentation files exist within the documentation root.\n\nArgs:\n spec: Navigation specification describing documentation layout.\n docs_root: Root directory containing documentation Markdown files.\n\nReturns:\n A ``ResolvedNav`` instance containing validated navigation paths.\n\nRaises:\n FileNotFoundError: If the documentation root does not exist or a\n navigation pattern does not match any files."
|
||||
},
|
||||
"MkDocsNavEmitter": {
|
||||
"name": "MkDocsNavEmitter",
|
||||
"kind": "class",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsNavEmitter",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsNavEmitter', 'docforge.nav.MkDocsNavEmitter')>",
|
||||
"docstring": "Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible\nnavigation structure.",
|
||||
"docstring": "Emit MkDocs navigation structures from resolved navigation data.\n\nThe emitter transforms a ``ResolvedNav`` object into the YAML-compatible\nlist structure expected by the MkDocs ``nav`` configuration field.",
|
||||
"members": {
|
||||
"emit": {
|
||||
"name": "emit",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.MkDocsNavEmitter.emit",
|
||||
"signature": "<bound method Alias.signature of Alias('emit', 'docforge.nav.mkdocs.MkDocsNavEmitter.emit')>",
|
||||
"docstring": "Generate a list of navigation entries for mkdocs.yml.\n\nArgs:\n nav: The resolved navigation data.\n\nReturns:\n A list of dictionary mappings representing the MkDocs navigation."
|
||||
"docstring": "Generate a navigation structure for ``mkdocs.yml``.\n\nArgs:\n nav: Resolved navigation data describing documentation groups\n and their associated Markdown files.\n\nReturns:\n A list of dictionaries representing the MkDocs navigation layout.\n Each dictionary maps a navigation label to a page or a list of\n pages."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -126,29 +126,29 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 9, 39)>",
|
||||
"docstring": "Generate Markdown source files for the specified module.\n\nArgs:\n module: The dotted path of the primary module to document.\n project_name: Optional override for the project name.\n docs_dir: Directory where the generated Markdown files will be written.\n module_is_source: Module is the source folder and to be treated as the root folder."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 10, 47)>",
|
||||
"docstring": "Generate MkDocs Markdown sources for a Python module.\n\nThis function introspects the specified module, builds the internal\ndocumentation model, and renders Markdown documentation files for\nuse with MkDocs.\n\nArgs:\n module: Python module import path used as the entry point for\n documentation generation.\n docs_dir: Directory where the generated Markdown files will be written.\n project_name: Optional override for the project name used in\n documentation metadata.\n module_is_source: If True, treat the specified module directory as\n the project root rather than a nested module."
|
||||
},
|
||||
"generate_config": {
|
||||
"name": "generate_config",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.generate_config",
|
||||
"signature": "<bound method Function.signature of Function('generate_config', 41, 75)>",
|
||||
"docstring": "Generate an mkdocs.yml configuration file.\n\nArgs:\n docs_dir: Path to the directory containing documentation Markdown files.\n nav_file: Path to the docforge.nav.yml specification.\n template: Optional path to an mkdocs.yml template (overrides built-in).\n out: Path where the final mkdocs.yml will be written.\n site_name: The display name for the documentation site."
|
||||
"signature": "<bound method Function.signature of Function('generate_config', 50, 100)>",
|
||||
"docstring": "Generate an ``mkdocs.yml`` configuration file.\n\nThe configuration is created by combining a template configuration\nwith a navigation structure derived from the docforge navigation\nspecification.\n\nArgs:\n docs_dir: Directory containing generated documentation Markdown files.\n nav_file: Path to the ``docforge.nav.yml`` navigation specification.\n template: Optional path to a custom MkDocs configuration template.\n If not provided, a built-in template will be used.\n out: Destination path where the generated ``mkdocs.yml`` file\n will be written.\n site_name: Display name for the generated documentation site.\n\nRaises:\n click.FileError: If the navigation specification or template\n file cannot be found."
|
||||
},
|
||||
"build": {
|
||||
"name": "build",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.build",
|
||||
"signature": "<bound method Function.signature of Function('build', 77, 90)>",
|
||||
"docstring": "Build the documentation site using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"signature": "<bound method Function.signature of Function('build', 103, 122)>",
|
||||
"docstring": "Build the MkDocs documentation site.\n\nThis function loads the MkDocs configuration and runs the MkDocs\nbuild command to generate the final static documentation site.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
},
|
||||
"serve": {
|
||||
"name": "serve",
|
||||
"kind": "function",
|
||||
"path": "docforge.cli.mkdocs_utils.serve",
|
||||
"signature": "<bound method Function.signature of Function('serve', 92, 103)>",
|
||||
"docstring": "Serve the documentation site with live-reload using MkDocs.\n\nArgs:\n mkdocs_yml: Path to the mkdocs.yml configuration file."
|
||||
"signature": "<bound method Function.signature of Function('serve', 125, 142)>",
|
||||
"docstring": "Start an MkDocs development server with live reload.\n\nThe server watches documentation files and automatically reloads\nthe site when changes are detected.\n\nArgs:\n mkdocs_yml: Path to the ``mkdocs.yml`` configuration file.\n\nRaises:\n click.ClickException: If the configuration file does not exist."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.loaders.griffe_loader",
|
||||
"content": {
|
||||
"path": "docforge.loaders.griffe_loader",
|
||||
"docstring": "This module provides the GriffeLoader, which uses the 'griffe' library to\nintrospect Python source code and populate the doc-forge Project models.",
|
||||
"docstring": "Utilities for loading and introspecting Python modules using Griffe.\n\nThis module provides the ``GriffeLoader`` class and helper utilities used to\ndiscover Python modules, introspect their structure, and convert the results\ninto doc-forge documentation models.",
|
||||
"objects": {
|
||||
"logging": {
|
||||
"name": "logging",
|
||||
@@ -65,7 +65,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -93,21 +93,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -116,7 +116,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -137,28 +137,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -167,7 +167,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject",
|
||||
"signature": "<bound method Alias.signature of Alias('DocObject', 'docforge.models.DocObject')>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -216,21 +216,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject.add_member",
|
||||
"signature": "<bound method Alias.signature of Alias('add_member', 'docforge.models.object.DocObject.add_member')>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject.get_member",
|
||||
"signature": "<bound method Alias.signature of Alias('get_member', 'docforge.models.object.DocObject.get_member')>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject.get_all_members",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_members', 'docforge.models.object.DocObject.get_all_members')>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -245,29 +245,29 @@
|
||||
"name": "discover_module_paths",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.discover_module_paths",
|
||||
"signature": "<bound method Function.signature of Function('discover_module_paths', 23, 62)>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"signature": "<bound method Function.signature of Function('discover_module_paths', 26, 73)>",
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"GriffeLoader": {
|
||||
"name": "GriffeLoader",
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.GriffeLoader",
|
||||
"signature": "<bound method Class.signature of Class('GriffeLoader', 65, 224)>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"signature": "<bound method Class.signature of Class('GriffeLoader', 76, 264)>",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.GriffeLoader.load_project",
|
||||
"signature": "<bound method Function.signature of Function('load_project', 79, 115)>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"signature": "<bound method Function.signature of Function('load_project', 97, 144)>",
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.GriffeLoader.load_module",
|
||||
"signature": "<bound method Function.signature of Function('load_module', 117, 130)>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"signature": "<bound method Function.signature of Function('load_module', 146, 162)>",
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,28 +2,28 @@
|
||||
"module": "docforge.loaders",
|
||||
"content": {
|
||||
"path": "docforge.loaders",
|
||||
"docstring": "# Loader Layer\n\nThe `docforge.loaders` package is responsible for discovering Python source files\nand extracting their documentation using static analysis.\n\n## Core Features\n\n- **Discovery**: Automatically find all modules and packages in a project\n directory.\n- **Introspection**: Uses `griffe` to parse docstrings, signatures, and\n hierarchical relationships without executing the code.\n- **Filtering**: Automatically excludes private members (prefixed with `_`) to\n ensure clean public documentation.",
|
||||
"docstring": "Loader layer for doc-forge.\n\nThe ``docforge.loaders`` package is responsible for discovering Python modules\nand extracting documentation data using static analysis.\n\n---\n\nOverview\n--------\n\nThis layer converts Python source code into an intermediate documentation\nmodel used by doc-forge. It performs module discovery, introspection, and\ninitial filtering before the data is passed to the core documentation models.\n\nCore capabilities include:\n\n- **Module discovery** – Locate Python modules and packages within a project.\n- **Static introspection** – Parse docstrings, signatures, and object\n hierarchies using the ``griffe`` library without executing the code.\n- **Public API filtering** – Exclude private members (names prefixed with\n ``_``) to produce clean public documentation structures.\n\n---",
|
||||
"objects": {
|
||||
"GriffeLoader": {
|
||||
"name": "GriffeLoader",
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.GriffeLoader",
|
||||
"signature": "<bound method Alias.signature of Alias('GriffeLoader', 'docforge.loaders.griffe_loader.GriffeLoader')>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.GriffeLoader.load_project",
|
||||
"signature": "<bound method Alias.signature of Alias('load_project', 'docforge.loaders.griffe_loader.GriffeLoader.load_project')>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.GriffeLoader.load_module",
|
||||
"signature": "<bound method Alias.signature of Alias('load_module', 'docforge.loaders.griffe_loader.GriffeLoader.load_module')>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -32,14 +32,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.discover_module_paths",
|
||||
"signature": "<bound method Alias.signature of Alias('discover_module_paths', 'docforge.loaders.griffe_loader.discover_module_paths')>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"griffe_loader": {
|
||||
"name": "griffe_loader",
|
||||
"kind": "module",
|
||||
"path": "docforge.loaders.griffe_loader",
|
||||
"signature": null,
|
||||
"docstring": "This module provides the GriffeLoader, which uses the 'griffe' library to\nintrospect Python source code and populate the doc-forge Project models.",
|
||||
"docstring": "Utilities for loading and introspecting Python modules using Griffe.\n\nThis module provides the ``GriffeLoader`` class and helper utilities used to\ndiscover Python modules, introspect their structure, and convert the results\ninto doc-forge documentation models.",
|
||||
"members": {
|
||||
"logging": {
|
||||
"name": "logging",
|
||||
@@ -102,7 +102,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -130,21 +130,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -153,7 +153,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -174,28 +174,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -204,7 +204,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject",
|
||||
"signature": "<bound method Alias.signature of Alias('DocObject', 'docforge.models.DocObject')>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -253,21 +253,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject.add_member",
|
||||
"signature": "<bound method Alias.signature of Alias('add_member', 'docforge.models.object.DocObject.add_member')>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject.get_member",
|
||||
"signature": "<bound method Alias.signature of Alias('get_member', 'docforge.models.object.DocObject.get_member')>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.DocObject.get_all_members",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_members', 'docforge.models.object.DocObject.get_all_members')>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -282,29 +282,29 @@
|
||||
"name": "discover_module_paths",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.discover_module_paths",
|
||||
"signature": "<bound method Function.signature of Function('discover_module_paths', 23, 62)>",
|
||||
"docstring": "Discover all Python modules under a package via filesystem traversal.\n\nRules:\n- Directory with __init__.py is treated as a package.\n- Any .py file is treated as a module.\n- All paths are converted to dotted module paths.\n\nArgs:\n module_name: The name of the package to discover.\n project_root: The root directory of the project. Defaults to current working directory.\n\nReturns:\n A sorted list of dotted module paths."
|
||||
"signature": "<bound method Function.signature of Function('discover_module_paths', 26, 73)>",
|
||||
"docstring": "Discover Python modules within a package directory.\n\nThe function scans the filesystem for ``.py`` files inside the specified\npackage and converts them into dotted module import paths.\n\nDiscovery rules:\n\n- Directories containing ``__init__.py`` are treated as packages.\n- Each ``.py`` file is treated as a module.\n- Results are returned as dotted import paths.\n\nArgs:\n module_name: Top-level package name to discover modules from.\n project_root: Root directory used to resolve module paths. If not\n provided, the current working directory is used.\n\nReturns:\n A sorted list of unique dotted module import paths.\n\nRaises:\n FileNotFoundError: If the specified package directory does not exist."
|
||||
},
|
||||
"GriffeLoader": {
|
||||
"name": "GriffeLoader",
|
||||
"kind": "class",
|
||||
"path": "docforge.loaders.griffe_loader.GriffeLoader",
|
||||
"signature": "<bound method Class.signature of Class('GriffeLoader', 65, 224)>",
|
||||
"docstring": "Loads Python modules and extracts documentation using the Griffe introspection engine.",
|
||||
"signature": "<bound method Class.signature of Class('GriffeLoader', 76, 264)>",
|
||||
"docstring": "Load Python modules using Griffe and convert them into doc-forge models.\n\nThis loader uses the Griffe introspection engine to analyze Python source\ncode and transform the extracted information into ``Project``, ``Module``,\nand ``DocObject`` instances used by doc-forge.",
|
||||
"members": {
|
||||
"load_project": {
|
||||
"name": "load_project",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.GriffeLoader.load_project",
|
||||
"signature": "<bound method Function.signature of Function('load_project', 79, 115)>",
|
||||
"docstring": "Load multiple modules and combine them into a single Project models.\n\nArgs:\n module_paths: A list of dotted paths to the modules to load.\n project_name: Optional name for the project. Defaults to the first module name.\n skip_import_errors: If True, modules that fail to import will be skipped.\n\nReturns:\n A Project instance containing the loaded modules."
|
||||
"signature": "<bound method Function.signature of Function('load_project', 97, 144)>",
|
||||
"docstring": "Load multiple modules and assemble them into a Project model.\n\nEach module path is introspected and converted into a ``Module``\ninstance. All modules are then aggregated into a single ``Project``\nobject.\n\nArgs:\n module_paths: List of dotted module import paths to load.\n project_name: Optional override for the project name. Defaults\n to the top-level name of the first module.\n skip_import_errors: If True, modules that fail to load will be\n skipped instead of raising an error.\n\nReturns:\n A populated ``Project`` instance containing the loaded modules.\n\nRaises:\n ValueError: If no module paths are provided.\n ImportError: If a module fails to load and\n ``skip_import_errors`` is False."
|
||||
},
|
||||
"load_module": {
|
||||
"name": "load_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.loaders.griffe_loader.GriffeLoader.load_module",
|
||||
"signature": "<bound method Function.signature of Function('load_module', 117, 130)>",
|
||||
"docstring": "Load a single module and convert its introspection data into the docforge models.\n\nArgs:\n path: The dotted path of the module to load.\n\nReturns:\n A Module instance."
|
||||
"signature": "<bound method Function.signature of Function('load_module', 146, 162)>",
|
||||
"docstring": "Load and convert a single Python module.\n\nThe module is introspected using Griffe and then transformed into\na doc-forge ``Module`` model.\n\nArgs:\n path: Dotted import path of the module.\n\nReturns:\n A populated ``Module`` instance."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"module": "docforge.models",
|
||||
"content": {
|
||||
"path": "docforge.models",
|
||||
"docstring": "# Model Layer\n\nThe `docforge.models` package provides the core data structures used to represent\nPython source code in a documentation-focused hierarchy.\n\n## Key Components\n\n- **Project**: The root container for all documented modules.\n- **Module**: Represents a Python module or package, containing members.\n- **DocObject**: A recursive structure for classes, functions, and attributes.\n\nThese classes are designed to be renderer-agnostic, allowing the same internal\nrepresentation to be transformed into various output formats (currently MkDocs).",
|
||||
"docstring": "Model layer for doc-forge.\n\nThe ``docforge.models`` package defines the core data structures used to\nrepresent Python source code as a structured documentation model.\n\n---\n\nOverview\n--------\n\nThe model layer forms the central intermediate representation used throughout\ndoc-forge. Python modules and objects discovered during introspection are\nconverted into a hierarchy of documentation models that can later be rendered\ninto different documentation formats.\n\nKey components:\n\n- **Project** – Root container representing an entire documented codebase.\n- **Module** – Representation of a Python module or package containing\n documented members.\n- **DocObject** – Recursive structure representing Python objects such as\n classes, functions, methods, and attributes.\n\nThese models are intentionally **renderer-agnostic**, allowing the same\ndocumentation structure to be transformed into multiple output formats\n(e.g., MkDocs, MCP, or other renderers).\n\n---",
|
||||
"objects": {
|
||||
"Project": {
|
||||
"name": "Project",
|
||||
"kind": "class",
|
||||
"path": "docforge.models.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.project.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -30,28 +30,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.models.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -60,7 +60,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.models.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.module.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -88,21 +88,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.models.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -111,7 +111,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.models.DocObject",
|
||||
"signature": "<bound method Alias.signature of Alias('DocObject', 'docforge.models.object.DocObject')>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -160,21 +160,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.models.DocObject.add_member",
|
||||
"signature": "<bound method Alias.signature of Alias('add_member', 'docforge.models.object.DocObject.add_member')>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.DocObject.get_member",
|
||||
"signature": "<bound method Alias.signature of Alias('get_member', 'docforge.models.object.DocObject.get_member')>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.DocObject.get_all_members",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_members', 'docforge.models.object.DocObject.get_all_members')>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -183,7 +183,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.models.module",
|
||||
"signature": null,
|
||||
"docstring": "This module defines the Module class, which represents a Python module or package\nin the doc-forge documentation models. It acts as a container for top-level\ndocumented objects.",
|
||||
"docstring": "Documentation model representing a Python module or package.\n\nThis module defines the ``Module`` class used in the doc-forge documentation\nmodel. A ``Module`` acts as a container for top-level documented objects\n(classes, functions, variables, and other members) discovered during\nintrospection.",
|
||||
"members": {
|
||||
"Dict": {
|
||||
"name": "Dict",
|
||||
@@ -211,7 +211,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.models.module.DocObject",
|
||||
"signature": "<bound method Alias.signature of Alias('DocObject', 'docforge.models.object.DocObject')>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -260,21 +260,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.DocObject.add_member",
|
||||
"signature": "<bound method Alias.signature of Alias('add_member', 'docforge.models.object.DocObject.add_member')>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.DocObject.get_member",
|
||||
"signature": "<bound method Alias.signature of Alias('get_member', 'docforge.models.object.DocObject.get_member')>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.DocObject.get_all_members",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_members', 'docforge.models.object.DocObject.get_all_members')>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -282,8 +282,8 @@
|
||||
"name": "Module",
|
||||
"kind": "class",
|
||||
"path": "docforge.models.module.Module",
|
||||
"signature": "<bound method Class.signature of Class('Module', 12, 66)>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"signature": "<bound method Class.signature of Class('Module', 15, 79)>",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -310,22 +310,22 @@
|
||||
"name": "add_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.Module.add_object",
|
||||
"signature": "<bound method Function.signature of Function('add_object', 38, 45)>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"signature": "<bound method Function.signature of Function('add_object', 46, 54)>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.Module.get_object",
|
||||
"signature": "<bound method Function.signature of Function('get_object', 47, 57)>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"signature": "<bound method Function.signature of Function('get_object', 56, 69)>",
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.Module.get_all_objects",
|
||||
"signature": "<bound method Function.signature of Function('get_all_objects', 59, 66)>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"signature": "<bound method Function.signature of Function('get_all_objects', 71, 79)>",
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -336,7 +336,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.models.object",
|
||||
"signature": null,
|
||||
"docstring": "This module defines the DocObject class, the fundamental recursive unit of the\ndoc-forge documentation models. A DocObject represents a single Python entity\n(class, function, method, or attribute) and its nested members.",
|
||||
"docstring": "Documentation model representing individual Python objects.\n\nThis module defines the ``DocObject`` class, the fundamental recursive unit of\nthe doc-forge documentation model. Each ``DocObject`` represents a Python\nentity such as a class, function, method, or attribute, and may contain nested\nmembers that form a hierarchical documentation structure.",
|
||||
"members": {
|
||||
"Dict": {
|
||||
"name": "Dict",
|
||||
@@ -363,8 +363,8 @@
|
||||
"name": "DocObject",
|
||||
"kind": "class",
|
||||
"path": "docforge.models.object.DocObject",
|
||||
"signature": "<bound method Class.signature of Class('DocObject', 10, 76)>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"signature": "<bound method Class.signature of Class('DocObject', 13, 90)>",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -412,22 +412,22 @@
|
||||
"name": "add_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.object.DocObject.add_member",
|
||||
"signature": "<bound method Function.signature of Function('add_member', 48, 55)>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"signature": "<bound method Function.signature of Function('add_member', 56, 66)>",
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.object.DocObject.get_member",
|
||||
"signature": "<bound method Function.signature of Function('get_member', 57, 67)>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"signature": "<bound method Function.signature of Function('get_member', 68, 81)>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.object.DocObject.get_all_members",
|
||||
"signature": "<bound method Function.signature of Function('get_all_members', 69, 76)>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"signature": "<bound method Function.signature of Function('get_all_members', 83, 90)>",
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -438,7 +438,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.models.project",
|
||||
"signature": null,
|
||||
"docstring": "This module defines the Project class, the top-level container for a documented\nproject. It aggregates multiple Module instances into a single named entity.",
|
||||
"docstring": "Documentation model representing a project.\n\nThis module defines the ``Project`` class, the top-level container used by\ndoc-forge to represent a documented codebase. A ``Project`` aggregates multiple\nmodules and provides access to them through a unified interface.",
|
||||
"members": {
|
||||
"Dict": {
|
||||
"name": "Dict",
|
||||
@@ -459,7 +459,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.models.project.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.module.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -487,21 +487,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -509,8 +509,8 @@
|
||||
"name": "Project",
|
||||
"kind": "class",
|
||||
"path": "docforge.models.project.Project",
|
||||
"signature": "<bound method Class.signature of Class('Project', 11, 67)>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"signature": "<bound method Class.signature of Class('Project', 14, 76)>",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -530,29 +530,29 @@
|
||||
"name": "add_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.add_module",
|
||||
"signature": "<bound method Function.signature of Function('add_module', 30, 37)>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"signature": "<bound method Function.signature of Function('add_module', 36, 43)>",
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.get_module",
|
||||
"signature": "<bound method Function.signature of Function('get_module', 39, 49)>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"signature": "<bound method Function.signature of Function('get_module', 45, 58)>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.get_all_modules",
|
||||
"signature": "<bound method Function.signature of Function('get_all_modules', 51, 58)>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"signature": "<bound method Function.signature of Function('get_all_modules', 60, 67)>",
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.get_module_list",
|
||||
"signature": "<bound method Function.signature of Function('get_module_list', 60, 67)>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"signature": "<bound method Function.signature of Function('get_module_list', 69, 76)>",
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.models.module",
|
||||
"content": {
|
||||
"path": "docforge.models.module",
|
||||
"docstring": "This module defines the Module class, which represents a Python module or package\nin the doc-forge documentation models. It acts as a container for top-level\ndocumented objects.",
|
||||
"docstring": "Documentation model representing a Python module or package.\n\nThis module defines the ``Module`` class used in the doc-forge documentation\nmodel. A ``Module`` acts as a container for top-level documented objects\n(classes, functions, variables, and other members) discovered during\nintrospection.",
|
||||
"objects": {
|
||||
"Dict": {
|
||||
"name": "Dict",
|
||||
@@ -30,7 +30,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.models.module.DocObject",
|
||||
"signature": "<bound method Alias.signature of Alias('DocObject', 'docforge.models.object.DocObject')>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -79,21 +79,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.DocObject.add_member",
|
||||
"signature": "<bound method Alias.signature of Alias('add_member', 'docforge.models.object.DocObject.add_member')>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.DocObject.get_member",
|
||||
"signature": "<bound method Alias.signature of Alias('get_member', 'docforge.models.object.DocObject.get_member')>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.DocObject.get_all_members",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_members', 'docforge.models.object.DocObject.get_all_members')>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -101,8 +101,8 @@
|
||||
"name": "Module",
|
||||
"kind": "class",
|
||||
"path": "docforge.models.module.Module",
|
||||
"signature": "<bound method Class.signature of Class('Module', 12, 66)>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"signature": "<bound method Class.signature of Class('Module', 15, 79)>",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -129,22 +129,22 @@
|
||||
"name": "add_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.Module.add_object",
|
||||
"signature": "<bound method Function.signature of Function('add_object', 38, 45)>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"signature": "<bound method Function.signature of Function('add_object', 46, 54)>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.Module.get_object",
|
||||
"signature": "<bound method Function.signature of Function('get_object', 47, 57)>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"signature": "<bound method Function.signature of Function('get_object', 56, 69)>",
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.module.Module.get_all_objects",
|
||||
"signature": "<bound method Function.signature of Function('get_all_objects', 59, 66)>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"signature": "<bound method Function.signature of Function('get_all_objects', 71, 79)>",
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.models.object",
|
||||
"content": {
|
||||
"path": "docforge.models.object",
|
||||
"docstring": "This module defines the DocObject class, the fundamental recursive unit of the\ndoc-forge documentation models. A DocObject represents a single Python entity\n(class, function, method, or attribute) and its nested members.",
|
||||
"docstring": "Documentation model representing individual Python objects.\n\nThis module defines the ``DocObject`` class, the fundamental recursive unit of\nthe doc-forge documentation model. Each ``DocObject`` represents a Python\nentity such as a class, function, method, or attribute, and may contain nested\nmembers that form a hierarchical documentation structure.",
|
||||
"objects": {
|
||||
"Dict": {
|
||||
"name": "Dict",
|
||||
@@ -29,8 +29,8 @@
|
||||
"name": "DocObject",
|
||||
"kind": "class",
|
||||
"path": "docforge.models.object.DocObject",
|
||||
"signature": "<bound method Class.signature of Class('DocObject', 10, 76)>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"signature": "<bound method Class.signature of Class('DocObject', 13, 90)>",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -78,22 +78,22 @@
|
||||
"name": "add_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.object.DocObject.add_member",
|
||||
"signature": "<bound method Function.signature of Function('add_member', 48, 55)>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"signature": "<bound method Function.signature of Function('add_member', 56, 66)>",
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.object.DocObject.get_member",
|
||||
"signature": "<bound method Function.signature of Function('get_member', 57, 67)>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"signature": "<bound method Function.signature of Function('get_member', 68, 81)>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.object.DocObject.get_all_members",
|
||||
"signature": "<bound method Function.signature of Function('get_all_members', 69, 76)>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"signature": "<bound method Function.signature of Function('get_all_members', 83, 90)>",
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.models.project",
|
||||
"content": {
|
||||
"path": "docforge.models.project",
|
||||
"docstring": "This module defines the Project class, the top-level container for a documented\nproject. It aggregates multiple Module instances into a single named entity.",
|
||||
"docstring": "Documentation model representing a project.\n\nThis module defines the ``Project`` class, the top-level container used by\ndoc-forge to represent a documented codebase. A ``Project`` aggregates multiple\nmodules and provides access to them through a unified interface.",
|
||||
"objects": {
|
||||
"Dict": {
|
||||
"name": "Dict",
|
||||
@@ -23,7 +23,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.models.project.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.module.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -51,21 +51,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -73,8 +73,8 @@
|
||||
"name": "Project",
|
||||
"kind": "class",
|
||||
"path": "docforge.models.project.Project",
|
||||
"signature": "<bound method Class.signature of Class('Project', 11, 67)>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"signature": "<bound method Class.signature of Class('Project', 14, 76)>",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -94,29 +94,29 @@
|
||||
"name": "add_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.add_module",
|
||||
"signature": "<bound method Function.signature of Function('add_module', 30, 37)>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"signature": "<bound method Function.signature of Function('add_module', 36, 43)>",
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.get_module",
|
||||
"signature": "<bound method Function.signature of Function('get_module', 39, 49)>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"signature": "<bound method Function.signature of Function('get_module', 45, 58)>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.get_all_modules",
|
||||
"signature": "<bound method Function.signature of Function('get_all_modules', 51, 58)>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"signature": "<bound method Function.signature of Function('get_all_modules', 60, 67)>",
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.models.project.Project.get_module_list",
|
||||
"signature": "<bound method Function.signature of Function('get_module_list', 60, 67)>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"signature": "<bound method Function.signature of Function('get_module_list', 69, 76)>",
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"module": "docforge.nav",
|
||||
"content": {
|
||||
"path": "docforge.nav",
|
||||
"docstring": "# Navigation Layer\n\nThe `docforge.nav` package manages the mapping between the logical documentation\nstructure and the physical files on disk.\n\n## Workflow\n\n1. **Spec Definition**: Users define navigation intent in `docforge.nav.yml`.\n2. **Resolution**: `resolve_nav` matches patterns in the spec to generated `.md` files.\n3. **Emission**: `MkDocsNavEmitter` produces the final YAML structure for `mkdocs.yml`.\n\nThis abstraction allows doc-forge to support complex grouping and ordering\nindependently of the source code's physical layout.",
|
||||
"docstring": "Navigation layer for doc-forge.\n\nThe ``docforge.nav`` package manages the relationship between the logical\ndocumentation structure defined by the user and the physical documentation\nfiles generated on disk.\n\n---\n\nWorkflow\n--------\n\n1. **Specification** – Users define navigation intent in ``docforge.nav.yml``.\n2. **Resolution** – ``resolve_nav`` expands patterns and matches them against\n generated Markdown files.\n3. **Emission** – ``MkDocsNavEmitter`` converts the resolved structure into\n the YAML navigation format required by ``mkdocs.yml``.\n\nThis layer separates documentation organization from the underlying source\ncode layout, enabling flexible grouping, ordering, and navigation structures\nindependent of module hierarchy.\n\n---",
|
||||
"objects": {
|
||||
"NavSpec": {
|
||||
"name": "NavSpec",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.NavSpec",
|
||||
"signature": "<bound method Alias.signature of Alias('NavSpec', 'docforge.nav.spec.NavSpec')>",
|
||||
"docstring": "Parsed representation of the docforge navigation specification file.\n\nAttributes:\n home: Path to the home document (e.g., 'index.md').\n groups: Mapping of group titles to lists of path patterns/globs.",
|
||||
"docstring": "Parsed representation of a navigation specification.\n\nA ``NavSpec`` describes the intended documentation navigation layout before\nit is resolved against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page (for example\n ``index.md``).\n groups: Mapping of navigation group titles to lists of file patterns\n or glob expressions.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -30,14 +30,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.NavSpec.load",
|
||||
"signature": "<bound method Alias.signature of Alias('load', 'docforge.nav.spec.NavSpec.load')>",
|
||||
"docstring": "Load a NavSpec from a YAML file.\n\nArgs:\n path: The filesystem path to the YAML file.\n\nReturns:\n A NavSpec instance.\n\nRaises:\n FileNotFoundError: If the path does not exist.\n ValueError: If the file content is not a valid NavSpec mapping."
|
||||
"docstring": "Load a navigation specification from a YAML file.\n\nArgs:\n path: Filesystem path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed configuration.\n\nRaises:\n FileNotFoundError: If the specified file does not exist.\n ValueError: If the file contents are not a valid navigation\n specification."
|
||||
},
|
||||
"all_patterns": {
|
||||
"name": "all_patterns",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.NavSpec.all_patterns",
|
||||
"signature": "<bound method Alias.signature of Alias('all_patterns', 'docforge.nav.spec.NavSpec.all_patterns')>",
|
||||
"docstring": "Get all path patterns referenced in the specification.\n\nReturns:\n A list of all patterns (home plus all groups)."
|
||||
"docstring": "Return all path patterns referenced by the specification.\n\nReturns:\n A list containing the home document (if defined) and all\n group pattern entries."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -46,14 +46,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.load_nav_spec",
|
||||
"signature": "<bound method Alias.signature of Alias('load_nav_spec', 'docforge.nav.spec.load_nav_spec')>",
|
||||
"docstring": "Utility function to load a NavSpec from a file.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A loaded NavSpec instance."
|
||||
"docstring": "Load a navigation specification file.\n\nThis helper function reads a YAML navigation file and constructs a\ncorresponding ``NavSpec`` instance.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed specification.\n\nRaises:\n FileNotFoundError: If the specification file does not exist.\n ValueError: If the YAML structure is invalid."
|
||||
},
|
||||
"ResolvedNav": {
|
||||
"name": "ResolvedNav",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.ResolvedNav",
|
||||
"signature": "<bound method Alias.signature of Alias('ResolvedNav', 'docforge.nav.resolver.ResolvedNav')>",
|
||||
"docstring": "Represents a navigation structure where all patterns and paths have been\nresolved against the actual filesystem contents.\n\nAttributes:\n home: Resolved relative path to the home page.\n groups: Mapping of group titles to lists of absolute or relative Path objects.",
|
||||
"docstring": "Resolved navigation structure.\n\nA ``ResolvedNav`` represents navigation data after glob patterns have been\nexpanded and paths validated against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page.\n groups: Mapping of navigation group titles to lists of resolved\n documentation file paths.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -74,7 +74,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.ResolvedNav.all_files",
|
||||
"signature": "<bound method Alias.signature of Alias('all_files', 'docforge.nav.resolver.ResolvedNav.all_files')>",
|
||||
"docstring": "Get an iterable of all resolved files in the navigation structure.\n\nReturns:\n An iterable of Path objects."
|
||||
"docstring": "Iterate over all files referenced by the navigation structure.\n\nReturns:\n An iterable of ``Path`` objects representing documentation files.\n\nRaises:\n RuntimeError: If the home page is defined but the documentation\n root is not available for resolution."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -83,21 +83,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolve_nav",
|
||||
"signature": "<bound method Alias.signature of Alias('resolve_nav', 'docforge.nav.resolver.resolve_nav')>",
|
||||
"docstring": "Create a ResolvedNav by processing a NavSpec against the filesystem.\nThis expands globs and validates the existence of referenced files.\n\nArgs:\n spec: The navigation specification to resolve.\n docs_root: The root directory for documentation files.\n\nReturns:\n A ResolvedNav instance.\n\nRaises:\n FileNotFoundError: If a pattern doesn't match any files or the docs_root doesn't exist."
|
||||
"docstring": "Resolve a navigation specification against the filesystem.\n\nThe function expands glob patterns defined in a ``NavSpec`` and verifies\nthat referenced documentation files exist within the documentation root.\n\nArgs:\n spec: Navigation specification describing documentation layout.\n docs_root: Root directory containing documentation Markdown files.\n\nReturns:\n A ``ResolvedNav`` instance containing validated navigation paths.\n\nRaises:\n FileNotFoundError: If the documentation root does not exist or a\n navigation pattern does not match any files."
|
||||
},
|
||||
"MkDocsNavEmitter": {
|
||||
"name": "MkDocsNavEmitter",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.MkDocsNavEmitter",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsNavEmitter', 'docforge.nav.mkdocs.MkDocsNavEmitter')>",
|
||||
"docstring": "Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible\nnavigation structure.",
|
||||
"docstring": "Emit MkDocs navigation structures from resolved navigation data.\n\nThe emitter transforms a ``ResolvedNav`` object into the YAML-compatible\nlist structure expected by the MkDocs ``nav`` configuration field.",
|
||||
"members": {
|
||||
"emit": {
|
||||
"name": "emit",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.MkDocsNavEmitter.emit",
|
||||
"signature": "<bound method Alias.signature of Alias('emit', 'docforge.nav.mkdocs.MkDocsNavEmitter.emit')>",
|
||||
"docstring": "Generate a list of navigation entries for mkdocs.yml.\n\nArgs:\n nav: The resolved navigation data.\n\nReturns:\n A list of dictionary mappings representing the MkDocs navigation."
|
||||
"docstring": "Generate a navigation structure for ``mkdocs.yml``.\n\nArgs:\n nav: Resolved navigation data describing documentation groups\n and their associated Markdown files.\n\nReturns:\n A list of dictionaries representing the MkDocs navigation layout.\n Each dictionary maps a navigation label to a page or a list of\n pages."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -106,7 +106,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.nav.mkdocs",
|
||||
"signature": null,
|
||||
"docstring": "This module provides the MkDocsNavEmitter, which converts a ResolvedNav instance\ninto the specific YAML-ready list structure expected by the MkDocs 'nav'\nconfiguration.",
|
||||
"docstring": "MkDocs navigation emitter.\n\nThis module provides the ``MkDocsNavEmitter`` class, which converts a\n``ResolvedNav`` instance into the navigation structure required by the\nMkDocs ``nav`` configuration.",
|
||||
"members": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -141,7 +141,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.mkdocs.ResolvedNav",
|
||||
"signature": "<bound method Alias.signature of Alias('ResolvedNav', 'docforge.nav.resolver.ResolvedNav')>",
|
||||
"docstring": "Represents a navigation structure where all patterns and paths have been\nresolved against the actual filesystem contents.\n\nAttributes:\n home: Resolved relative path to the home page.\n groups: Mapping of group titles to lists of absolute or relative Path objects.",
|
||||
"docstring": "Resolved navigation structure.\n\nA ``ResolvedNav`` represents navigation data after glob patterns have been\nexpanded and paths validated against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page.\n groups: Mapping of navigation group titles to lists of resolved\n documentation file paths.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -162,7 +162,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.mkdocs.ResolvedNav.all_files",
|
||||
"signature": "<bound method Alias.signature of Alias('all_files', 'docforge.nav.resolver.ResolvedNav.all_files')>",
|
||||
"docstring": "Get an iterable of all resolved files in the navigation structure.\n\nReturns:\n An iterable of Path objects."
|
||||
"docstring": "Iterate over all files referenced by the navigation structure.\n\nReturns:\n An iterable of ``Path`` objects representing documentation files.\n\nRaises:\n RuntimeError: If the home page is defined but the documentation\n root is not available for resolution."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -170,15 +170,15 @@
|
||||
"name": "MkDocsNavEmitter",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.mkdocs.MkDocsNavEmitter",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsNavEmitter', 13, 72)>",
|
||||
"docstring": "Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible\nnavigation structure.",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsNavEmitter', 15, 81)>",
|
||||
"docstring": "Emit MkDocs navigation structures from resolved navigation data.\n\nThe emitter transforms a ``ResolvedNav`` object into the YAML-compatible\nlist structure expected by the MkDocs ``nav`` configuration field.",
|
||||
"members": {
|
||||
"emit": {
|
||||
"name": "emit",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.mkdocs.MkDocsNavEmitter.emit",
|
||||
"signature": "<bound method Function.signature of Function('emit', 19, 44)>",
|
||||
"docstring": "Generate a list of navigation entries for mkdocs.yml.\n\nArgs:\n nav: The resolved navigation data.\n\nReturns:\n A list of dictionary mappings representing the MkDocs navigation."
|
||||
"signature": "<bound method Function.signature of Function('emit', 23, 51)>",
|
||||
"docstring": "Generate a navigation structure for ``mkdocs.yml``.\n\nArgs:\n nav: Resolved navigation data describing documentation groups\n and their associated Markdown files.\n\nReturns:\n A list of dictionaries representing the MkDocs navigation layout.\n Each dictionary maps a navigation label to a page or a list of\n pages."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -189,7 +189,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.nav.resolver",
|
||||
"signature": null,
|
||||
"docstring": "This module contains the logic for resolving a NavSpec against the physical\nfilesystem. It expands globs and validates that all referenced documents\nactually exist on disk.",
|
||||
"docstring": "Navigation resolution utilities.\n\nThis module resolves a ``NavSpec`` against the filesystem by expanding glob\npatterns and validating that referenced documentation files exist.",
|
||||
"members": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -231,7 +231,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.resolver.NavSpec",
|
||||
"signature": "<bound method Alias.signature of Alias('NavSpec', 'docforge.nav.spec.NavSpec')>",
|
||||
"docstring": "Parsed representation of the docforge navigation specification file.\n\nAttributes:\n home: Path to the home document (e.g., 'index.md').\n groups: Mapping of group titles to lists of path patterns/globs.",
|
||||
"docstring": "Parsed representation of a navigation specification.\n\nA ``NavSpec`` describes the intended documentation navigation layout before\nit is resolved against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page (for example\n ``index.md``).\n groups: Mapping of navigation group titles to lists of file patterns\n or glob expressions.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -252,14 +252,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.NavSpec.load",
|
||||
"signature": "<bound method Alias.signature of Alias('load', 'docforge.nav.spec.NavSpec.load')>",
|
||||
"docstring": "Load a NavSpec from a YAML file.\n\nArgs:\n path: The filesystem path to the YAML file.\n\nReturns:\n A NavSpec instance.\n\nRaises:\n FileNotFoundError: If the path does not exist.\n ValueError: If the file content is not a valid NavSpec mapping."
|
||||
"docstring": "Load a navigation specification from a YAML file.\n\nArgs:\n path: Filesystem path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed configuration.\n\nRaises:\n FileNotFoundError: If the specified file does not exist.\n ValueError: If the file contents are not a valid navigation\n specification."
|
||||
},
|
||||
"all_patterns": {
|
||||
"name": "all_patterns",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.NavSpec.all_patterns",
|
||||
"signature": "<bound method Alias.signature of Alias('all_patterns', 'docforge.nav.spec.NavSpec.all_patterns')>",
|
||||
"docstring": "Get all path patterns referenced in the specification.\n\nReturns:\n A list of all patterns (home plus all groups)."
|
||||
"docstring": "Return all path patterns referenced by the specification.\n\nReturns:\n A list containing the home document (if defined) and all\n group pattern entries."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -267,8 +267,8 @@
|
||||
"name": "ResolvedNav",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.resolver.ResolvedNav",
|
||||
"signature": "<bound method Class.signature of Class('ResolvedNav', 15, 56)>",
|
||||
"docstring": "Represents a navigation structure where all patterns and paths have been\nresolved against the actual filesystem contents.\n\nAttributes:\n home: Resolved relative path to the home page.\n groups: Mapping of group titles to lists of absolute or relative Path objects.",
|
||||
"signature": "<bound method Class.signature of Class('ResolvedNav', 16, 65)>",
|
||||
"docstring": "Resolved navigation structure.\n\nA ``ResolvedNav`` represents navigation data after glob patterns have been\nexpanded and paths validated against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page.\n groups: Mapping of navigation group titles to lists of resolved\n documentation file paths.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -288,8 +288,8 @@
|
||||
"name": "all_files",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.ResolvedNav.all_files",
|
||||
"signature": "<bound method Function.signature of Function('all_files', 43, 56)>",
|
||||
"docstring": "Get an iterable of all resolved files in the navigation structure.\n\nReturns:\n An iterable of Path objects."
|
||||
"signature": "<bound method Function.signature of Function('all_files', 47, 65)>",
|
||||
"docstring": "Iterate over all files referenced by the navigation structure.\n\nReturns:\n An iterable of ``Path`` objects representing documentation files.\n\nRaises:\n RuntimeError: If the home page is defined but the documentation\n root is not available for resolution."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -297,8 +297,8 @@
|
||||
"name": "resolve_nav",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.resolve_nav",
|
||||
"signature": "<bound method Function.signature of Function('resolve_nav', 59, 124)>",
|
||||
"docstring": "Create a ResolvedNav by processing a NavSpec against the filesystem.\nThis expands globs and validates the existence of referenced files.\n\nArgs:\n spec: The navigation specification to resolve.\n docs_root: The root directory for documentation files.\n\nReturns:\n A ResolvedNav instance.\n\nRaises:\n FileNotFoundError: If a pattern doesn't match any files or the docs_root doesn't exist."
|
||||
"signature": "<bound method Function.signature of Function('resolve_nav', 68, 136)>",
|
||||
"docstring": "Resolve a navigation specification against the filesystem.\n\nThe function expands glob patterns defined in a ``NavSpec`` and verifies\nthat referenced documentation files exist within the documentation root.\n\nArgs:\n spec: Navigation specification describing documentation layout.\n docs_root: Root directory containing documentation Markdown files.\n\nReturns:\n A ``ResolvedNav`` instance containing validated navigation paths.\n\nRaises:\n FileNotFoundError: If the documentation root does not exist or a\n navigation pattern does not match any files."
|
||||
},
|
||||
"Optional": {
|
||||
"name": "Optional",
|
||||
@@ -314,7 +314,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.nav.spec",
|
||||
"signature": null,
|
||||
"docstring": "This module defines the NavSpec class, which represents the user's intent for\ndocumentation navigation as defined in a YAML specification (usually\ndocforge.nav.yml).",
|
||||
"docstring": "Navigation specification model.\n\nThis module defines the ``NavSpec`` class, which represents the navigation\nstructure defined by the user in the doc-forge navigation specification\n(typically ``docforge.nav.yml``).",
|
||||
"members": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -355,8 +355,8 @@
|
||||
"name": "NavSpec",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.spec.NavSpec",
|
||||
"signature": "<bound method Class.signature of Class('NavSpec', 13, 91)>",
|
||||
"docstring": "Parsed representation of the docforge navigation specification file.\n\nAttributes:\n home: Path to the home document (e.g., 'index.md').\n groups: Mapping of group titles to lists of path patterns/globs.",
|
||||
"signature": "<bound method Class.signature of Class('NavSpec', 15, 104)>",
|
||||
"docstring": "Parsed representation of a navigation specification.\n\nA ``NavSpec`` describes the intended documentation navigation layout before\nit is resolved against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page (for example\n ``index.md``).\n groups: Mapping of navigation group titles to lists of file patterns\n or glob expressions.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -376,15 +376,15 @@
|
||||
"name": "load",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.spec.NavSpec.load",
|
||||
"signature": "<bound method Function.signature of Function('load', 37, 77)>",
|
||||
"docstring": "Load a NavSpec from a YAML file.\n\nArgs:\n path: The filesystem path to the YAML file.\n\nReturns:\n A NavSpec instance.\n\nRaises:\n FileNotFoundError: If the path does not exist.\n ValueError: If the file content is not a valid NavSpec mapping."
|
||||
"signature": "<bound method Function.signature of Function('load', 45, 86)>",
|
||||
"docstring": "Load a navigation specification from a YAML file.\n\nArgs:\n path: Filesystem path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed configuration.\n\nRaises:\n FileNotFoundError: If the specified file does not exist.\n ValueError: If the file contents are not a valid navigation\n specification."
|
||||
},
|
||||
"all_patterns": {
|
||||
"name": "all_patterns",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.spec.NavSpec.all_patterns",
|
||||
"signature": "<bound method Function.signature of Function('all_patterns', 79, 91)>",
|
||||
"docstring": "Get all path patterns referenced in the specification.\n\nReturns:\n A list of all patterns (home plus all groups)."
|
||||
"signature": "<bound method Function.signature of Function('all_patterns', 88, 104)>",
|
||||
"docstring": "Return all path patterns referenced by the specification.\n\nReturns:\n A list containing the home document (if defined) and all\n group pattern entries."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -392,8 +392,8 @@
|
||||
"name": "load_nav_spec",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.spec.load_nav_spec",
|
||||
"signature": "<bound method Function.signature of Function('load_nav_spec', 94, 114)>",
|
||||
"docstring": "Utility function to load a NavSpec from a file.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A loaded NavSpec instance."
|
||||
"signature": "<bound method Function.signature of Function('load_nav_spec', 107, 135)>",
|
||||
"docstring": "Load a navigation specification file.\n\nThis helper function reads a YAML navigation file and constructs a\ncorresponding ``NavSpec`` instance.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed specification.\n\nRaises:\n FileNotFoundError: If the specification file does not exist.\n ValueError: If the YAML structure is invalid."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.nav.mkdocs",
|
||||
"content": {
|
||||
"path": "docforge.nav.mkdocs",
|
||||
"docstring": "This module provides the MkDocsNavEmitter, which converts a ResolvedNav instance\ninto the specific YAML-ready list structure expected by the MkDocs 'nav'\nconfiguration.",
|
||||
"docstring": "MkDocs navigation emitter.\n\nThis module provides the ``MkDocsNavEmitter`` class, which converts a\n``ResolvedNav`` instance into the navigation structure required by the\nMkDocs ``nav`` configuration.",
|
||||
"objects": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -37,7 +37,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.mkdocs.ResolvedNav",
|
||||
"signature": "<bound method Alias.signature of Alias('ResolvedNav', 'docforge.nav.resolver.ResolvedNav')>",
|
||||
"docstring": "Represents a navigation structure where all patterns and paths have been\nresolved against the actual filesystem contents.\n\nAttributes:\n home: Resolved relative path to the home page.\n groups: Mapping of group titles to lists of absolute or relative Path objects.",
|
||||
"docstring": "Resolved navigation structure.\n\nA ``ResolvedNav`` represents navigation data after glob patterns have been\nexpanded and paths validated against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page.\n groups: Mapping of navigation group titles to lists of resolved\n documentation file paths.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -58,7 +58,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.mkdocs.ResolvedNav.all_files",
|
||||
"signature": "<bound method Alias.signature of Alias('all_files', 'docforge.nav.resolver.ResolvedNav.all_files')>",
|
||||
"docstring": "Get an iterable of all resolved files in the navigation structure.\n\nReturns:\n An iterable of Path objects."
|
||||
"docstring": "Iterate over all files referenced by the navigation structure.\n\nReturns:\n An iterable of ``Path`` objects representing documentation files.\n\nRaises:\n RuntimeError: If the home page is defined but the documentation\n root is not available for resolution."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -66,15 +66,15 @@
|
||||
"name": "MkDocsNavEmitter",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.mkdocs.MkDocsNavEmitter",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsNavEmitter', 13, 72)>",
|
||||
"docstring": "Emitter responsible for transforming a ResolvedNav into an MkDocs-compatible\nnavigation structure.",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsNavEmitter', 15, 81)>",
|
||||
"docstring": "Emit MkDocs navigation structures from resolved navigation data.\n\nThe emitter transforms a ``ResolvedNav`` object into the YAML-compatible\nlist structure expected by the MkDocs ``nav`` configuration field.",
|
||||
"members": {
|
||||
"emit": {
|
||||
"name": "emit",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.mkdocs.MkDocsNavEmitter.emit",
|
||||
"signature": "<bound method Function.signature of Function('emit', 19, 44)>",
|
||||
"docstring": "Generate a list of navigation entries for mkdocs.yml.\n\nArgs:\n nav: The resolved navigation data.\n\nReturns:\n A list of dictionary mappings representing the MkDocs navigation."
|
||||
"signature": "<bound method Function.signature of Function('emit', 23, 51)>",
|
||||
"docstring": "Generate a navigation structure for ``mkdocs.yml``.\n\nArgs:\n nav: Resolved navigation data describing documentation groups\n and their associated Markdown files.\n\nReturns:\n A list of dictionaries representing the MkDocs navigation layout.\n Each dictionary maps a navigation label to a page or a list of\n pages."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.nav.resolver",
|
||||
"content": {
|
||||
"path": "docforge.nav.resolver",
|
||||
"docstring": "This module contains the logic for resolving a NavSpec against the physical\nfilesystem. It expands globs and validates that all referenced documents\nactually exist on disk.",
|
||||
"docstring": "Navigation resolution utilities.\n\nThis module resolves a ``NavSpec`` against the filesystem by expanding glob\npatterns and validating that referenced documentation files exist.",
|
||||
"objects": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -44,7 +44,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.resolver.NavSpec",
|
||||
"signature": "<bound method Alias.signature of Alias('NavSpec', 'docforge.nav.spec.NavSpec')>",
|
||||
"docstring": "Parsed representation of the docforge navigation specification file.\n\nAttributes:\n home: Path to the home document (e.g., 'index.md').\n groups: Mapping of group titles to lists of path patterns/globs.",
|
||||
"docstring": "Parsed representation of a navigation specification.\n\nA ``NavSpec`` describes the intended documentation navigation layout before\nit is resolved against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page (for example\n ``index.md``).\n groups: Mapping of navigation group titles to lists of file patterns\n or glob expressions.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -65,14 +65,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.NavSpec.load",
|
||||
"signature": "<bound method Alias.signature of Alias('load', 'docforge.nav.spec.NavSpec.load')>",
|
||||
"docstring": "Load a NavSpec from a YAML file.\n\nArgs:\n path: The filesystem path to the YAML file.\n\nReturns:\n A NavSpec instance.\n\nRaises:\n FileNotFoundError: If the path does not exist.\n ValueError: If the file content is not a valid NavSpec mapping."
|
||||
"docstring": "Load a navigation specification from a YAML file.\n\nArgs:\n path: Filesystem path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed configuration.\n\nRaises:\n FileNotFoundError: If the specified file does not exist.\n ValueError: If the file contents are not a valid navigation\n specification."
|
||||
},
|
||||
"all_patterns": {
|
||||
"name": "all_patterns",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.NavSpec.all_patterns",
|
||||
"signature": "<bound method Alias.signature of Alias('all_patterns', 'docforge.nav.spec.NavSpec.all_patterns')>",
|
||||
"docstring": "Get all path patterns referenced in the specification.\n\nReturns:\n A list of all patterns (home plus all groups)."
|
||||
"docstring": "Return all path patterns referenced by the specification.\n\nReturns:\n A list containing the home document (if defined) and all\n group pattern entries."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -80,8 +80,8 @@
|
||||
"name": "ResolvedNav",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.resolver.ResolvedNav",
|
||||
"signature": "<bound method Class.signature of Class('ResolvedNav', 15, 56)>",
|
||||
"docstring": "Represents a navigation structure where all patterns and paths have been\nresolved against the actual filesystem contents.\n\nAttributes:\n home: Resolved relative path to the home page.\n groups: Mapping of group titles to lists of absolute or relative Path objects.",
|
||||
"signature": "<bound method Class.signature of Class('ResolvedNav', 16, 65)>",
|
||||
"docstring": "Resolved navigation structure.\n\nA ``ResolvedNav`` represents navigation data after glob patterns have been\nexpanded and paths validated against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page.\n groups: Mapping of navigation group titles to lists of resolved\n documentation file paths.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -101,8 +101,8 @@
|
||||
"name": "all_files",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.ResolvedNav.all_files",
|
||||
"signature": "<bound method Function.signature of Function('all_files', 43, 56)>",
|
||||
"docstring": "Get an iterable of all resolved files in the navigation structure.\n\nReturns:\n An iterable of Path objects."
|
||||
"signature": "<bound method Function.signature of Function('all_files', 47, 65)>",
|
||||
"docstring": "Iterate over all files referenced by the navigation structure.\n\nReturns:\n An iterable of ``Path`` objects representing documentation files.\n\nRaises:\n RuntimeError: If the home page is defined but the documentation\n root is not available for resolution."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -110,8 +110,8 @@
|
||||
"name": "resolve_nav",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.resolver.resolve_nav",
|
||||
"signature": "<bound method Function.signature of Function('resolve_nav', 59, 124)>",
|
||||
"docstring": "Create a ResolvedNav by processing a NavSpec against the filesystem.\nThis expands globs and validates the existence of referenced files.\n\nArgs:\n spec: The navigation specification to resolve.\n docs_root: The root directory for documentation files.\n\nReturns:\n A ResolvedNav instance.\n\nRaises:\n FileNotFoundError: If a pattern doesn't match any files or the docs_root doesn't exist."
|
||||
"signature": "<bound method Function.signature of Function('resolve_nav', 68, 136)>",
|
||||
"docstring": "Resolve a navigation specification against the filesystem.\n\nThe function expands glob patterns defined in a ``NavSpec`` and verifies\nthat referenced documentation files exist within the documentation root.\n\nArgs:\n spec: Navigation specification describing documentation layout.\n docs_root: Root directory containing documentation Markdown files.\n\nReturns:\n A ``ResolvedNav`` instance containing validated navigation paths.\n\nRaises:\n FileNotFoundError: If the documentation root does not exist or a\n navigation pattern does not match any files."
|
||||
},
|
||||
"Optional": {
|
||||
"name": "Optional",
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.nav.spec",
|
||||
"content": {
|
||||
"path": "docforge.nav.spec",
|
||||
"docstring": "This module defines the NavSpec class, which represents the user's intent for\ndocumentation navigation as defined in a YAML specification (usually\ndocforge.nav.yml).",
|
||||
"docstring": "Navigation specification model.\n\nThis module defines the ``NavSpec`` class, which represents the navigation\nstructure defined by the user in the doc-forge navigation specification\n(typically ``docforge.nav.yml``).",
|
||||
"objects": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -43,8 +43,8 @@
|
||||
"name": "NavSpec",
|
||||
"kind": "class",
|
||||
"path": "docforge.nav.spec.NavSpec",
|
||||
"signature": "<bound method Class.signature of Class('NavSpec', 13, 91)>",
|
||||
"docstring": "Parsed representation of the docforge navigation specification file.\n\nAttributes:\n home: Path to the home document (e.g., 'index.md').\n groups: Mapping of group titles to lists of path patterns/globs.",
|
||||
"signature": "<bound method Class.signature of Class('NavSpec', 15, 104)>",
|
||||
"docstring": "Parsed representation of a navigation specification.\n\nA ``NavSpec`` describes the intended documentation navigation layout before\nit is resolved against the filesystem.\n\nAttributes:\n home: Relative path to the documentation home page (for example\n ``index.md``).\n groups: Mapping of navigation group titles to lists of file patterns\n or glob expressions.",
|
||||
"members": {
|
||||
"home": {
|
||||
"name": "home",
|
||||
@@ -64,15 +64,15 @@
|
||||
"name": "load",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.spec.NavSpec.load",
|
||||
"signature": "<bound method Function.signature of Function('load', 37, 77)>",
|
||||
"docstring": "Load a NavSpec from a YAML file.\n\nArgs:\n path: The filesystem path to the YAML file.\n\nReturns:\n A NavSpec instance.\n\nRaises:\n FileNotFoundError: If the path does not exist.\n ValueError: If the file content is not a valid NavSpec mapping."
|
||||
"signature": "<bound method Function.signature of Function('load', 45, 86)>",
|
||||
"docstring": "Load a navigation specification from a YAML file.\n\nArgs:\n path: Filesystem path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed configuration.\n\nRaises:\n FileNotFoundError: If the specified file does not exist.\n ValueError: If the file contents are not a valid navigation\n specification."
|
||||
},
|
||||
"all_patterns": {
|
||||
"name": "all_patterns",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.spec.NavSpec.all_patterns",
|
||||
"signature": "<bound method Function.signature of Function('all_patterns', 79, 91)>",
|
||||
"docstring": "Get all path patterns referenced in the specification.\n\nReturns:\n A list of all patterns (home plus all groups)."
|
||||
"signature": "<bound method Function.signature of Function('all_patterns', 88, 104)>",
|
||||
"docstring": "Return all path patterns referenced by the specification.\n\nReturns:\n A list containing the home document (if defined) and all\n group pattern entries."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -80,8 +80,8 @@
|
||||
"name": "load_nav_spec",
|
||||
"kind": "function",
|
||||
"path": "docforge.nav.spec.load_nav_spec",
|
||||
"signature": "<bound method Function.signature of Function('load_nav_spec', 94, 114)>",
|
||||
"docstring": "Utility function to load a NavSpec from a file.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A loaded NavSpec instance."
|
||||
"signature": "<bound method Function.signature of Function('load_nav_spec', 107, 135)>",
|
||||
"docstring": "Load a navigation specification file.\n\nThis helper function reads a YAML navigation file and constructs a\ncorresponding ``NavSpec`` instance.\n\nArgs:\n path: Path to the navigation specification file.\n\nReturns:\n A ``NavSpec`` instance representing the parsed specification.\n\nRaises:\n FileNotFoundError: If the specification file does not exist.\n ValueError: If the YAML structure is invalid."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.renderers.base",
|
||||
"content": {
|
||||
"path": "docforge.renderers.base",
|
||||
"docstring": "This module defines the base interfaces and configuration containers for\ndoc-forge renderers. All renderer implementations should adhere to the\nDocRenderer protocol.",
|
||||
"docstring": "Renderer base interfaces and configuration models.\n\nThis module defines the base protocol and configuration container used by\ndoc-forge renderers. Concrete renderer implementations should implement the\n``DocRenderer`` protocol.",
|
||||
"objects": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -23,7 +23,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.base.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -44,28 +44,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -73,8 +73,8 @@
|
||||
"name": "RendererConfig",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.base.RendererConfig",
|
||||
"signature": "<bound method Class.signature of Class('RendererConfig', 13, 24)>",
|
||||
"docstring": "Configuration container for documentation renderers.\n\nArgs:\n out_dir: The directory where documentation files should be written.\n project: The introspected project models to be rendered.",
|
||||
"signature": "<bound method Class.signature of Class('RendererConfig', 15, 36)>",
|
||||
"docstring": "Configuration container for documentation renderers.\n\nA ``RendererConfig`` instance groups together the project model and the\noutput directory used during rendering.\n\nAttributes:\n out_dir: Directory where generated documentation files will be written.\n project: Documentation project model to be rendered.",
|
||||
"members": {
|
||||
"out_dir": {
|
||||
"name": "out_dir",
|
||||
@@ -96,8 +96,8 @@
|
||||
"name": "DocRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.base.DocRenderer",
|
||||
"signature": "<bound method Class.signature of Class('DocRenderer', 27, 46)>",
|
||||
"docstring": "Protocol defining the interface for documentation renderers.",
|
||||
"signature": "<bound method Class.signature of Class('DocRenderer', 39, 62)>",
|
||||
"docstring": "Protocol defining the interface for documentation renderers.\n\nImplementations of this protocol are responsible for transforming a\n``Project`` model into renderer-specific documentation sources.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -110,8 +110,8 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.DocRenderer.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 34, 46)>",
|
||||
"docstring": "Generate renderer-specific source files for the given project.\n\nArgs:\n project: The project models containing modules and objects.\n out_dir: Target directory for the generated files."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 49, 62)>",
|
||||
"docstring": "Generate renderer-specific documentation sources.\n\nArgs:\n project: Project model containing modules and documentation objects.\n out_dir: Directory where generated documentation sources\n should be written."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"module": "docforge.renderers",
|
||||
"content": {
|
||||
"path": "docforge.renderers",
|
||||
"docstring": "# Renderers Layer\n\nThe `docforge.renderers` package handles the transformation of the internal\ndocumentation models into physical files formatted for specific documentation\nengines.\n\n## Current Implementations\n\n- **MkDocsRenderer**: Generates Markdown files utilizing the `mkdocstrings`\n syntax. It automatically handles package/module hierarchy and generates\n `index.md` files for packages.\n\n## Extending\n\nTo add a new renderer, implement the `DocRenderer` protocol defined in\n`docforge.renderers.base`.",
|
||||
"docstring": "Renderers layer for doc-forge.\n\nThe ``docforge.renderers`` package transforms the internal documentation\nmodels into files formatted for specific documentation systems.\n\n---\n\nOverview\n--------\n\nRenderers consume the doc-forge project model and generate output suitable\nfor documentation tools or machine interfaces.\n\nCurrent implementations:\n\n- **MkDocsRenderer** – Produces Markdown files compatible with MkDocs and\n the ``mkdocstrings`` plugin. It automatically handles package hierarchy\n and generates ``index.md`` files for packages.\n- **MCPRenderer** – Emits structured JSON resources designed for consumption\n by Model Context Protocol (MCP) clients.\n\n---\n\nExtending\n---------\n\nNew renderers can be added by implementing the ``DocRenderer`` protocol\ndefined in ``docforge.renderers.base``.\n\n---",
|
||||
"objects": {
|
||||
"MkDocsRenderer": {
|
||||
"name": "MkDocsRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.MkDocsRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MkDocsRenderer', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer')>",
|
||||
"docstring": "Renderer that generates Markdown source files formatted for the MkDocs\n'mkdocstrings' plugin.",
|
||||
"docstring": "Renderer that produces Markdown documentation for MkDocs.\n\nGenerated pages use mkdocstrings directives to reference Python modules,\nallowing MkDocs to render API documentation dynamically.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -23,14 +23,14 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.MkDocsRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources')>",
|
||||
"docstring": "Produce a set of Markdown files in the output directory based on the\nprovided Project models.\n\nArgs:\n project:\n The project model to render.\n\n out_dir:\n Target directory for generated Markdown.\n\n module_is_source:\n If True, treat the module as the root folder."
|
||||
"docstring": "Generate Markdown documentation files for a project.\n\nThis method renders a documentation structure from the provided\nproject model and writes the resulting Markdown files to the\nspecified output directory.\n\nArgs:\n project: Project model containing modules to document.\n out_dir: Directory where generated Markdown files will be written.\n module_is_source: If True, treat the specified module as the\n documentation root rather than nesting it inside a folder."
|
||||
},
|
||||
"generate_readme": {
|
||||
"name": "generate_readme",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.MkDocsRenderer.generate_readme",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_readme', 'docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_readme')>",
|
||||
"docstring": "Generate README.md from the root package docstring.\n\nBehavior:\n\n- If module_is_source is True:\n README.md is generated at project root (docs_dir.parent)\n\n- If module_is_source is False:\n TODO: generate README.md inside respective module folders"
|
||||
"docstring": "Generate a ``README.md`` file from the root module docstring.\n\nBehavior:\n\n- If ``module_is_source`` is True, ``README.md`` is written to the\n project root directory.\n- If False, README generation is currently not implemented.\n\nArgs:\n project: Project model containing documentation metadata.\n docs_dir: Directory containing generated documentation sources.\n module_is_source: Whether the module is treated as the project\n source root."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -39,7 +39,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.MCPRenderer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPRenderer', 'docforge.renderers.mcp_renderer.MCPRenderer')>",
|
||||
"docstring": "Renderer that emits MCP-native JSON resources from docforge models.",
|
||||
"docstring": "Renderer that generates MCP-compatible documentation resources.\n\nThis renderer converts doc-forge project models into structured JSON\nresources suitable for consumption by systems implementing the Model\nContext Protocol (MCP).",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -53,7 +53,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.MCPRenderer.generate_sources",
|
||||
"signature": "<bound method Alias.signature of Alias('generate_sources', 'docforge.renderers.mcp_renderer.MCPRenderer.generate_sources')>",
|
||||
"docstring": "Generate MCP-compatible JSON resources and navigation for the project.\n\nArgs:\n project: The project model to render.\n out_dir: Target directory for the generated JSON files."
|
||||
"docstring": "Generate MCP documentation resources for a project.\n\nThe renderer serializes each module into a JSON resource and produces\nsupporting metadata files such as ``nav.json`` and ``index.json``.\n\nArgs:\n project: Documentation project model to render.\n out_dir: Directory where MCP resources will be written."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -62,7 +62,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.renderers.base",
|
||||
"signature": null,
|
||||
"docstring": "This module defines the base interfaces and configuration containers for\ndoc-forge renderers. All renderer implementations should adhere to the\nDocRenderer protocol.",
|
||||
"docstring": "Renderer base interfaces and configuration models.\n\nThis module defines the base protocol and configuration container used by\ndoc-forge renderers. Concrete renderer implementations should implement the\n``DocRenderer`` protocol.",
|
||||
"members": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -83,7 +83,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.base.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -104,28 +104,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -133,8 +133,8 @@
|
||||
"name": "RendererConfig",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.base.RendererConfig",
|
||||
"signature": "<bound method Class.signature of Class('RendererConfig', 13, 24)>",
|
||||
"docstring": "Configuration container for documentation renderers.\n\nArgs:\n out_dir: The directory where documentation files should be written.\n project: The introspected project models to be rendered.",
|
||||
"signature": "<bound method Class.signature of Class('RendererConfig', 15, 36)>",
|
||||
"docstring": "Configuration container for documentation renderers.\n\nA ``RendererConfig`` instance groups together the project model and the\noutput directory used during rendering.\n\nAttributes:\n out_dir: Directory where generated documentation files will be written.\n project: Documentation project model to be rendered.",
|
||||
"members": {
|
||||
"out_dir": {
|
||||
"name": "out_dir",
|
||||
@@ -156,8 +156,8 @@
|
||||
"name": "DocRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.base.DocRenderer",
|
||||
"signature": "<bound method Class.signature of Class('DocRenderer', 27, 46)>",
|
||||
"docstring": "Protocol defining the interface for documentation renderers.",
|
||||
"signature": "<bound method Class.signature of Class('DocRenderer', 39, 62)>",
|
||||
"docstring": "Protocol defining the interface for documentation renderers.\n\nImplementations of this protocol are responsible for transforming a\n``Project`` model into renderer-specific documentation sources.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -170,8 +170,8 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.base.DocRenderer.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 34, 46)>",
|
||||
"docstring": "Generate renderer-specific source files for the given project.\n\nArgs:\n project: The project models containing modules and objects.\n out_dir: Target directory for the generated files."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 49, 62)>",
|
||||
"docstring": "Generate renderer-specific documentation sources.\n\nArgs:\n project: Project model containing modules and documentation objects.\n out_dir: Directory where generated documentation sources\n should be written."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -217,7 +217,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -238,28 +238,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -268,7 +268,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -296,21 +296,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -319,7 +319,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject",
|
||||
"signature": "<bound method Alias.signature of Alias('DocObject', 'docforge.models.DocObject')>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -368,21 +368,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject.add_member",
|
||||
"signature": "<bound method Alias.signature of Alias('add_member', 'docforge.models.object.DocObject.add_member')>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject.get_member",
|
||||
"signature": "<bound method Alias.signature of Alias('get_member', 'docforge.models.object.DocObject.get_member')>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject.get_all_members",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_members', 'docforge.models.object.DocObject.get_all_members')>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -390,8 +390,8 @@
|
||||
"name": "MCPRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.MCPRenderer",
|
||||
"signature": "<bound method Class.signature of Class('MCPRenderer', 8, 122)>",
|
||||
"docstring": "Renderer that emits MCP-native JSON resources from docforge models.",
|
||||
"signature": "<bound method Class.signature of Class('MCPRenderer', 8, 138)>",
|
||||
"docstring": "Renderer that generates MCP-compatible documentation resources.\n\nThis renderer converts doc-forge project models into structured JSON\nresources suitable for consumption by systems implementing the Model\nContext Protocol (MCP).",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -404,8 +404,8 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.MCPRenderer.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 15, 53)>",
|
||||
"docstring": "Generate MCP-compatible JSON resources and navigation for the project.\n\nArgs:\n project: The project model to render.\n out_dir: Target directory for the generated JSON files."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 19, 60)>",
|
||||
"docstring": "Generate MCP documentation resources for a project.\n\nThe renderer serializes each module into a JSON resource and produces\nsupporting metadata files such as ``nav.json`` and ``index.json``.\n\nArgs:\n project: Documentation project model to render.\n out_dir: Directory where MCP resources will be written."
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -416,7 +416,7 @@
|
||||
"kind": "module",
|
||||
"path": "docforge.renderers.mkdocs_renderer",
|
||||
"signature": null,
|
||||
"docstring": "MkDocsRenderer\n\nGenerates Markdown source files compatible with MkDocs Material\nand mkdocstrings, ensuring:\n\n- Root index.md always exists\n- Parent package indexes are created automatically\n- Child modules are linked in parent index files\n- README.md can be generated from the root package docstring",
|
||||
"docstring": "MkDocs renderer implementation.\n\nThis module defines the ``MkDocsRenderer`` class, which generates Markdown\ndocumentation sources compatible with MkDocs Material and the mkdocstrings\nplugin.\n\nThe renderer ensures a consistent documentation structure by:\n\n- Creating a root ``index.md`` if one does not exist\n- Generating package index pages automatically\n- Linking child modules within parent package pages\n- Optionally generating ``README.md`` from the root package docstring",
|
||||
"members": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -430,7 +430,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -451,28 +451,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -481,7 +481,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -509,21 +509,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -531,8 +531,8 @@
|
||||
"name": "MkDocsRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mkdocs_renderer.MkDocsRenderer",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsRenderer', 17, 242)>",
|
||||
"docstring": "Renderer that generates Markdown source files formatted for the MkDocs\n'mkdocstrings' plugin.",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsRenderer', 20, 272)>",
|
||||
"docstring": "Renderer that produces Markdown documentation for MkDocs.\n\nGenerated pages use mkdocstrings directives to reference Python modules,\nallowing MkDocs to render API documentation dynamically.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -545,15 +545,15 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 28, 66)>",
|
||||
"docstring": "Produce a set of Markdown files in the output directory based on the\nprovided Project models.\n\nArgs:\n project:\n The project model to render.\n\n out_dir:\n Target directory for generated Markdown.\n\n module_is_source:\n If True, treat the module as the root folder."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 34, 71)>",
|
||||
"docstring": "Generate Markdown documentation files for a project.\n\nThis method renders a documentation structure from the provided\nproject model and writes the resulting Markdown files to the\nspecified output directory.\n\nArgs:\n project: Project model containing modules to document.\n out_dir: Directory where generated Markdown files will be written.\n module_is_source: If True, treat the specified module as the\n documentation root rather than nesting it inside a folder."
|
||||
},
|
||||
"generate_readme": {
|
||||
"name": "generate_readme",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_readme",
|
||||
"signature": "<bound method Function.signature of Function('generate_readme', 68, 122)>",
|
||||
"docstring": "Generate README.md from the root package docstring.\n\nBehavior:\n\n- If module_is_source is True:\n README.md is generated at project root (docs_dir.parent)\n\n- If module_is_source is False:\n TODO: generate README.md inside respective module folders"
|
||||
"signature": "<bound method Function.signature of Function('generate_readme', 73, 128)>",
|
||||
"docstring": "Generate a ``README.md`` file from the root module docstring.\n\nBehavior:\n\n- If ``module_is_source`` is True, ``README.md`` is written to the\n project root directory.\n- If False, README generation is currently not implemented.\n\nArgs:\n project: Project model containing documentation metadata.\n docs_dir: Directory containing generated documentation sources.\n module_is_source: Whether the module is treated as the project\n source root."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -58,28 +58,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -88,7 +88,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -116,21 +116,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -139,7 +139,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject",
|
||||
"signature": "<bound method Alias.signature of Alias('DocObject', 'docforge.models.DocObject')>",
|
||||
"docstring": "Represents a documented Python object (class, function, method, etc.).\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (e.g., 'class', 'function', 'attribute').\n path: Full dotted import path to the object.\n signature: Callable signature, if applicable.\n docstring: Raw docstring content extracted from the source.\n members: Dictionary mapping member names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python object.\n\nA ``DocObject`` models a single Python entity discovered during\nintrospection. Objects may contain nested members, allowing the structure\nof modules, classes, and other containers to be represented recursively.\n\nAttributes:\n name: Local name of the object.\n kind: Type of object (for example ``class``, ``function``,\n ``method``, or ``attribute``).\n path: Fully qualified dotted path to the object.\n signature: Callable signature if the object represents a callable.\n docstring: Raw docstring text extracted from the source code.\n members: Mapping of member names to child ``DocObject`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -188,21 +188,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject.add_member",
|
||||
"signature": "<bound method Alias.signature of Alias('add_member', 'docforge.models.object.DocObject.add_member')>",
|
||||
"docstring": "Add a child member to this object (e.g., a method to a class).\n\nArgs:\n obj: The child DocObject to add."
|
||||
"docstring": "Add a child documentation object.\n\nThis is typically used when attaching methods to classes or\nnested objects to their parent containers.\n\nArgs:\n obj: Documentation object to add as a member."
|
||||
},
|
||||
"get_member": {
|
||||
"name": "get_member",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject.get_member",
|
||||
"signature": "<bound method Alias.signature of Alias('get_member', 'docforge.models.object.DocObject.get_member')>",
|
||||
"docstring": "Retrieve a child member by name.\n\nArgs:\n name: The name of the member.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: Name of the member to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If the member does not exist."
|
||||
},
|
||||
"get_all_members": {
|
||||
"name": "get_all_members",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.DocObject.get_all_members",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_members', 'docforge.models.object.DocObject.get_all_members')>",
|
||||
"docstring": "Get all members of this object.\n\nReturns:\n An iterable of child DocObject instances."
|
||||
"docstring": "Return all child members of the object.\n\nReturns:\n An iterable of ``DocObject`` instances representing nested members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -210,8 +210,8 @@
|
||||
"name": "MCPRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mcp_renderer.MCPRenderer",
|
||||
"signature": "<bound method Class.signature of Class('MCPRenderer', 8, 122)>",
|
||||
"docstring": "Renderer that emits MCP-native JSON resources from docforge models.",
|
||||
"signature": "<bound method Class.signature of Class('MCPRenderer', 8, 138)>",
|
||||
"docstring": "Renderer that generates MCP-compatible documentation resources.\n\nThis renderer converts doc-forge project models into structured JSON\nresources suitable for consumption by systems implementing the Model\nContext Protocol (MCP).",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -224,8 +224,8 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mcp_renderer.MCPRenderer.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 15, 53)>",
|
||||
"docstring": "Generate MCP-compatible JSON resources and navigation for the project.\n\nArgs:\n project: The project model to render.\n out_dir: Target directory for the generated JSON files."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 19, 60)>",
|
||||
"docstring": "Generate MCP documentation resources for a project.\n\nThe renderer serializes each module into a JSON resource and produces\nsupporting metadata files such as ``nav.json`` and ``index.json``.\n\nArgs:\n project: Documentation project model to render.\n out_dir: Directory where MCP resources will be written."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"module": "docforge.renderers.mkdocs_renderer",
|
||||
"content": {
|
||||
"path": "docforge.renderers.mkdocs_renderer",
|
||||
"docstring": "MkDocsRenderer\n\nGenerates Markdown source files compatible with MkDocs Material\nand mkdocstrings, ensuring:\n\n- Root index.md always exists\n- Parent package indexes are created automatically\n- Child modules are linked in parent index files\n- README.md can be generated from the root package docstring",
|
||||
"docstring": "MkDocs renderer implementation.\n\nThis module defines the ``MkDocsRenderer`` class, which generates Markdown\ndocumentation sources compatible with MkDocs Material and the mkdocstrings\nplugin.\n\nThe renderer ensures a consistent documentation structure by:\n\n- Creating a root ``index.md`` if one does not exist\n- Generating package index pages automatically\n- Linking child modules within parent package pages\n- Optionally generating ``README.md`` from the root package docstring",
|
||||
"objects": {
|
||||
"Path": {
|
||||
"name": "Path",
|
||||
@@ -16,7 +16,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project",
|
||||
"signature": "<bound method Alias.signature of Alias('Project', 'docforge.models.Project')>",
|
||||
"docstring": "Represents a documentation project, serving as a container for modules.\n\nAttributes:\n name: Name of the project.\n modules: Dictionary mapping module paths to Module instances.",
|
||||
"docstring": "Representation of a documentation project.\n\nA ``Project`` serves as the root container for all modules discovered during\nintrospection. Each module is stored by its dotted import path.\n\nAttributes:\n name: Name of the project.\n modules: Mapping of module paths to ``Module`` instances.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -37,28 +37,28 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.add_module",
|
||||
"signature": "<bound method Alias.signature of Alias('add_module', 'docforge.models.project.Project.add_module')>",
|
||||
"docstring": "Add a module to the project.\n\nArgs:\n module: The module to add."
|
||||
"docstring": "Register a module in the project.\n\nArgs:\n module: Module instance to add to the project."
|
||||
},
|
||||
"get_module": {
|
||||
"name": "get_module",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.get_module",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module', 'docforge.models.project.Project.get_module')>",
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: The dotted path of the module (e.g., 'pkg.mod').\n\nReturns:\n The requested Module."
|
||||
"docstring": "Retrieve a module by its dotted path.\n\nArgs:\n path: Fully qualified dotted module path (for example ``pkg.module``).\n\nReturns:\n The corresponding ``Module`` instance.\n\nRaises:\n KeyError: If the module does not exist in the project."
|
||||
},
|
||||
"get_all_modules": {
|
||||
"name": "get_all_modules",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.get_all_modules",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_modules', 'docforge.models.project.Project.get_all_modules')>",
|
||||
"docstring": "Get all modules in the project.\n\nReturns:\n An iterable of Module objects."
|
||||
"docstring": "Return all modules contained in the project.\n\nReturns:\n An iterable of ``Module`` instances."
|
||||
},
|
||||
"get_module_list": {
|
||||
"name": "get_module_list",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Project.get_module_list",
|
||||
"signature": "<bound method Alias.signature of Alias('get_module_list', 'docforge.models.project.Project.get_module_list')>",
|
||||
"docstring": "Get the list of all module dotted paths.\n\nReturns:\n A list of module paths."
|
||||
"docstring": "Return the list of module import paths.\n\nReturns:\n A list containing the dotted paths of all modules in the project."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -67,7 +67,7 @@
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module",
|
||||
"signature": "<bound method Alias.signature of Alias('Module', 'docforge.models.Module')>",
|
||||
"docstring": "Represents a documented Python module or package.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level docstring content.\n members: Dictionary mapping object names to their DocObject representations.",
|
||||
"docstring": "Representation of a documented Python module or package.\n\nA ``Module`` stores metadata about the module itself and maintains a\ncollection of top-level documentation objects discovered during\nintrospection.\n\nAttributes:\n path: Dotted import path of the module.\n docstring: Module-level documentation string, if present.\n members: Mapping of object names to their corresponding\n ``DocObject`` representations.",
|
||||
"members": {
|
||||
"path": {
|
||||
"name": "path",
|
||||
@@ -95,21 +95,21 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module.add_object",
|
||||
"signature": "<bound method Alias.signature of Alias('add_object', 'docforge.models.module.Module.add_object')>",
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: The object to add."
|
||||
"docstring": "Add a documented object to the module.\n\nArgs:\n obj: Documentation object to register as a top-level\n member of the module."
|
||||
},
|
||||
"get_object": {
|
||||
"name": "get_object",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module.get_object",
|
||||
"signature": "<bound method Alias.signature of Alias('get_object', 'docforge.models.module.Module.get_object')>",
|
||||
"docstring": "Retrieve a member object by name.\n\nArgs:\n name: The name of the object.\n\nReturns:\n The requested DocObject."
|
||||
"docstring": "Retrieve a documented object by name.\n\nArgs:\n name: Name of the object to retrieve.\n\nReturns:\n The corresponding ``DocObject`` instance.\n\nRaises:\n KeyError: If no object with the given name exists."
|
||||
},
|
||||
"get_all_objects": {
|
||||
"name": "get_all_objects",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.Module.get_all_objects",
|
||||
"signature": "<bound method Alias.signature of Alias('get_all_objects', 'docforge.models.module.Module.get_all_objects')>",
|
||||
"docstring": "Get all top-level objects in the module.\n\nReturns:\n An iterable of DocObject instances."
|
||||
"docstring": "Return all top-level documentation objects in the module.\n\nReturns:\n An iterable of ``DocObject`` instances representing the\n module's public members."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -117,8 +117,8 @@
|
||||
"name": "MkDocsRenderer",
|
||||
"kind": "class",
|
||||
"path": "docforge.renderers.mkdocs_renderer.MkDocsRenderer",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsRenderer', 17, 242)>",
|
||||
"docstring": "Renderer that generates Markdown source files formatted for the MkDocs\n'mkdocstrings' plugin.",
|
||||
"signature": "<bound method Class.signature of Class('MkDocsRenderer', 20, 272)>",
|
||||
"docstring": "Renderer that produces Markdown documentation for MkDocs.\n\nGenerated pages use mkdocstrings directives to reference Python modules,\nallowing MkDocs to render API documentation dynamically.",
|
||||
"members": {
|
||||
"name": {
|
||||
"name": "name",
|
||||
@@ -131,15 +131,15 @@
|
||||
"name": "generate_sources",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_sources",
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 28, 66)>",
|
||||
"docstring": "Produce a set of Markdown files in the output directory based on the\nprovided Project models.\n\nArgs:\n project:\n The project model to render.\n\n out_dir:\n Target directory for generated Markdown.\n\n module_is_source:\n If True, treat the module as the root folder."
|
||||
"signature": "<bound method Function.signature of Function('generate_sources', 34, 71)>",
|
||||
"docstring": "Generate Markdown documentation files for a project.\n\nThis method renders a documentation structure from the provided\nproject model and writes the resulting Markdown files to the\nspecified output directory.\n\nArgs:\n project: Project model containing modules to document.\n out_dir: Directory where generated Markdown files will be written.\n module_is_source: If True, treat the specified module as the\n documentation root rather than nesting it inside a folder."
|
||||
},
|
||||
"generate_readme": {
|
||||
"name": "generate_readme",
|
||||
"kind": "function",
|
||||
"path": "docforge.renderers.mkdocs_renderer.MkDocsRenderer.generate_readme",
|
||||
"signature": "<bound method Function.signature of Function('generate_readme', 68, 122)>",
|
||||
"docstring": "Generate README.md from the root package docstring.\n\nBehavior:\n\n- If module_is_source is True:\n README.md is generated at project root (docs_dir.parent)\n\n- If module_is_source is False:\n TODO: generate README.md inside respective module folders"
|
||||
"signature": "<bound method Function.signature of Function('generate_readme', 73, 128)>",
|
||||
"docstring": "Generate a ``README.md`` file from the root module docstring.\n\nBehavior:\n\n- If ``module_is_source`` is True, ``README.md`` is written to the\n project root directory.\n- If False, README generation is currently not implemented.\n\nArgs:\n project: Project model containing documentation metadata.\n docs_dir: Directory containing generated documentation sources.\n module_is_source: Whether the module is treated as the project\n source root."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
"module": "docforge.servers",
|
||||
"content": {
|
||||
"path": "docforge.servers",
|
||||
"docstring": null,
|
||||
"docstring": "Server layer for doc-forge.\n\nThis module exposes server implementations used to provide live access\nto generated documentation resources. Currently, it includes the MCP\ndocumentation server.\n\n---",
|
||||
"objects": {
|
||||
"MCPServer": {
|
||||
"name": "MCPServer",
|
||||
"kind": "class",
|
||||
"path": "docforge.servers.MCPServer",
|
||||
"signature": "<bound method Alias.signature of Alias('MCPServer', 'docforge.servers.mcp_server.MCPServer')>",
|
||||
"docstring": "MCP server for serving a pre-built MCP documentation bundle.",
|
||||
"docstring": "MCP server for serving a pre-generated documentation bundle.\n\nThe server exposes documentation resources and diagnostic tools through\nMCP endpoints backed by JSON files generated by the MCP renderer.",
|
||||
"members": {
|
||||
"mcp_root": {
|
||||
"name": "mcp_root",
|
||||
@@ -30,7 +30,7 @@
|
||||
"kind": "function",
|
||||
"path": "docforge.servers.MCPServer.run",
|
||||
"signature": "<bound method Alias.signature of Alias('run', 'docforge.servers.mcp_server.MCPServer.run')>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: MCP transport (default: streamable-http)"
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: Transport mechanism used by the MCP server. Supported\n options include ``stdio``, ``sse``, and ``streamable-http``."
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -87,8 +87,8 @@
|
||||
"name": "MCPServer",
|
||||
"kind": "class",
|
||||
"path": "docforge.servers.mcp_server.MCPServer",
|
||||
"signature": "<bound method Class.signature of Class('MCPServer', 10, 95)>",
|
||||
"docstring": "MCP server for serving a pre-built MCP documentation bundle.",
|
||||
"signature": "<bound method Class.signature of Class('MCPServer', 10, 122)>",
|
||||
"docstring": "MCP server for serving a pre-generated documentation bundle.\n\nThe server exposes documentation resources and diagnostic tools through\nMCP endpoints backed by JSON files generated by the MCP renderer.",
|
||||
"members": {
|
||||
"mcp_root": {
|
||||
"name": "mcp_root",
|
||||
@@ -108,8 +108,8 @@
|
||||
"name": "run",
|
||||
"kind": "function",
|
||||
"path": "docforge.servers.mcp_server.MCPServer.run",
|
||||
"signature": "<bound method Function.signature of Function('run', 88, 95)>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: MCP transport (default: streamable-http)"
|
||||
"signature": "<bound method Function.signature of Function('run', 111, 122)>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: Transport mechanism used by the MCP server. Supported\n options include ``stdio``, ``sse``, and ``streamable-http``."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
"name": "MCPServer",
|
||||
"kind": "class",
|
||||
"path": "docforge.servers.mcp_server.MCPServer",
|
||||
"signature": "<bound method Class.signature of Class('MCPServer', 10, 95)>",
|
||||
"docstring": "MCP server for serving a pre-built MCP documentation bundle.",
|
||||
"signature": "<bound method Class.signature of Class('MCPServer', 10, 122)>",
|
||||
"docstring": "MCP server for serving a pre-generated documentation bundle.\n\nThe server exposes documentation resources and diagnostic tools through\nMCP endpoints backed by JSON files generated by the MCP renderer.",
|
||||
"members": {
|
||||
"mcp_root": {
|
||||
"name": "mcp_root",
|
||||
@@ -71,8 +71,8 @@
|
||||
"name": "run",
|
||||
"kind": "function",
|
||||
"path": "docforge.servers.mcp_server.MCPServer.run",
|
||||
"signature": "<bound method Function.signature of Function('run', 88, 95)>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: MCP transport (default: streamable-http)"
|
||||
"signature": "<bound method Function.signature of Function('run', 111, 122)>",
|
||||
"docstring": "Start the MCP server.\n\nArgs:\n transport: Transport mechanism used by the MCP server. Supported\n options include ``stdio``, ``sse``, and ``streamable-http``."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
25
mkdocs.yml
25
mkdocs.yml
@@ -8,12 +8,19 @@ theme:
|
||||
text: Inter
|
||||
code: JetBrains Mono
|
||||
features:
|
||||
- navigation.tabs
|
||||
- navigation.sections
|
||||
- navigation.expand
|
||||
- navigation.top
|
||||
- navigation.instant
|
||||
- navigation.tracking
|
||||
- navigation.indexes
|
||||
- content.code.copy
|
||||
- content.code.annotate
|
||||
- content.tabs.link
|
||||
- content.action.edit
|
||||
- search.highlight
|
||||
- search.share
|
||||
- search.suggest
|
||||
plugins:
|
||||
- search
|
||||
- mkdocstrings:
|
||||
@@ -31,10 +38,26 @@ plugins:
|
||||
annotations_path: brief
|
||||
show_root_heading: true
|
||||
group_by_category: true
|
||||
show_category_heading: true
|
||||
show_object_full_path: false
|
||||
show_symbol_type_heading: true
|
||||
markdown_extensions:
|
||||
- admonition
|
||||
- pymdownx.details
|
||||
- pymdownx.superfences
|
||||
- pymdownx.highlight:
|
||||
anchor_linenums: true
|
||||
line_spans: __span
|
||||
pygments_lang_class: true
|
||||
- pymdownx.tabbed:
|
||||
alternate_style: true
|
||||
- pymdownx.tasklist:
|
||||
custom_checkbox: true
|
||||
- tables
|
||||
- footnotes
|
||||
- pymdownx.caret
|
||||
- pymdownx.tilde
|
||||
- pymdownx.mark
|
||||
site_name: docforge
|
||||
nav:
|
||||
- Home: index.md
|
||||
|
||||
Reference in New Issue
Block a user