Metadata-Version: 2.4
Name: pydox
Version: 0.1.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
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

# 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
