Skip to main content

A modern Python documentation generator. Sphinx alternative using Nextra + shadcn.

Project description

Folio

Modern Python documentation generator. Sphinx alternative powered by Nextra + shadcn/ui.

Documentation · GitHub

CI PyPI Python License

Quickstart

Folio is a Python CLI that uses a bundled Nextra/Next.js template at build time. Install it as a uv tool:

uv tool install folio-docs
folio init
folio serve

For scripted installs, download and inspect the standalone installer before running it:

curl -LsSf https://raw.githubusercontent.com/pguijas/folio/main/install.sh | less
curl -LsSf -o install-folio.sh https://raw.githubusercontent.com/pguijas/folio/main/install.sh
sh install-folio.sh

Build and serve commands require Node.js 20.19+ and pnpm 10.

Three commands. You get a full docs site with API reference, dark mode, search, and a modern component library — all generated from your Python source code and a single docs.yaml.

How it works

Folio reads your Python modules and Markdown guides, converts them into an intermediate representation, writes MDX pages into a bundled Nextra/Next.js template, installs the template's pnpm dependencies when needed, and exports a static site. The generated output includes guides, API reference pages, search data, and optional LLM files.

See it in action

Folio documents itself. The live site was generated by the tool you're looking at, from the same Markdown guides and Python source published in this repository.

What you get

  • Auto API reference — Classes, functions, types, and parameters extracted via AST
  • Single YAML config — one docs.yaml replaces conf.py + extensions; minimal configs are ~30 lines
  • Modern UI — Dark mode, Pagefind search, responsive layout, theme configurator
  • Incremental builds — SHA-256 manifest skips unchanged pages
  • Rich components — Mermaid diagrams, KaTeX math, tabs, accordion, timeline, file tree
  • LLM-friendly output — Generates llms.txt alongside your docs
  • Static deployment — Export plain files for GitHub Pages, Vercel, Netlify, or Docker
  • Sphinx migration — step-by-step migration guide from Sphinx projects

Contributing

See CONTRIBUTING.md.

License

AGPL-3.0-only — see LICENSE. Bundled third-party materials (shadcn/ui components, service logos) are covered in THIRD-PARTY-NOTICES.md.

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

folio_docs-0.1.0.tar.gz (660.3 kB view details)

Uploaded Source

Built Distribution

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

folio_docs-0.1.0-py3-none-any.whl (328.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: folio_docs-0.1.0.tar.gz
  • Upload date:
  • Size: 660.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for folio_docs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8d855570bdb282dafd5200fdeef64cdf4dc40835f8404c30bf3b4cf8358e19a6
MD5 5470841516a89d202f41c89a030756c7
BLAKE2b-256 eb44c70d9e1c7820bc3194d63c72158a0933fcc236a78df9baf357500b6b080d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: folio_docs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 328.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for folio_docs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3880e3d14511d78705c95535468e9e36dddd172a5def4f95c00fd76a9cf4f20c
MD5 1c77f0c4ff807d22448029f7b165a451
BLAKE2b-256 ba50c77dec1a81588165d913b8a4a22b6bbc674a990571e12c3c04339d3d9144

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