Metadata-Version: 2.4
Name: mkpy-client
Version: 1.4.1
Summary: Minimalistic Python library for generating and serving documentation from Markdown files
Author-email: Your Name <your@email.com>
License: MIT
Project-URL: Homepage, https://github.com/ndugram/mkpy
Project-URL: Repository, https://github.com/ndugram/mkpy
Project-URL: Issues, https://github.com/ndugram/mkpy/issues
Keywords: markdown,documentation,docs,http-server,static-site
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
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: Topic :: Software Development :: Documentation
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: annotated-doc>=0.0.4
Requires-Dist: markdown>=3.7
Requires-Dist: rich>=13.0
Requires-Dist: typer>=0.23.2
Requires-Dist: typing_extensions>=4.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: ruff>=0.4; extra == "dev"
Requires-Dist: mypy>=1.8; extra == "dev"

# mkpy

Minimalistic Python library for generating and serving documentation from Markdown files.

## Installation

```bash
pip install mkpy-client
```

## Quick Start

```python
from mkpy import Docs

docs = Docs(
    title="My Project",
    theme="dark",
    port=3000,
)
docs.run()
```

## CLI

```bash
# Run with defaults
mkpy serve

# With options
mkpy serve --folder docs --theme dark --port 3000

# From config file
mkpy serve main.py
```

## Features

- Automatic markdown to HTML conversion
- Built-in HTTP server
- Auto routes from file structure
- Light and dark themes
- Custom CSS and JavaScript
- Auto-discovery of css/ and js/ folders
- Navigation menu
- Sitemap generation

## Configuration File

```python
# main.py
from mkpy import Docs

docs = Docs(
    folder="docs",
    title="My Project",
    theme="dark",
    port=3000,
    custom_css="styles.css",
)
```

## Structure

```
docs/
├── index.md
├── about.md
└── guide/
    └── install.md
```

Routes:
- `/` -> index.md
- `/about` -> about.md
- `/guide/install` -> guide/install.md

## Requirements

- Python 3.9+
- markdown
- rich (optional, for colored output)
- typer (optional, for CLI)

## License

MIT
