Metadata-Version: 2.4
Name: sphinx-ux-autodoc-layout
Version: 0.0.1a22
Summary: Componentized layout for Sphinx autodoc output
Author-email: Tony Narlock <tony@git-pull.com>
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Sphinx
Classifier: Framework :: Sphinx :: Extension
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Documentation
Classifier: Topic :: Documentation :: Sphinx
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: sphinx>=8.1
Description-Content-Type: text/markdown

# sphinx-ux-autodoc-layout

Componentized layout for Sphinx autodoc output. It preserves Sphinx's
outer `dl / dt / dd` structure while rebuilding managed object-description
entries into stable `api-*` components. The current shared layout covers
Python API objects, pytest fixtures, Sphinx `confval` entries, docutils
`rst:*` entries, and internal FastMCP `mcp:tool` prototypes used to validate
future consolidation work.

The extension keeps header composition in a late `doctree-resolved` pass so
badges, source links, and permalinks can be positioned independently without
raw HTML mutation. Large signatures can fold into native multiline signature
markup, and expanded folded signatures show annotations by default via
`api_signature_show_annotations`.

For shared consumers, the public helper surface now includes:

- `build_api_card_entry()` for section-card consumers that need the same inner
  `api-*` shell without becoming `desc` entries
- `build_api_summary_section()` for summary/index wrappers such as config and
  fixture tables

## Install

```console
$ pip install sphinx-ux-autodoc-layout
```

## Usage

Standalone Sphinx project:

```python
extensions = ["sphinx.ext.autodoc", "sphinx_ux_autodoc_layout"]
api_layout_enabled = True
```

With `gp-sphinx`:

```python
conf = merge_sphinx_config(
    ...,
    extra_extensions=["sphinx_ux_autodoc_layout"],
    api_layout_enabled=True,
)
```

## Documentation

See the [full documentation](https://gp-sphinx.git-pull.com/packages/sphinx-ux-autodoc-layout/)
for configuration reference, CSS classes, and live demos.
