BSD Ports

www/py-dj51-drf-spectacular 0.28.0_1 DragonFly

Sane/flexible OpenAPI 3 schema generation for Django REST framework

System
DragonFly
Repository
DPorts
Maintainer
[email protected] (as in FreeBSD)
License
BSD3CLAUSE
Categories
python, www
Package size
184.7 KiB, 1141.6 KiB installed

Description

This project has 3 goals:

* Extract as much schema information from DRF as possible. * Provide flexibility to make the schema usable in the real world (not only toy examples). * Generate a schema that works well with the most popular client generators.

The code is a heavily modified fork of the DRF OpenAPI generator, which is/was lacking all of the below listed features:

* Serializers modelled as components. (arbitrary nesting + recursion supported) * @extend_schema decorator for customization of APIView, Viewsets, function-based views, and @action * Authentication support (DRF natives included, easily extendable) * Custom serializer class support (easily extendable) * SerializerMethodField() type via type hinting or @extend_schema_field * i18n support, Tags extraction, Description extraction from docstrings * Request/response/parameter examples, Callback operations * Vendor specification extensions (x-*) in info, operations, parameters, components, and security schemes * Sane fallbacks and sane operation_id naming (based on path) * Schema serving with SpectacularAPIView (Redoc and Swagger-UI views are also available) * Optional input/output serializer component split

Install

Binary package:

pkg install py311-dj51-drf-spectacular

From DPorts:

cd /usr/dports/www/py-dj51-drf-spectacular && make install clean

Dependency graph

Ports that need it on the left, what it needs to run on the right; at most 8 of each. "Dependencies" below lists them all.

Dependencies

Run dependencies 8
Required by 1