Skip to main content

Tools for writing and generating API documentation for edX REST APIs

Project description

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.

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

edx_api_doc_tools-2.1.2.tar.gz (20.6 kB view details)

Uploaded Source

Built Distribution

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

edx_api_doc_tools-2.1.2-py2.py3-none-any.whl (14.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file edx_api_doc_tools-2.1.2.tar.gz.

File metadata

  • Download URL: edx_api_doc_tools-2.1.2.tar.gz
  • Upload date:
  • Size: 20.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for edx_api_doc_tools-2.1.2.tar.gz
Algorithm Hash digest
SHA256 6dbd327e54163b9de7682096691b3da15a9caa6fb3777da9f867155e3b385795
MD5 cad4e97386807038e421b8b018163d89
BLAKE2b-256 93b5a5bfa67fa5ec8e4c7e1fd443300f372ab902b323c9c44cdbb673dea59ea5

See more details on using hashes here.

File details

Details for the file edx_api_doc_tools-2.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for edx_api_doc_tools-2.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f9ddb0c4907e35ef00fc8fbe1dbf4a18e7782369fd6cbfb2a49e91bac2ad50d5
MD5 8ef1b29472ddcd3d19f6dbf409df41f2
BLAKE2b-256 089523788aa92b753fbc6bdd3da8c620665ecdb0a1525ff4bfb277dec2f82e50

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