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 ioteverythin) 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.2.0.tar.gz (71.8 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.2.0-py3-none-any.whl (68.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for opendocs-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e39cd8bd7b0569da625af3f138ea5d1b459f04a8f059f423526bc6ab402e0631
MD5 c008e64c50ba0cf449c29510e6fd9239
BLAKE2b-256 e822711a6051140aed12d8c7da2c365a36077cb31af2f77bfbb344397a52a953

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opendocs-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 68.3 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f3327f40e9a13a236a5207e8d3efd1ab3398369cd9115f3a7c78df1f8249714a
MD5 5cb81f5778e15f7ac1f377fe3b00b67a
BLAKE2b-256 efd2e4d9ca5edbae131e1f7276c0bd7a979d7263793a99238523c636fa44ca2f

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