1+ """
2+ API Versioning Module
3+
4+ Provides comprehensive API versioning with:
5+ - Version registry with status tracking
6+ - Schema transformers for backward compatibility
7+ - Deprecation middleware with RFC 8594 headers
8+ - Versioned routing
9+
10+ Reference: Issue #2316 - API Versioning Strategy
11+ """
12+
13+ from api .versioning .registry import (
14+ VersionRegistry ,
15+ VersionInfo ,
16+ VersionStatus ,
17+ UsageStats ,
18+ get_version_registry ,
19+ register_custom_version ,
20+ deprecate_api_version ,
21+ )
22+
23+ from api .versioning .transformers import (
24+ SchemaTransformer ,
25+ EnumTransformer ,
26+ TransformationType ,
27+ FieldTransformation ,
28+ get_schema_transformer ,
29+ get_enum_transformer ,
30+ transform_request_for_version ,
31+ transform_response_for_version ,
32+ )
33+
34+ from api .versioning .deprecation import (
35+ DeprecationMiddleware ,
36+ DeprecationWarning ,
37+ create_deprecation_response ,
38+ create_version_mismatch_response ,
39+ get_deprecation_warnings_for_response ,
40+ )
41+
42+ from api .versioning .router import (
43+ VersionedRouter ,
44+ VersionResolver ,
45+ VersionedRoute ,
46+ get_requested_version ,
47+ require_version ,
48+ generate_versioned_openapi ,
49+ check_breaking_changes ,
50+ )
51+
52+ __all__ = [
53+ # Registry
54+ "VersionRegistry" ,
55+ "VersionInfo" ,
56+ "VersionStatus" ,
57+ "UsageStats" ,
58+ "get_version_registry" ,
59+ "register_custom_version" ,
60+ "deprecate_api_version" ,
61+ # Transformers
62+ "SchemaTransformer" ,
63+ "EnumTransformer" ,
64+ "TransformationType" ,
65+ "FieldTransformation" ,
66+ "get_schema_transformer" ,
67+ "get_enum_transformer" ,
68+ "transform_request_for_version" ,
69+ "transform_response_for_version" ,
70+ # Deprecation
71+ "DeprecationMiddleware" ,
72+ "DeprecationWarning" ,
73+ "create_deprecation_response" ,
74+ "create_version_mismatch_response" ,
75+ "get_deprecation_warnings_for_response" ,
76+ # Router
77+ "VersionedRouter" ,
78+ "VersionResolver" ,
79+ "VersionedRoute" ,
80+ "get_requested_version" ,
81+ "require_version" ,
82+ "generate_versioned_openapi" ,
83+ "check_breaking_changes" ,
84+ ]
0 commit comments