Skip to main content

Convert GitHub README files into structured multi-format documentation artifacts.

Project description

๏ฟฝ OpenDocs

Convert any GitHub README into structured, multi-format documentation โ€” instantly.

PyPI License: MIT Python 3.10+ Tests

What is OpenDocs?

OpenDocs (by IoTEverything) takes a GitHub repository README and automatically generates beautiful, professional documentation in multiple formats:

Output Format Status
๐Ÿ“„ Technical Report .docx (Word) โœ…
๐Ÿ“Š Executive Deck .pptx (PowerPoint) โœ…
๐Ÿ“‘ PDF Documentation .pdf โœ…
๐Ÿ“ Analysis Report .md (Markdown) โœ…
๐Ÿ“ Mermaid Diagrams PNG rendering โœ…
๐Ÿง  Knowledge Graph Entity extraction โœ…
๐Ÿค– LLM Summaries Stakeholder views โœ…
๐ŸŽจ 7 Themes corporate, ocean, sunset, dark, minimal, emerald, royal โœ…

Two Modes

  1. Basic (Deterministic) โ€” Pure Markdown AST parsing, no LLM required. Fast, free, predictable.
  2. LLM (AI-Powered) โ€” Uses OpenAI to extract entities, build knowledge graphs, and generate executive summaries + stakeholder views (CTO, Investor, Developer).

Quick Start

Install from PyPI

pip install opendocs

For LLM features:

pip install opendocs[llm]

Install from source

git clone https://github.com/ioteverythin/OpenDocs.git
cd OpenDocs
pip install -e ".[dev,llm]"

Usage

CLI:

# Generate all formats from a GitHub README
opendocs generate https://github.com/owner/repo

# Generate specific format with a theme
opendocs generate https://github.com/owner/repo --format word --theme ocean

# From a local README file
opendocs generate ./README.md --local

# LLM mode with knowledge graph + stakeholder summaries
opendocs generate ./README.md --local --mode llm --api-key sk-...

# Specify output directory
opendocs generate https://github.com/owner/repo -o ./my-docs

# List available themes
opendocs themes

Python API:

from opendocs.pipeline import Pipeline

pipeline = Pipeline()
pipeline.run(
    "https://github.com/owner/repo",
    theme_name="ocean",
    mode="llm",
    api_key="sk-...",
)

Features

  • 7 Built-in Themes โ€” Corporate, Ocean, Sunset, Dark, Minimal, Emerald, Royal
  • Mermaid โ†’ PNG โ€” Renders mermaid diagrams to images via mermaid.ink API
  • Knowledge Graph โ€” Extracts 10+ entity types (projects, technologies, APIs, metrics, etc.)
  • Smart Table Sorting โ€” 6 strategies (smart, alpha, numeric, column:N, column:N:desc, none)
  • LLM Summaries โ€” Executive summary + CTO / Investor / Developer stakeholder views
  • Architecture Diagrams โ€” Auto-generated KG visualization as Mermaid graph

Architecture

GitHub URL / Local .md
        โ”‚
        โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   README Fetch   โ”‚  โ† httpx + GitHub API
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Markdown Parser โ”‚  โ† mistune 3.x AST
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Table Sorting   โ”‚  โ† 6 strategies
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  KG Extraction   โ”‚  โ† Semantic + optional LLM
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Diagram Renderer โ”‚  โ† mermaid.ink API
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚
    โ”Œโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”
    โ–ผ    โ–ผ    โ–ผ    โ–ผ      โ–ผ
  Word  PDF  PPTX  MD  Diagrams

Development

# Install dev dependencies
pip install -e ".[dev,llm]"

# Run tests (114 tests)
pytest

# Lint
ruff check src/

Contributing

Contributions are welcome! Please open issues and PRs on GitHub.

License

MIT License โ€” see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opendocs-0.1.0.tar.gz (69.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opendocs-0.1.0-py3-none-any.whl (66.2 kB view details)

Uploaded Python 3

File details

Details for the file opendocs-0.1.0.tar.gz.

File metadata

  • Download URL: opendocs-0.1.0.tar.gz
  • Upload date:
  • Size: 69.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for opendocs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0a3987076b2aa1eaeecf7dda6391cefe61d15ff2e48236c9c129ea40ee4f10d2
MD5 4592c22c0f231a78fe7916fd69eeea17
BLAKE2b-256 c8e7ee8693098509e6eb3412d1609bbc74d4a8f80bb15d90237b828f7162df7a

See more details on using hashes here.

File details

Details for the file opendocs-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: opendocs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 66.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for opendocs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5c11c2a0c11194a2b5628027c17c04dc1eb8a231ddf152cb90376d0ec9405fa
MD5 a1dffdb1c3ed80a3cfddd70b9aee6060
BLAKE2b-256 c2b9bdc4ae31f01d862851de787a5cf172c475fea6f021772135980f051e0d22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page