Skip to main content

edX API Documentation Tools

PyPI CI Codecov Documentation Supported License

A toolkit for documenting REST APIs that are created with DRF.

The tools use drf-yasg (DRF, yet another Swagger generator) to generate an OpenAPI Specification, which is a .json/.yaml file that describes your API. Additionally, this package makes it easy to configure your service to expose generated OpenAPI specification under /api-docs.yaml and to serve interactive documentation under /api-docs.

This library was developed for use with Open edX services, but could be used to document any Django REST Framework API.

Quick Start

To start using this tool in your project, see Adding edx-api-doc-tools to your project.

To write docs using this tool, see Writing API documentation.

Documentation

Comphrehensive documentation is coming soon. For now, check out the example/ directory, which shows a fake API using these tools to generate documentation.

License

The code in this repository is licensed under the Apache Software License 2.0 unless otherwise noted.

Please see LICENSE.txt for details.

How To Contribute

Contributions are very welcome. Please read How To Contribute for details. Even though they were written with edx-platform in mind, the guidelines should be followed for all Open edX projects.

The pull request description template should be automatically applied if you are creating a pull request from GitHub. Otherwise you can find it at PULL_REQUEST_TEMPLATE.md.

The issue report template should be automatically applied if you are creating an issue on GitHub as well. Otherwise you can find it at ISSUE_TEMPLATE.md.

Reporting Security Issues

Please do not report security issues in public. Please email security@openedx.org.

Getting Help

Have a question about this repository, or about the Open edX project in general? Please refer to this list of resources if you need any assistance.

Change Log

Unreleased

2.1.2 - 2026-01-39

  • Fix builds to PyPI

2.1.1 - 2026-01-39

  • Fix make upgrade, update dependencies

2.1.0 - 2025-04-18

  • Added Support for django 5.2.

2.0.0 — 2024-09-09

  • Drop support for Python 3.8

  • Add setuptools as a direct dependency

1.8.0 — 2024-02-29

  • Add support for python 3.11 and 3.12 support.

  • Removed django32 support.

1.7.0 — 2023-07-23

  • Switch from edx-sphinx-theme to sphinx-book-theme since the former is deprecated

  • Add support for Django 4.2

1.6.0 — 2022-02-11

  • Dropped support for django 2.2, 3.0, 3.1

  • Added support for Django 4.0

1.5.0 — 2021-07-19

  • Added support for django 3.0, 3.1 and 3.2

1.4.3 — 2021-07-15

  • Removed Django constraints from base.in

1.4.2 — 2021-01-08

  • Dropped python3.5 support.

1.4.1 — 2020-11-20

  • Updated the travis-badge in README.rst to point to travis-ci.com

1.4.0 — 2020-10-05

  • Adding option to include a body parameter in requests.

1.3.2 — 2020-09-23

  • Adding option to specify url patterns for generated docs.

1.3.1 — 2020-05-29

  • Removing caniusepython3 as it is no longer needed since python3 upgrade.

1.3.0 — 2020-04-30

  • Remove support for Django<2.2 and add support for python 3.8

1.2.0 — 2020-03-20

  • Added three new decorators for excluding endpoints from API documentation generation:

    • @exclude_schema

    • @exclude_schema_for(method_name)

    • @exclude_all_schemas

1.1.0 — 2020-03-20

  • Compatibility with Django 2.1 and 2.2.

1.0.3 — 2020-01-31

  • Added documentation.

1.0.2 — 2020-01-17

  • First release on PyPI.

Metadata

Release files for edx-api-doc-tools 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for edx-api-doc-tools 3.0.0
File Size Uploaded
edx_api_doc_tools-3.0.0.tar.gz 20.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for edx-api-doc-tools 3.0.0
File Interpreter ABI Platform
edx_api_doc_tools-3.0.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 35.5 kB

Release files / edx_api_doc_tools-3.0.0.tar.gz

Download URL edx_api_doc_tools-3.0.0.tar.gz
Size 20.6 kB
Tags Source
SHA-256 checksum
How to use checksums
478525f7d90d83ffd74b23261949231f8aeee6cab45aad62eef144856de92908
BLAKE2b-256 checksum
How to use checksums
6ef9ebfd100a265fdcc44dd2abdbc86c1a5feda763334a97e02de919519ae39c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / edx_api_doc_tools-3.0.0-py2.py3-none-any.whl

Download URL edx_api_doc_tools-3.0.0-py2.py3-none-any.whl
Size 14.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
c96afaa3a69a88ee2c62302f3c4dcbbb0a23903ba817e671a6d117c438947f9b
BLAKE2b-256 checksum
How to use checksums
f831c8c8cd8019a06eab01d61e3cf39e76a7a2f9ed33f21b18a735e36b13e204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

3.0.0 This release

2 release files

2.1.2

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.3

2 release files

1.4.0

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page