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 โœ…
๏ฟฝ๏ธ Blog Post .md (SEO-ready) โœ… NEW
๐ŸŽซ Jira Tickets .json (Epic + Stories) โœ… NEW
๐Ÿ“ Changelog / Release Notes .md โœ… NEW
๐ŸŽ“ Academic Paper .tex (LaTeX / IEEE) โœ… NEW
๐Ÿ“‹ One-Pager / Datasheet .pdf (executive) โœ… NEW
๐Ÿ“ฃ Social Cards .json (OG + posts) โœ… NEW
๏ฟฝ๐Ÿ“ 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

# Generate blog post only
opendocs generate https://github.com/owner/repo --format blog

# Generate Jira tickets from README
opendocs generate ./README.md --local --format jira

# Generate LaTeX academic paper
opendocs generate https://github.com/owner/repo --format latex

# Generate executive one-pager PDF
opendocs generate https://github.com/owner/repo --format onepager

# Generate social media cards & post text
opendocs generate https://github.com/owner/repo --format social

# Generate changelog / release notes
opendocs generate https://github.com/owner/repo --format changelog

# 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-...",
)

Format Flags Reference

Use -f / --format to generate only what you need:

Flag Output File
word Word document .docx
pdf PDF document .pdf
pptx PowerPoint deck .pptx
blog SEO blog post .md (with front-matter)
jira Jira tickets (Epic + Stories) .json
changelog Release notes .md
latex IEEE-style academic paper .tex
onepager Executive one-pager .pdf
social Social cards + post text .json (OG, Twitter, LinkedIn, Reddit)
all Everything above (default) all formats

CLI examples:

# Single format
opendocs generate https://github.com/owner/repo -f jira

# Default generates ALL formats
opendocs generate https://github.com/owner/repo

Python API โ€” pick your formats:

from opendocs.pipeline import Pipeline
from opendocs.core.models import OutputFormat

pipeline = Pipeline()

# Generate only Jira tickets
pipeline.run(
    "https://github.com/owner/repo",
    formats=[OutputFormat.JIRA],
)

# Generate blog + social cards
pipeline.run(
    "https://github.com/owner/repo",
    formats=[OutputFormat.BLOG, OutputFormat.SOCIAL],
)

# Classic trio only
pipeline.run(
    "https://github.com/owner/repo",
    formats=[OutputFormat.WORD, OutputFormat.PDF, OutputFormat.PPTX],
)

# All available OutputFormat values:
# OutputFormat.WORD, OutputFormat.PDF, OutputFormat.PPTX,
# OutputFormat.BLOG, OutputFormat.JIRA, OutputFormat.CHANGELOG,
# OutputFormat.LATEX, OutputFormat.ONEPAGER, OutputFormat.SOCIAL

Features

  • 9 Output Formats โ€” Word, PDF, PPTX, Blog Post, Jira Tickets, Changelog, LaTeX Paper, One-Pager PDF, Social Cards
  • 7 Built-in Themes โ€” Corporate, Ocean, Sunset, Dark, Minimal, Emerald, Royal
  • Blog Post Generator โ€” SEO-friendly Markdown with front-matter, TOC, code examples, and CTA
  • Jira Ticket Export โ€” Epic + Stories with acceptance criteria, story points, and labels
  • Changelog Generator โ€” Categorized release notes (Features, Setup, API, DevOps, etc.)
  • LaTeX Paper โ€” IEEE/ACM-style academic paper with abstract, code listings, tables, bibliography
  • Executive One-Pager โ€” Single-page PDF datasheet with stats, features, tech stack, install command
  • Social Cards โ€” OG metadata + ready-to-post text for Twitter, LinkedIn, Reddit, HN, Product Hunt
  • 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  Blog  Jira  Change  LaTeX  1-Pgr  Social
                                 log

Development

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

# Run tests (136 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.4.0.tar.gz (99.9 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.4.0-py3-none-any.whl (101.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for opendocs-0.4.0.tar.gz
Algorithm Hash digest
SHA256 a59b45eac9ba2c9fe9c9ac5ce64917f0489a6f49db3b9ce54318872ab099068c
MD5 7861eea420f01bc7812552d651b4e809
BLAKE2b-256 8e9a1e8cda08c91f8c5dd7ef5cf8c62695ec1858bd31e3ed7c4cd2051146a857

See more details on using hashes here.

File details

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

File metadata

  • Download URL: opendocs-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 101.0 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 72cdb231ce8912738c2103b9f25d01bb9cfa1562be3dc9a3535c6b9ea88b419a
MD5 85b13048fbaf2e92a532fde0257d7a7c
BLAKE2b-256 bd52d780b27bf05b8aa1368657735f3197dcc23122bf355f0ca25021f1ea3746

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