Metadata-Version: 2.4
Name: pydox
Version: 0.2.0
Summary: Local-first Python documentation generator. Extracts docstrings + signatures, outputs clean Markdown.
Author: pydox contributors
License: MIT
Project-URL: Homepage, https://github.com/morata43-png/pydox
Project-URL: Issues, https://github.com/morata43-png/pydox/issues
Keywords: documentation,docstring,python,cli,static-analysis,mkdocs,sphinx
Classifier: Development Status :: 3 - Alpha
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: Topic :: Software Development :: Documentation
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer>=0.9.0
Requires-Dist: rich>=13.0.0
Requires-Dist: griffe>=0.40.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Dynamic: license-file

<p align="center">
  <a href="https://pypi.org/project/pydox/"><img src="https://img.shields.io/pypi/v/pydox?style=for-the-badge&logo=pypi&logoColor=white&color=blue" alt="PyPI version"></a>
  <a href="https://pypi.org/project/pydox/"><img src="https://img.shields.io/pypi/dm/pydox?style=for-the-badge&logo=pypi&logoColor=white&color=green" alt="PyPI downloads"></a>
  <a href="https://github.com/morata43-png/pydox/actions"><img src="https://img.shields.io/github/actions/workflow/status/morata43-png/pydox/test.yml?style=for-the-badge&logo=githubactions&logoColor=white" alt="Tests"></a>
  <a href="https://github.com/morata43-png/pydox/blob/main/LICENSE"><img src="https://img.shields.io/github/license/morata43-png/pydox?style=for-the-badge&color=orange" alt="License"></a>
  <a href="https://github.com/morata43-png/pydox/issues"><img src="https://img.shields.io/github/issues/morata43-png/pydox?style=for-the-badge&logo=github&logoColor=white" alt="Issues"></a>
  <a href="https://github.com/morata43-png/pydox/stargazers"><img src="https://img.shields.io/github/stars/morata43-png/pydox?style=for-the-badge&logo=github&logoColor=white" alt="GitHub stars"></a>
</p>


# pydox

> Local-first Python documentation generator. Extracts docstrings + signatures, outputs clean Markdown.

A lightweight CLI tool that generates API documentation from your Python code. No cloud, no API costs, no setup.

## Why pydox?

- ✅ **No API costs**: Pure static analysis, runs entirely on your machine
- ✅ **No cloud**: Your code never leaves your computer
- ✅ **Fast**: Analyzes thousands of files in seconds
- ✅ **Simple output**: Clean Markdown, ready for MkDocs/Docusaurus
- ✅ **Open source**: MIT license, code on GitHub

## Installation

```bash
pipx install pydox
```

Or with pip:

```bash
pip install --user pydox
```

## Usage

```bash
# Document current directory
pydox generate

# Document specific file
pydox generate mymodule.py

# Document a directory and save to file
pydox generate ./src --output docs/API.md

# Generate an index file (summary table)
pydox generate ./src --index --output docs/
```

## Output example

For a file like:

```python
def hello_world(name: str) -> str:
    """Greet someone by name.
    
    Args:
        name: The name to greet.
    
    Returns:
        A greeting string.
    """
    return f"Hello, {name}!"
```

pydox generates:

```markdown
# `mymodule.py`

## Functions

### `def hello_world(name: str) -> str`

Greet someone by name.

**Args:**
- `name`: The name to greet.

**Returns:**
A greeting string.
```

## Pricing

| Tier | Price | Features |
|------|-------|----------|
| **Free** | $0/mes | 1 repo, basic extraction, Markdown output |
| **Pro** | **$3/mes** | Unlimited repos, custom templates, MkDocs/Docusaurus integration, CI integration |
| **Team** | $10/mes | Team analytics, shared templates, priority support |

## License

MIT
