A tool to export Django REST Framework API documentation to Excel
Project description
drf-excel-export
drf-excel-export is a Django package that enables easy export of Django REST Framework (DRF) API documentation to an Excel file. It is compatible with both drf-spectacular
and drf-yasg
for generating OpenAPI schemas, providing flexibility based on your existing DRF setup.
Features
- Exports API endpoint information, including paths, HTTP methods, descriptions, parameters, and response codes.
- Compatible with both
drf-spectacular
anddrf-yasg
for OpenAPI schema generation. - Outputs an organized Excel file (
api_documentation.xlsx
) with all API documentation.
Installation
-
Install the Package:
pip install drf-excel-export
-
Add to Django
INSTALLED_APPS
: Adddrf_excel_export
to yourINSTALLED_APPS
in your Django project’ssettings.py
:INSTALLED_APPS = [ ..., 'drf_excel_export', ]
-
Configure drf-spectacular or drf-yasg (if not already installed): Install and configure either
drf-spectacular
ordrf-yasg
, as one of these libraries is required for schema generation:-
For
drf-spectacular
:pip install drf-spectacular
Then, in
settings.py
:REST_FRAMEWORK = { 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', } SPECTACULAR_SETTINGS = { 'TITLE': 'Your API Title', 'DESCRIPTION': 'API description here', 'VERSION': '1.0.0', }
-
For
drf-yasg
:pip install drf-yasg
Add a schema view in your
urls.py
if you wish to view the schema:from rest_framework import permissions from drf_yasg.views import get_schema_view from drf_yasg import openapi schema_view = get_schema_view( openapi.Info( title="Your API Title", default_version='v1', description="API description here", ), public=True, permission_classes=(permissions.AllowAny,), )
-
Usage
To generate the API documentation in Excel format, run the following management command from your Django project’s root directory:
python manage.py export_excel
This command will generate an Excel file, api_documentation.xlsx
, in the current directory, containing details of all API endpoints.
Excel File Structure
The exported Excel file contains the following columns:
- Endpoint: The URL path of the endpoint.
- Method: HTTP method (GET, POST, etc.).
- Description: Description of the endpoint.
- Parameters: List of parameters (query, path, etc.).
- Response Codes: List of possible HTTP response codes for the endpoint.
Example Output
Endpoint | Method | Description | Parameters | Response Codes |
---|---|---|---|---|
/api/sample/ | GET | Returns a sample message | - | 200 |
/api/sample/ | POST | Receives data | data, id | 201, 400 |
Contributing
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
feature/my-feature
). - Commit your changes.
- Push to the branch.
- Open a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For support or questions, please open an issue on the GitHub repository or contact the author via email.
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
Built Distribution
File details
Details for the file drf-excel-export-0.1.2.tar.gz
.
File metadata
- Download URL: drf-excel-export-0.1.2.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb40ae246ec677043ebf0b65cc01b57ef0b6fe959c655a4fce98b735508a851d |
|
MD5 | 9bb89b42f8699dbb47387b22e91f5555 |
|
BLAKE2b-256 | 42ffdbe3d92818ce8ecd2f895d76f61793eaa58f8e2047202cffdf112c0a098e |
File details
Details for the file drf_excel_export-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: drf_excel_export-0.1.2-py3-none-any.whl
- Upload date:
- Size: 6.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8917152c80a48438836458d239546ce329aedd5528f9872b0cef5ca12a82c44c |
|
MD5 | 17f51418df4c64231a9eff0eb6fb0470 |
|
BLAKE2b-256 | 8bb19ee4d65d2cc0cc3fcc9bb96e7e2b33c58e635b724ec9877cdbd6457cf18e |