Metadata-Version: 2.1
Name: djangorestframework-versioning
Version: 0.1.1
Summary: Versioning tools for use with Django Rest Framework
Home-page: https://github.com/binnev/djangorestframework_versioning
Author: Robin Neville
Author-email: robin.m.neville@gmail.com
Project-URL: Bug Tracker, https://github.com/binnev/djangorestframework_versioning/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django (>=3.2)
Requires-Dist: djangorestframework (>=3.13.1)
Requires-Dist: typing (>=3.7.4.3)
Requires-Dist: packaging (>=3.0.9)

# Django Rest Framework Versioning
Work In Progress! 

Todo: 
- Have Transform, VersionedViewSet add themselves to Version's .transforms/.views attributes. (The reverse is pretty cumbersome to maintain)
- Version class 
  - Admin page for Versions (no editing, but just to view what is included in each version)
  - Overridable Version class
  - Version class to have methods to describe Transforms, ViewSets / views, etc 
-VersionedSerializer 
  - Make VersionedSerializer work as inline serializer 
    - Needs to get context.request from parent probably
  - Hard(er) link between VersioningSerializer and its transforms
- Make VersionDoesNotExist a subclass of rest framework APIerror so views can handle it. 
- The holy grail: get drf's openapi schema generator to listen to all this stuff. 
- Startup checks: 
  - VersioningSerializers have transform_base declared
- Cases for the transforms to handle (and examples in the docs): 
  - Field becomes required / nullable or reverse
  - Add value to field choices (shouldn't appear in old schema)
  - Add value to field schema and map to old value. E. G. Active / Failed -> Active /Failed / Retrying but for older versions Retrying should be displayed as Failed

