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
===> The following configuration options are available for py311-dj52-drf-spectacular-0.29.0:
SIDECAR=on: Enable self-contained Swagger/Redoc UI installation
===> Use 'make config' to modify these settings
*/py-dj52*: Deprecate/Set to expire
* The counterparts of the py-dj52-* ports were switched to Django 5.2 in
ce59801b72ef, so the py-dj52-* ports have no more consumers and are
now obsolete.
* Set a relatively short EXPIRATION_DATE toward the end of June to wrap
up things neatly before the 2026Q3 branch.
PR: 291707
With hat: python
*: Revise USES=python:... version range constraints
and strip all lower bounds of 3.9 or 3.10 because they are implied now.
python:3.9-X -> python:-X
python:3.9+ -> python
python:3.10-X -> python:-X
python:3.10+ -> python
(options such as ,build preserved)
net-mgmt/netbox: Create Django 5.2 consumers
* Django 4.2 is currently the "default" version in the ports tree due
its long term support until April 2026. Thus ports that are assigned
to that version will exist until then.
The following ports are required to make the upgrade of
net-mgmt/netbox to the 4.3 release possible because it requires
Django 5.2.
All of the ports listed below were created on the basis of their
respective original ports:
- devel/py-dj52-django-rq
- devel/py-dj52-strawberry-graphql
(Only the first 15 lines of the commit message are shown above )