openedx / openedx/openedx-platform
API Improvements
Open
@awais786 is already working on this.
Since Aug 1, 2025.
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 4.4k
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 42
Description
Context
The edx-platform repo already generates API documentation via make api-docs. This will generate new API docs at
docs/api/_build/html/index.html
- These docs aren't published anywhere.
- APIs that impact just the calling user and APIs for manipulating the system are intermingled.
- To generate the API docs, the following tools are used:
- drf-yasg - https://drf-yasg.readthedocs.io/en/stable/
- sw2sphinxopenapi.py - A custom script in
edx-platformto generate RST from an Open API 2.0 spec. - sphinx - The
/edx-platform/docs/apisphinx project. api-doc-tools- An openedx github repo that abstracts away some ofdry-yasg- I'm not sure what value this is providing so we may want to deprecate this.
Open API and drf-yasg
drf-yasgonly supports Open API 2.0 and has no plans for supporting Open API 3.0- Some teams are already using
drf-spectactularto replacedrf-yasg. drf-spectactularsupports Open API 3.0
Tasks
- [ ] https://github.com/openedx/edx-platform/issues/32610
- [ ] https://github.com/openedx/edx-platform/issues/35057
- [ ] Add drf-spectacular to edx-platform
- [x] Update `sw2sphinxopenapi.py` to be able to publish openapi 3.0 schema to sphinx. - No longer needed because we use a 3rd party plugin to sphinx that does this.
- [ ] DEPR Discovery - Should we get rid of api-doc-tools
- [ ] https://github.com/openedx/edx-platform/issues/36157
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.