Metadata-Version: 2.4
Name: pressready
Version: 0.1.0
Summary: Manuscript in, publish-ready book out: EPUB, print interior PDF and wrap cover for AI agents.
License: MIT
Keywords: mcp,model-context-protocol,ai-agents,kdp,epub,book-publishing,pdf,self-publishing
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Topic :: Text Processing :: Markup
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: reportlab>=4.0
Requires-Dist: pillow
Requires-Dist: mcp<2,>=1.2
Requires-Dist: fastapi>=0.110
Requires-Dist: uvicorn>=0.29
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: pypdf; extra == "dev"
Requires-Dist: httpx; extra == "dev"
Dynamic: license-file

# PressReady

Manuscript in, publish-ready book out. Give it Markdown chapters, metadata and a front-cover image. It returns:

1. Kindle EPUB 3 (cover embedded, TOC, front/back matter)
2. Print interior PDF at the requested trim size (5x8, 5.5x8.5, 6x9, 8.5x11)
3. Full-wrap paperback cover PDF (spine width computed from page count and paper type)
4. Upload checklist (JSON) with the values KDP asks for

<!-- mcp-name: io.github.ridhwaan-ai/pressready -->
mcp-name: io.github.ridhwaan-ai/pressready

Status: live API at https://pressready-wp38.onrender.com (free tier, sleeps when idle). First PyPI release pending. See ROADMAP.md.

## CLI

    pip install -e .
    pressready build manuscript/ --trim 5.5x8.5 --paper cream

## MCP server

    pressready-mcp

Tools: `build_book`, `spine_width`, `list_trim_sizes`.

## HTTP API

    uvicorn pressready.api:app

- `POST /v1/books` creates a job, `GET /v1/books/{id}` returns status and download URLs
- `GET /v1/limits`, `GET /v1/pricing`: machine-readable limits and pricing
- `GET /llms.txt`, `GET /quickstart.txt`: agent docs
- `GET /openapi.json`: OpenAPI spec
- `GET /health`: health check

Jobs are in memory and expire after about 15 minutes.

## Notes

PressReady produces files; it never logs in to KDP or any other site. Check the output in KDP's previewer before publishing. Output is generated by software; disclose AI use in KDP where its rules require it.
