django-api-versioning 0.1.3__tar.gz → 0.1.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. {django-api-versioning-0.1.3/django_api_versioning.egg-info → django-api-versioning-0.1.4}/PKG-INFO +61 -13
  2. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/README.md +60 -12
  3. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4/django_api_versioning.egg-info}/PKG-INFO +61 -13
  4. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/setup.py +1 -1
  5. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/.pre-commit-config.yaml +0 -0
  6. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/LICENSE +0 -0
  7. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/MANIFEST.in +0 -0
  8. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning/__init__.py +0 -0
  9. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning/decorators.py +0 -0
  10. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning/exceptions.py +0 -0
  11. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning/registry.py +0 -0
  12. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning/settings.py +0 -0
  13. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning/urls.py +0 -0
  14. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning.egg-info/SOURCES.txt +0 -0
  15. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning.egg-info/dependency_links.txt +0 -0
  16. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning.egg-info/requires.txt +0 -0
  17. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/django_api_versioning.egg-info/top_level.txt +0 -0
  18. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/pyproject.toml +0 -0
  19. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/pytest.ini +0 -0
  20. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/requirements-dev.txt +0 -0
  21. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/requirements.txt +0 -0
  22. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/setup.cfg +0 -0
  23. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/tests/__init__.py +0 -0
  24. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/tests/test_decorators.py +0 -0
  25. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/tests/test_exceptions.py +0 -0
  26. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/tests/test_registry.py +0 -0
  27. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/tests/test_settings.py +0 -0
  28. {django-api-versioning-0.1.3 → django-api-versioning-0.1.4}/tests/test_urls.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-api-versioning
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Django API versioning decorator provides a solution for managing multiple API versions within the Django framework, enabling versioning through URLs with backward compatibility and automatically registering routes.
5
5
  Home-page: https://github.com/mojtaba-arvin/django-api-versioning
6
6
  Author: Mojtaba Arvin
@@ -107,6 +107,11 @@ def users_view(request):
107
107
 
108
108
  In this example, the `users_view` function is decorated with the endpoint decorator. This specifies that the view is accessible under version `2` of the API and **supports backward compatibility**. The `backward=True` flag as default ensures that users can also access the previous version (version `1`) at `/api/v1/account_app/users`.
109
109
 
110
+ ```bash
111
+ api/v1/account_app/users [name='users_list_api']
112
+ api/v2/account_app/users [name='users_list_api']
113
+ ```
114
+
110
115
  #### Example for Class-Based Views (CBVs):
111
116
 
112
117
  For class-based views, you can apply the decorator to methods such as `get`, `post`, or any other HTTP method you need to handle. Here’s an example:
@@ -131,11 +136,13 @@ If you have already installed [Django Rest Framework](https://www.django-rest-fr
131
136
 
132
137
  ```python
133
138
  from rest_framework.views import APIView
139
+ from rest_framework.permissions import AllowAny
134
140
  from rest_framework.response import Response
135
141
  from django_api_versioning.decorators import endpoint
136
142
 
137
143
  @endpoint("users", version=2, app_name='account_app', view_name="users_list_api")
138
144
  class UsersAPIView(APIView):
145
+ permission_classes = [AllowAny]
139
146
 
140
147
  def get(self, request):
141
148
  return Response({"message": "API Version 2 Users"})
@@ -143,10 +150,12 @@ class UsersAPIView(APIView):
143
150
 
144
151
  #### URL Generation Based on Versioning:
145
152
 
146
- Once the decorator is applied, the URLs for your API will be generated based on the version specified in the decorator. For example, if the `API_MIN_VERSION` in your settings.py is set to `1` and the version in the decorator is set to `2`, the following URLs will be available:
153
+ Once the decorator is applied, the URLs for your API will be generated based on the version specified in the decorator. For example, if the `API_MIN_VERSION` in your `settings.py` is set to `1` and the version in the decorator is set to `2`, the following URLs will be available:
147
154
 
148
- - `/api/v1/account_app/users`
149
- - `/api/v2/account_app/users`
155
+ ```bash
156
+ api/v1/account_app/users [name='users_list_api']
157
+ api/v2/account_app/users [name='users_list_api']
158
+ ```
150
159
 
151
160
  The `API_MIN_VERSION` setting ensures that users can access the API using different versions, providing backward compatibility. You can adjust which versions are considered valid by modifying the `API_MIN_VERSION` and `version` numbers in the decorators.
152
161
 
@@ -160,8 +169,10 @@ The `API_MIN_VERSION` setting ensures that users can access the API using differ
160
169
 
161
170
  The generated URLs will be:
162
171
 
163
- - `/api/v1/users`
164
- - `/api/v2/users`
172
+ ```bash
173
+ api/v1/users [name='users_list_api']
174
+ api/v2/users [name='users_list_api']
175
+ ```
165
176
 
166
177
  **Without `version`:** If you don't pass `version` in the decorator, like this:
167
178
 
@@ -171,7 +182,9 @@ The generated URLs will be:
171
182
 
172
183
  API versioning will be disabled (`API_BASE_PATH` as prefix will be removed) for that view. The only URL generated will be:
173
184
 
174
- - `/users`
185
+ ```bash
186
+ users [name='users_list_api']
187
+ ```
175
188
 
176
189
  **Setting `backward=False`:** By default, the `backward` parameter is set to `True`, which ensures backward compatibility. If you explicitly set `backward=False`, like this:
177
190
 
@@ -181,7 +194,9 @@ API versioning will be disabled (`API_BASE_PATH` as prefix will be removed) for
181
194
 
182
195
  The generated URL will be only version 2:
183
196
 
184
- - `api/v2/users`
197
+ ```bash
198
+ api/v2/users [name='users_list_api']
199
+ ```
185
200
 
186
201
  4. Run the Server:
187
202
 
@@ -191,23 +206,56 @@ python manage.py runserver
191
206
 
192
207
  ## Notes
193
208
 
194
- ### 1. `API_BASE_PATH` in settings Must Include ‍‍`{version}`:
209
+ #### 1. `API_BASE_PATH` in settings Must Include ‍‍`{version}`:
195
210
 
196
211
  The `API_BASE_PATH` should always include `{version}` to ensure proper API versioning. This is important for correctly mapping API routes to different versions.
197
212
 
198
- ### 2. Using `app_name` in the `endpoint` decorator:
213
+ #### 2. Using `app_name` in the `endpoint` decorator:
199
214
 
200
215
  It's recommended to fill in the `app_name` in the `endpoint` decorator to make the API URLs **more unique and organized**. This ensures that the routes are scoped under the correct app, avoiding potential conflicts and making them easier to manage.
201
216
 
202
- ### 3. Views with Version Less Than `API_MIN_VERSION` Are Automatically Ignored:
217
+ #### 3. Behavior When Resolving a Route:
218
+
219
+ When resolving the route using Django's `reverse()` function or any other method to resolve the URL, the latest version (highest version number) of the API will be returned. In this example, route for version 3 would be resolved:
220
+
221
+ ```python
222
+ from django_api_versioning.decorators import endpoint
223
+ from django.http import JsonResponse
224
+ from django.views import View
225
+ from django.urls import reverse
226
+
227
+
228
+ @endpoint("users", version=3, app_name='account_app', view_name="users_list_api")
229
+ class UsersView(View):
230
+
231
+ def get(self, request):
232
+
233
+ return JsonResponse({"path of users_list_api view is": reverse('users_list_api')})
234
+ ```
235
+
236
+ response body:
237
+
238
+ ```json
239
+ { "path of users_list_api view is": "api/v3/account_app/users" }
240
+ ```
241
+
242
+ The generated URLs will be:
243
+
244
+ ```bash
245
+ api/v1/account_app/users [name='users_list_api']
246
+ api/v2/account_app/users [name='users_list_api']
247
+ api/v3/account_app/users [name='users_list_api']
248
+ ```
249
+
250
+ #### 4. Views with Version Less Than `API_MIN_VERSION` Are Automatically Ignored:
203
251
 
204
252
  Any view whose `version` is less than the `API_MIN_VERSION` will be automatically ignored. This means clients will no longer have access to these older versions, **without the need to manually edit or remove code**. This is handled automatically by the package.
205
253
 
206
- ### 4. URLs for Versions Between `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION`:
254
+ #### 5. URLs for Versions Between `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION`:
207
255
 
208
256
  Endpoints that have versions within the range defined by `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION` will always have a corresponding URL generated. This ensures that only valid versions will be accessible, providing flexibility in version management.
209
257
 
210
- ### `endpoint` Decorator Function Definition
258
+ ## `endpoint` Decorator Function Definition
211
259
 
212
260
  The `endpoint` decorator is designed to register API views with versioning support in a Django application. It provides flexibility in managing versioned endpoints and ensures backward compatibility with previous versions of the API.
213
261
 
@@ -85,6 +85,11 @@ def users_view(request):
85
85
 
86
86
  In this example, the `users_view` function is decorated with the endpoint decorator. This specifies that the view is accessible under version `2` of the API and **supports backward compatibility**. The `backward=True` flag as default ensures that users can also access the previous version (version `1`) at `/api/v1/account_app/users`.
87
87
 
88
+ ```bash
89
+ api/v1/account_app/users [name='users_list_api']
90
+ api/v2/account_app/users [name='users_list_api']
91
+ ```
92
+
88
93
  #### Example for Class-Based Views (CBVs):
89
94
 
90
95
  For class-based views, you can apply the decorator to methods such as `get`, `post`, or any other HTTP method you need to handle. Here’s an example:
@@ -109,11 +114,13 @@ If you have already installed [Django Rest Framework](https://www.django-rest-fr
109
114
 
110
115
  ```python
111
116
  from rest_framework.views import APIView
117
+ from rest_framework.permissions import AllowAny
112
118
  from rest_framework.response import Response
113
119
  from django_api_versioning.decorators import endpoint
114
120
 
115
121
  @endpoint("users", version=2, app_name='account_app', view_name="users_list_api")
116
122
  class UsersAPIView(APIView):
123
+ permission_classes = [AllowAny]
117
124
 
118
125
  def get(self, request):
119
126
  return Response({"message": "API Version 2 Users"})
@@ -121,10 +128,12 @@ class UsersAPIView(APIView):
121
128
 
122
129
  #### URL Generation Based on Versioning:
123
130
 
124
- Once the decorator is applied, the URLs for your API will be generated based on the version specified in the decorator. For example, if the `API_MIN_VERSION` in your settings.py is set to `1` and the version in the decorator is set to `2`, the following URLs will be available:
131
+ Once the decorator is applied, the URLs for your API will be generated based on the version specified in the decorator. For example, if the `API_MIN_VERSION` in your `settings.py` is set to `1` and the version in the decorator is set to `2`, the following URLs will be available:
125
132
 
126
- - `/api/v1/account_app/users`
127
- - `/api/v2/account_app/users`
133
+ ```bash
134
+ api/v1/account_app/users [name='users_list_api']
135
+ api/v2/account_app/users [name='users_list_api']
136
+ ```
128
137
 
129
138
  The `API_MIN_VERSION` setting ensures that users can access the API using different versions, providing backward compatibility. You can adjust which versions are considered valid by modifying the `API_MIN_VERSION` and `version` numbers in the decorators.
130
139
 
@@ -138,8 +147,10 @@ The `API_MIN_VERSION` setting ensures that users can access the API using differ
138
147
 
139
148
  The generated URLs will be:
140
149
 
141
- - `/api/v1/users`
142
- - `/api/v2/users`
150
+ ```bash
151
+ api/v1/users [name='users_list_api']
152
+ api/v2/users [name='users_list_api']
153
+ ```
143
154
 
144
155
  **Without `version`:** If you don't pass `version` in the decorator, like this:
145
156
 
@@ -149,7 +160,9 @@ The generated URLs will be:
149
160
 
150
161
  API versioning will be disabled (`API_BASE_PATH` as prefix will be removed) for that view. The only URL generated will be:
151
162
 
152
- - `/users`
163
+ ```bash
164
+ users [name='users_list_api']
165
+ ```
153
166
 
154
167
  **Setting `backward=False`:** By default, the `backward` parameter is set to `True`, which ensures backward compatibility. If you explicitly set `backward=False`, like this:
155
168
 
@@ -159,7 +172,9 @@ API versioning will be disabled (`API_BASE_PATH` as prefix will be removed) for
159
172
 
160
173
  The generated URL will be only version 2:
161
174
 
162
- - `api/v2/users`
175
+ ```bash
176
+ api/v2/users [name='users_list_api']
177
+ ```
163
178
 
164
179
  4. Run the Server:
165
180
 
@@ -169,23 +184,56 @@ python manage.py runserver
169
184
 
170
185
  ## Notes
171
186
 
172
- ### 1. `API_BASE_PATH` in settings Must Include ‍‍`{version}`:
187
+ #### 1. `API_BASE_PATH` in settings Must Include ‍‍`{version}`:
173
188
 
174
189
  The `API_BASE_PATH` should always include `{version}` to ensure proper API versioning. This is important for correctly mapping API routes to different versions.
175
190
 
176
- ### 2. Using `app_name` in the `endpoint` decorator:
191
+ #### 2. Using `app_name` in the `endpoint` decorator:
177
192
 
178
193
  It's recommended to fill in the `app_name` in the `endpoint` decorator to make the API URLs **more unique and organized**. This ensures that the routes are scoped under the correct app, avoiding potential conflicts and making them easier to manage.
179
194
 
180
- ### 3. Views with Version Less Than `API_MIN_VERSION` Are Automatically Ignored:
195
+ #### 3. Behavior When Resolving a Route:
196
+
197
+ When resolving the route using Django's `reverse()` function or any other method to resolve the URL, the latest version (highest version number) of the API will be returned. In this example, route for version 3 would be resolved:
198
+
199
+ ```python
200
+ from django_api_versioning.decorators import endpoint
201
+ from django.http import JsonResponse
202
+ from django.views import View
203
+ from django.urls import reverse
204
+
205
+
206
+ @endpoint("users", version=3, app_name='account_app', view_name="users_list_api")
207
+ class UsersView(View):
208
+
209
+ def get(self, request):
210
+
211
+ return JsonResponse({"path of users_list_api view is": reverse('users_list_api')})
212
+ ```
213
+
214
+ response body:
215
+
216
+ ```json
217
+ { "path of users_list_api view is": "api/v3/account_app/users" }
218
+ ```
219
+
220
+ The generated URLs will be:
221
+
222
+ ```bash
223
+ api/v1/account_app/users [name='users_list_api']
224
+ api/v2/account_app/users [name='users_list_api']
225
+ api/v3/account_app/users [name='users_list_api']
226
+ ```
227
+
228
+ #### 4. Views with Version Less Than `API_MIN_VERSION` Are Automatically Ignored:
181
229
 
182
230
  Any view whose `version` is less than the `API_MIN_VERSION` will be automatically ignored. This means clients will no longer have access to these older versions, **without the need to manually edit or remove code**. This is handled automatically by the package.
183
231
 
184
- ### 4. URLs for Versions Between `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION`:
232
+ #### 5. URLs for Versions Between `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION`:
185
233
 
186
234
  Endpoints that have versions within the range defined by `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION` will always have a corresponding URL generated. This ensures that only valid versions will be accessible, providing flexibility in version management.
187
235
 
188
- ### `endpoint` Decorator Function Definition
236
+ ## `endpoint` Decorator Function Definition
189
237
 
190
238
  The `endpoint` decorator is designed to register API views with versioning support in a Django application. It provides flexibility in managing versioned endpoints and ensures backward compatibility with previous versions of the API.
191
239
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-api-versioning
3
- Version: 0.1.3
3
+ Version: 0.1.4
4
4
  Summary: Django API versioning decorator provides a solution for managing multiple API versions within the Django framework, enabling versioning through URLs with backward compatibility and automatically registering routes.
5
5
  Home-page: https://github.com/mojtaba-arvin/django-api-versioning
6
6
  Author: Mojtaba Arvin
@@ -107,6 +107,11 @@ def users_view(request):
107
107
 
108
108
  In this example, the `users_view` function is decorated with the endpoint decorator. This specifies that the view is accessible under version `2` of the API and **supports backward compatibility**. The `backward=True` flag as default ensures that users can also access the previous version (version `1`) at `/api/v1/account_app/users`.
109
109
 
110
+ ```bash
111
+ api/v1/account_app/users [name='users_list_api']
112
+ api/v2/account_app/users [name='users_list_api']
113
+ ```
114
+
110
115
  #### Example for Class-Based Views (CBVs):
111
116
 
112
117
  For class-based views, you can apply the decorator to methods such as `get`, `post`, or any other HTTP method you need to handle. Here’s an example:
@@ -131,11 +136,13 @@ If you have already installed [Django Rest Framework](https://www.django-rest-fr
131
136
 
132
137
  ```python
133
138
  from rest_framework.views import APIView
139
+ from rest_framework.permissions import AllowAny
134
140
  from rest_framework.response import Response
135
141
  from django_api_versioning.decorators import endpoint
136
142
 
137
143
  @endpoint("users", version=2, app_name='account_app', view_name="users_list_api")
138
144
  class UsersAPIView(APIView):
145
+ permission_classes = [AllowAny]
139
146
 
140
147
  def get(self, request):
141
148
  return Response({"message": "API Version 2 Users"})
@@ -143,10 +150,12 @@ class UsersAPIView(APIView):
143
150
 
144
151
  #### URL Generation Based on Versioning:
145
152
 
146
- Once the decorator is applied, the URLs for your API will be generated based on the version specified in the decorator. For example, if the `API_MIN_VERSION` in your settings.py is set to `1` and the version in the decorator is set to `2`, the following URLs will be available:
153
+ Once the decorator is applied, the URLs for your API will be generated based on the version specified in the decorator. For example, if the `API_MIN_VERSION` in your `settings.py` is set to `1` and the version in the decorator is set to `2`, the following URLs will be available:
147
154
 
148
- - `/api/v1/account_app/users`
149
- - `/api/v2/account_app/users`
155
+ ```bash
156
+ api/v1/account_app/users [name='users_list_api']
157
+ api/v2/account_app/users [name='users_list_api']
158
+ ```
150
159
 
151
160
  The `API_MIN_VERSION` setting ensures that users can access the API using different versions, providing backward compatibility. You can adjust which versions are considered valid by modifying the `API_MIN_VERSION` and `version` numbers in the decorators.
152
161
 
@@ -160,8 +169,10 @@ The `API_MIN_VERSION` setting ensures that users can access the API using differ
160
169
 
161
170
  The generated URLs will be:
162
171
 
163
- - `/api/v1/users`
164
- - `/api/v2/users`
172
+ ```bash
173
+ api/v1/users [name='users_list_api']
174
+ api/v2/users [name='users_list_api']
175
+ ```
165
176
 
166
177
  **Without `version`:** If you don't pass `version` in the decorator, like this:
167
178
 
@@ -171,7 +182,9 @@ The generated URLs will be:
171
182
 
172
183
  API versioning will be disabled (`API_BASE_PATH` as prefix will be removed) for that view. The only URL generated will be:
173
184
 
174
- - `/users`
185
+ ```bash
186
+ users [name='users_list_api']
187
+ ```
175
188
 
176
189
  **Setting `backward=False`:** By default, the `backward` parameter is set to `True`, which ensures backward compatibility. If you explicitly set `backward=False`, like this:
177
190
 
@@ -181,7 +194,9 @@ API versioning will be disabled (`API_BASE_PATH` as prefix will be removed) for
181
194
 
182
195
  The generated URL will be only version 2:
183
196
 
184
- - `api/v2/users`
197
+ ```bash
198
+ api/v2/users [name='users_list_api']
199
+ ```
185
200
 
186
201
  4. Run the Server:
187
202
 
@@ -191,23 +206,56 @@ python manage.py runserver
191
206
 
192
207
  ## Notes
193
208
 
194
- ### 1. `API_BASE_PATH` in settings Must Include ‍‍`{version}`:
209
+ #### 1. `API_BASE_PATH` in settings Must Include ‍‍`{version}`:
195
210
 
196
211
  The `API_BASE_PATH` should always include `{version}` to ensure proper API versioning. This is important for correctly mapping API routes to different versions.
197
212
 
198
- ### 2. Using `app_name` in the `endpoint` decorator:
213
+ #### 2. Using `app_name` in the `endpoint` decorator:
199
214
 
200
215
  It's recommended to fill in the `app_name` in the `endpoint` decorator to make the API URLs **more unique and organized**. This ensures that the routes are scoped under the correct app, avoiding potential conflicts and making them easier to manage.
201
216
 
202
- ### 3. Views with Version Less Than `API_MIN_VERSION` Are Automatically Ignored:
217
+ #### 3. Behavior When Resolving a Route:
218
+
219
+ When resolving the route using Django's `reverse()` function or any other method to resolve the URL, the latest version (highest version number) of the API will be returned. In this example, route for version 3 would be resolved:
220
+
221
+ ```python
222
+ from django_api_versioning.decorators import endpoint
223
+ from django.http import JsonResponse
224
+ from django.views import View
225
+ from django.urls import reverse
226
+
227
+
228
+ @endpoint("users", version=3, app_name='account_app', view_name="users_list_api")
229
+ class UsersView(View):
230
+
231
+ def get(self, request):
232
+
233
+ return JsonResponse({"path of users_list_api view is": reverse('users_list_api')})
234
+ ```
235
+
236
+ response body:
237
+
238
+ ```json
239
+ { "path of users_list_api view is": "api/v3/account_app/users" }
240
+ ```
241
+
242
+ The generated URLs will be:
243
+
244
+ ```bash
245
+ api/v1/account_app/users [name='users_list_api']
246
+ api/v2/account_app/users [name='users_list_api']
247
+ api/v3/account_app/users [name='users_list_api']
248
+ ```
249
+
250
+ #### 4. Views with Version Less Than `API_MIN_VERSION` Are Automatically Ignored:
203
251
 
204
252
  Any view whose `version` is less than the `API_MIN_VERSION` will be automatically ignored. This means clients will no longer have access to these older versions, **without the need to manually edit or remove code**. This is handled automatically by the package.
205
253
 
206
- ### 4. URLs for Versions Between `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION`:
254
+ #### 5. URLs for Versions Between `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION`:
207
255
 
208
256
  Endpoints that have versions within the range defined by `API_MIN_VERSION` <= `version` <= `API_MAX_VERSION` will always have a corresponding URL generated. This ensures that only valid versions will be accessible, providing flexibility in version management.
209
257
 
210
- ### `endpoint` Decorator Function Definition
258
+ ## `endpoint` Decorator Function Definition
211
259
 
212
260
  The `endpoint` decorator is designed to register API views with versioning support in a Django application. It provides flexibility in managing versioned endpoints and ensures backward compatibility with previous versions of the API.
213
261
 
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="django-api-versioning",
8
- version="0.1.3",
8
+ version="0.1.4",
9
9
  author="Mojtaba Arvin",
10
10
  author_email="ArvinDevDay@gmail.com",
11
11
  description= (