Skip to main content

A Sphinx extension/tool to manage multi-version and multi-language documentation builds without relying on ReadTheDocs.

Project description

Easy Versioning (Sphinx documentation build framework)

This framework was created to address the need for adding versioning to a Sphinx project without relying on Read the Docs (RTD).

This Python script automates the full workflow of preparing, versioning, building, and organizing documentation from Markdown files using the Sphinx Framework.

Itโ€™s designed for teams and organizations who want to self-host their documentation sites and prefer full control over the hosting environment and theme customization.
Easy Versioning works as an alternative approach for managing versioned and multilingual docs, complementing existing Sphinx workflows in a simple way with only one framework.

By organizing your source files in the expected structure, this framework actively builds your documentation with Sphinx and outputs a fully ready-to-deploy static site.
With minimal setup, it streamlines the process of managing multiple versions and languages, adding consistent footers, and arranging build artifacts for deployment.


Features

This project allows you to:

  • Manage multiple documentation versions
  • Support multiple languages for each version
  • Add custom footers showing version and language info
  • Security by ensuring a safe fallback to an existing page so users are always redirected proprely
  • Build documentation automatically using Sphinx for every version and language
  • Organize generated HTML files into a clean, ready-to-deploy structure

Prerequisites

Make sure you have the following installed on your system:

  • Python version >= 3.8
  • Install the required Python libraries using pip install -r requirements.txt

Folders set-up

๐Ÿ“ฆ Easy_versioning_Sphinx/
โ”œโ”€โ”€ ๐Ÿ“‚ data/
โ”‚ โ””โ”€โ”€ ๐Ÿ“„ Footer.md
โ”œโ”€โ”€ ๐Ÿ“‚ src/
โ”‚ โ”œโ”€โ”€ ๐Ÿ“ V. X.XX/
โ”‚ โ”‚ โ”œโ”€โ”€ ๐ŸŒ Language 1/
โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“˜ Language 1 Sphinx Project/
โ”‚ โ”‚ โ””โ”€โ”€ ๐ŸŒ Language 2/
โ”‚ โ”‚ โ””โ”€โ”€ ๐Ÿ“˜ Language 2 Sphinx Project/
โ”‚ โ”œโ”€โ”€ ๐Ÿ“ V. Y.YY/
โ”‚ โ”œโ”€โ”€ ๐Ÿ“ V. Y.YY/

Why use this?

Easy Versioning offers:

โœ… A ready-to-deploy website, already structured in the output folder
โœ… Full control of your hosting and deployment
โœ… Freedom to use any Sphinx theme or customization
โœ… Safe fallback automatically redirects users to a valid page if their requested version or language is unavailable โœ… A simple and consistent workflow for large, multilingual, versioned docs

This framework is not a replacement for ReadTheDocs but rather a complementary free solution for teams who prefer to host their own documentation or require a different setup.

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

easy_versioning-1.0.1.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

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

easy_versioning-1.0.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file easy_versioning-1.0.1.tar.gz.

File metadata

  • Download URL: easy_versioning-1.0.1.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for easy_versioning-1.0.1.tar.gz
Algorithm Hash digest
SHA256 b06da8ac67d53f8c9cc6f36960cf48d528846b485785c76339df20259ea38b21
MD5 121f3571fe8ca7367be3d01f0a85c6f1
BLAKE2b-256 88baf0f054f875375f7d6b173269cf82c18a031850214a6459eaa4267f4a0ab9

See more details on using hashes here.

File details

Details for the file easy_versioning-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for easy_versioning-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7b0e4d1ddaf01c17c880ba055c6528e8b7da7410755d1b4f9807a2389d73c59f
MD5 277ef6b1002b48a96f5f1bde053884d4
BLAKE2b-256 9bb5db7a237d75a8b9739a2b00bf3669d0f4557af20441b6952b18b139c43e77

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