django-bolt 0.2.5__tar.gz → 0.2.6__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.

Potentially problematic release.


This version of django-bolt might be problematic. Click here for more details.

Files changed (251) hide show
  1. django_bolt-0.2.6/BENCHMARK_BASELINE.md +203 -0
  2. django_bolt-0.2.6/BENCHMARK_DEV.md +203 -0
  3. {django_bolt-0.2.5 → django_bolt-0.2.6}/Cargo.lock +52 -72
  4. {django_bolt-0.2.5 → django_bolt-0.2.6}/Cargo.toml +1 -1
  5. {django_bolt-0.2.5 → django_bolt-0.2.6}/Makefile +15 -1
  6. {django_bolt-0.2.5 → django_bolt-0.2.6}/PKG-INFO +2 -1
  7. django_bolt-0.2.6/docs/COMPRESSION.md +158 -0
  8. {django_bolt-0.2.5 → django_bolt-0.2.6}/pyproject.toml +4 -5
  9. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/compression.py +8 -42
  10. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/management/commands/runbolt.py +9 -1
  11. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/api.py +40 -2
  12. django_bolt-0.2.6/python/tests/test_compression.py +262 -0
  13. {django_bolt-0.2.5 → django_bolt-0.2.6}/scripts/release.sh +7 -2
  14. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/metadata.rs +18 -0
  15. django_bolt-0.2.6/src/middleware/compression.rs +188 -0
  16. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/middleware/mod.rs +1 -0
  17. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/server.rs +99 -49
  18. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/state.rs +4 -3
  19. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/test_state.rs +14 -4
  20. django_bolt-0.2.5/BENCHMARK_BASELINE.md +0 -203
  21. django_bolt-0.2.5/BENCHMARK_DEV.md +0 -203
  22. django_bolt-0.2.5/docs/COMPRESSION.md +0 -63
  23. {django_bolt-0.2.5 → django_bolt-0.2.6}/.github/workflows/CI.yml +0 -0
  24. {django_bolt-0.2.5 → django_bolt-0.2.6}/.gitignore +0 -0
  25. {django_bolt-0.2.5 → django_bolt-0.2.6}/.python-version +0 -0
  26. {django_bolt-0.2.5 → django_bolt-0.2.6}/CLAUDE.md +0 -0
  27. {django_bolt-0.2.5 → django_bolt-0.2.6}/README.md +0 -0
  28. {django_bolt-0.2.5 → django_bolt-0.2.6}/TODO.md +0 -0
  29. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/ANNOTATION_GUIDE.md +0 -0
  30. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/ASYNC_DJANGO.md +0 -0
  31. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/CLASS_BASED_VIEWS.md +0 -0
  32. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/DEPENDENCY_INJECTION.md +0 -0
  33. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/DJANGO_ADMIN.md +0 -0
  34. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/EXCEPTIONS.md +0 -0
  35. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/GETTING_STARTED.md +0 -0
  36. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/GIL_OPTIMIZATION.md +0 -0
  37. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/LOGGING.md +0 -0
  38. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/MIDDLEWARE.md +0 -0
  39. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/OPENAPI.md +0 -0
  40. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/OPENAPI_ERROR_RESPONSES.md +0 -0
  41. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/OPENAPI_METADATA_IMPLEMENTATION.md +0 -0
  42. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/PAGINATION.md +0 -0
  43. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/PUBLISHING.md +0 -0
  44. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/README.md +0 -0
  45. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/RESPONSES.md +0 -0
  46. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/SECURITY.md +0 -0
  47. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/SERIALIZATION.md +0 -0
  48. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/TESTING_UTILITIES.md +0 -0
  49. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/favicon.png +0 -0
  50. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/icon.png +0 -0
  51. {django_bolt-0.2.5 → django_bolt-0.2.6}/docs/logo.png +0 -0
  52. {django_bolt-0.2.5 → django_bolt-0.2.6}/pytest.ini +0 -0
  53. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/__init__.py +0 -0
  54. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/_json.py +0 -0
  55. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/admin/__init__.py +0 -0
  56. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/admin/admin_detection.py +0 -0
  57. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/admin/asgi_bridge.py +0 -0
  58. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/admin/routes.py +0 -0
  59. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/admin/static.py +0 -0
  60. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/admin/static_routes.py +0 -0
  61. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/api.py +0 -0
  62. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/apps.py +0 -0
  63. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/async_collector.py +0 -0
  64. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/auth/__init__.py +0 -0
  65. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/auth/backends.py +0 -0
  66. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/auth/guards.py +0 -0
  67. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/auth/jwt_utils.py +0 -0
  68. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/auth/revocation.py +0 -0
  69. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/auth/token.py +0 -0
  70. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/binding.py +0 -0
  71. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/bootstrap.py +0 -0
  72. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/cli.py +0 -0
  73. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/decorators.py +0 -0
  74. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/dependencies.py +0 -0
  75. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/error_handlers.py +0 -0
  76. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/exceptions.py +0 -0
  77. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/health.py +0 -0
  78. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/logging/__init__.py +0 -0
  79. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/logging/config.py +0 -0
  80. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/logging/middleware.py +0 -0
  81. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/management/__init__.py +0 -0
  82. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/management/commands/__init__.py +0 -0
  83. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/middleware/__init__.py +0 -0
  84. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/middleware/compiler.py +0 -0
  85. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/middleware/middleware.py +0 -0
  86. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/__init__.py +0 -0
  87. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/config.py +0 -0
  88. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/plugins.py +0 -0
  89. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/routes.py +0 -0
  90. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/schema_generator.py +0 -0
  91. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/__init__.py +0 -0
  92. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/base.py +0 -0
  93. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/callback.py +0 -0
  94. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/components.py +0 -0
  95. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/contact.py +0 -0
  96. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/discriminator.py +0 -0
  97. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/encoding.py +0 -0
  98. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/enums.py +0 -0
  99. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/example.py +0 -0
  100. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/external_documentation.py +0 -0
  101. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/header.py +0 -0
  102. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/info.py +0 -0
  103. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/license.py +0 -0
  104. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/link.py +0 -0
  105. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/media_type.py +0 -0
  106. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/oauth_flow.py +0 -0
  107. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/oauth_flows.py +0 -0
  108. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/open_api.py +0 -0
  109. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/operation.py +0 -0
  110. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/parameter.py +0 -0
  111. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/path_item.py +0 -0
  112. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/paths.py +0 -0
  113. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/reference.py +0 -0
  114. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/request_body.py +0 -0
  115. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/response.py +0 -0
  116. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/responses.py +0 -0
  117. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/schema.py +0 -0
  118. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/security_requirement.py +0 -0
  119. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/security_scheme.py +0 -0
  120. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/server.py +0 -0
  121. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/server_variable.py +0 -0
  122. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/tag.py +0 -0
  123. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/openapi/spec/xml.py +0 -0
  124. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/pagination.py +0 -0
  125. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/param_functions.py +0 -0
  126. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/params.py +0 -0
  127. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/request_parsing.py +0 -0
  128. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/responses.py +0 -0
  129. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/router.py +0 -0
  130. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/serialization.py +0 -0
  131. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/status_codes.py +0 -0
  132. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/testing/__init__.py +0 -0
  133. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/testing/client.py +0 -0
  134. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/testing/helpers.py +0 -0
  135. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/types.py +0 -0
  136. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/typing.py +0 -0
  137. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/django_bolt/views.py +0 -0
  138. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/README.md +0 -0
  139. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/__init__.py +0 -0
  140. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/admin.py +0 -0
  141. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/api.py +0 -0
  142. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/apps.py +0 -0
  143. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/migrations/0001_initial.py +0 -0
  144. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/migrations/__init__.py +0 -0
  145. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/models.py +0 -0
  146. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/tests.py +0 -0
  147. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/bench/views.py +0 -0
  148. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/manage.py +0 -0
  149. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/100B +0 -0
  150. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/100B.txt +0 -0
  151. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/100K +0 -0
  152. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/100K.json +0 -0
  153. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/100K.txt +0 -0
  154. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/10K +0 -0
  155. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/10K.json +0 -0
  156. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/10K.txt +0 -0
  157. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/1K +0 -0
  158. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/1K.json +0 -0
  159. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/1K.txt +0 -0
  160. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/1M +0 -0
  161. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/1M.json +0 -0
  162. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/1M.txt +0 -0
  163. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/500K +0 -0
  164. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/500K.json +0 -0
  165. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/500K.txt +0 -0
  166. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/5M +0 -0
  167. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/5M.json +0 -0
  168. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/5M.txt +0 -0
  169. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/FILE_UPLOAD_1K +0 -0
  170. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/FILE_UPLOAD_1K_HEADERS.json +0 -0
  171. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/FORM_URLENCODED_1K +0 -0
  172. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/FORM_URLENCODED_1K_HEADERS.json +0 -0
  173. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/MULTIPART_1K +0 -0
  174. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/MULTIPART_1K_HEADERS.json +0 -0
  175. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/__init__.py +0 -0
  176. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/objects.py +0 -0
  177. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/persons_100.json +0 -0
  178. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/persons_50.json +0 -0
  179. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/test_data/persons_500.json +0 -0
  180. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/__init__.py +0 -0
  181. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/asgi.py +0 -0
  182. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/settings.py +0 -0
  183. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/test_api.py +0 -0
  184. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/urls.py +0 -0
  185. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/views.py +0 -0
  186. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/testproject/wsgi.py +0 -0
  187. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/__init__.py +0 -0
  188. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/admin.py +0 -0
  189. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/api.py +0 -0
  190. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/apps.py +0 -0
  191. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/migrations/0001_initial.py +0 -0
  192. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/migrations/__init__.py +0 -0
  193. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/models.py +0 -0
  194. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/tests.py +0 -0
  195. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/example/users/views.py +0 -0
  196. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/__init__.py +0 -0
  197. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/admin_tests/__init__.py +0 -0
  198. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/admin_tests/conftest.py +0 -0
  199. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/admin_tests/test_admin_with_django.py +0 -0
  200. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/admin_tests/urls.py +0 -0
  201. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/cbv/__init__.py +0 -0
  202. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/cbv/test_class_views.py +0 -0
  203. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/cbv/test_class_views_django_orm.py +0 -0
  204. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/cbv/test_class_views_features.py +0 -0
  205. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/cbv/test_class_views_with_client.py +0 -0
  206. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/conftest.py +0 -0
  207. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_action_decorator.py +0 -0
  208. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_auth_secret_key.py +0 -0
  209. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_cors_implementation.py +0 -0
  210. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_decorator_syntax.py +0 -0
  211. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_error_handling.py +0 -0
  212. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_file_response.py +0 -0
  213. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_global_cors.py +0 -0
  214. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_guards_auth.py +0 -0
  215. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_guards_integration.py +0 -0
  216. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_health.py +0 -0
  217. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_integration_validation.py +0 -0
  218. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_json_validation.py +0 -0
  219. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_jwt_auth.py +0 -0
  220. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_jwt_token.py +0 -0
  221. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_logging.py +0 -0
  222. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_logging_merge.py +0 -0
  223. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_middleware.py +0 -0
  224. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_middleware_server.py +0 -0
  225. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_model_viewset.py +0 -0
  226. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_models.py +0 -0
  227. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_openapi_docs.py +0 -0
  228. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_openapi_metadata.py +0 -0
  229. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_pagination.py +0 -0
  230. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_parameter_validation.py +0 -0
  231. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_request_get.py +0 -0
  232. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_syntax.py +0 -0
  233. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_testing_utilities.py +0 -0
  234. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_testing_utilities_simple.py +0 -0
  235. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_types.py +0 -0
  236. {django_bolt-0.2.5 → django_bolt-0.2.6}/python/tests/test_viewset_unified.py +0 -0
  237. {django_bolt-0.2.5 → django_bolt-0.2.6}/scripts/benchmark.sh +0 -0
  238. {django_bolt-0.2.5 → django_bolt-0.2.6}/scripts/install_hey.sh +0 -0
  239. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/direct_stream.rs +0 -0
  240. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/error.rs +0 -0
  241. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/handler.rs +0 -0
  242. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/json.rs +0 -0
  243. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/lib.rs +0 -0
  244. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/middleware/auth.rs +0 -0
  245. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/middleware/rate_limit.rs +0 -0
  246. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/permissions.rs +0 -0
  247. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/request.rs +0 -0
  248. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/router.rs +0 -0
  249. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/streaming.rs +0 -0
  250. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/testing.rs +0 -0
  251. {django_bolt-0.2.5 → django_bolt-0.2.6}/src/validation.rs +0 -0
@@ -0,0 +1,203 @@
1
+ # Django-Bolt Benchmark
2
+ Generated: Fri Oct 31 10:35:56 PM PKT 2025
3
+ Config: 8 processes × 1 workers | C=100 N=10000
4
+
5
+ ## Root Endpoint Performance
6
+ Failed requests: 0
7
+ Requests per second: 98888.49 [#/sec] (mean)
8
+ Time per request: 1.011 [ms] (mean)
9
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
10
+
11
+ ## 10kb JSON Response Performance
12
+ ### 10kb JSON (/10k-json)
13
+ Failed requests: 0
14
+ Requests per second: 85926.16 [#/sec] (mean)
15
+ Time per request: 1.164 [ms] (mean)
16
+ Time per request: 0.012 [ms] (mean, across all concurrent requests)
17
+
18
+ ## Response Type Endpoints
19
+ ### Header Endpoint (/header)
20
+ Failed requests: 0
21
+ Requests per second: 102042.90 [#/sec] (mean)
22
+ Time per request: 0.980 [ms] (mean)
23
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
24
+ ### Cookie Endpoint (/cookie)
25
+ Failed requests: 0
26
+ Requests per second: 102332.15 [#/sec] (mean)
27
+ Time per request: 0.977 [ms] (mean)
28
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
29
+ ### Exception Endpoint (/exc)
30
+ Failed requests: 0
31
+ Requests per second: 97669.60 [#/sec] (mean)
32
+ Time per request: 1.024 [ms] (mean)
33
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
34
+ ### HTML Response (/html)
35
+ Failed requests: 0
36
+ Requests per second: 103250.32 [#/sec] (mean)
37
+ Time per request: 0.969 [ms] (mean)
38
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
39
+ ### Redirect Response (/redirect)
40
+ Failed requests: 0
41
+ Requests per second: 104254.63 [#/sec] (mean)
42
+ Time per request: 0.959 [ms] (mean)
43
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
44
+ ### File Static via FileResponse (/file-static)
45
+ Failed requests: 0
46
+ Requests per second: 28891.30 [#/sec] (mean)
47
+ Time per request: 3.461 [ms] (mean)
48
+ Time per request: 0.035 [ms] (mean, across all concurrent requests)
49
+
50
+ ## Streaming and SSE Performance
51
+ ### Streaming Plain Text (/stream)
52
+ Total: 0.1992 secs
53
+ Slowest: 0.0079 secs
54
+ Fastest: 0.0001 secs
55
+ Average: 0.0019 secs
56
+ Requests/sec: 50213.0356
57
+ Status code distribution:
58
+ ### Server-Sent Events (/sse)
59
+ Total: 0.1974 secs
60
+ Slowest: 0.0205 secs
61
+ Fastest: 0.0001 secs
62
+ Average: 0.0019 secs
63
+ Requests/sec: 50655.1332
64
+ Status code distribution:
65
+ ### Server-Sent Events (async) (/sse-async)
66
+ Total: 0.3430 secs
67
+ Slowest: 0.0136 secs
68
+ Fastest: 0.0002 secs
69
+ Average: 0.0033 secs
70
+ Requests/sec: 29152.0414
71
+ Status code distribution:
72
+ ### OpenAI Chat Completions (stream) (/v1/chat/completions)
73
+ Total: 0.5582 secs
74
+ Slowest: 0.0148 secs
75
+ Fastest: 0.0004 secs
76
+ Average: 0.0054 secs
77
+ Requests/sec: 17913.9818
78
+ Status code distribution:
79
+ ### OpenAI Chat Completions (async stream) (/v1/chat/completions-async)
80
+ Total: 0.6828 secs
81
+ Slowest: 0.0185 secs
82
+ Fastest: 0.0004 secs
83
+ Average: 0.0066 secs
84
+ Requests/sec: 14646.5489
85
+ Status code distribution:
86
+
87
+ ## Items GET Performance (/items/1?q=hello)
88
+ Failed requests: 0
89
+ Requests per second: 94557.28 [#/sec] (mean)
90
+ Time per request: 1.058 [ms] (mean)
91
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
92
+
93
+ ## Items PUT JSON Performance (/items/1)
94
+ Failed requests: 0
95
+ Requests per second: 87180.92 [#/sec] (mean)
96
+ Time per request: 1.147 [ms] (mean)
97
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
98
+
99
+ ## ORM Performance
100
+ ### Users Full10 (/users/full10)
101
+ Failed requests: 0
102
+ Requests per second: 14486.43 [#/sec] (mean)
103
+ Time per request: 6.903 [ms] (mean)
104
+ Time per request: 0.069 [ms] (mean, across all concurrent requests)
105
+ ### Users Mini10 (/users/mini10)
106
+ Failed requests: 0
107
+ Requests per second: 16800.28 [#/sec] (mean)
108
+ Time per request: 5.952 [ms] (mean)
109
+ Time per request: 0.060 [ms] (mean, across all concurrent requests)
110
+
111
+ ## Class-Based Views (CBV) Performance
112
+ ### Simple APIView GET (/cbv-simple)
113
+ Failed requests: 0
114
+ Requests per second: 89463.04 [#/sec] (mean)
115
+ Time per request: 1.118 [ms] (mean)
116
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
117
+ ### Simple APIView POST (/cbv-simple)
118
+ Failed requests: 0
119
+ Requests per second: 75276.83 [#/sec] (mean)
120
+ Time per request: 1.328 [ms] (mean)
121
+ Time per request: 0.013 [ms] (mean, across all concurrent requests)
122
+ ### Items100 ViewSet GET (/cbv-items100)
123
+ Failed requests: 0
124
+ Requests per second: 60311.81 [#/sec] (mean)
125
+ Time per request: 1.658 [ms] (mean)
126
+ Time per request: 0.017 [ms] (mean, across all concurrent requests)
127
+
128
+ ## CBV Items - Basic Operations
129
+ ### CBV Items GET (Retrieve) (/cbv-items/1)
130
+ Failed requests: 0
131
+ Requests per second: 97608.59 [#/sec] (mean)
132
+ Time per request: 1.024 [ms] (mean)
133
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
134
+ ### CBV Items PUT (Update) (/cbv-items/1)
135
+ Failed requests: 0
136
+ Requests per second: 91640.55 [#/sec] (mean)
137
+ Time per request: 1.091 [ms] (mean)
138
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
139
+
140
+ ## CBV Additional Benchmarks
141
+ ### CBV Bench Parse (POST /cbv-bench-parse)
142
+ Failed requests: 0
143
+ Requests per second: 91746.49 [#/sec] (mean)
144
+ Time per request: 1.090 [ms] (mean)
145
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
146
+ ### CBV Response Types (/cbv-response)
147
+ Failed requests: 0
148
+ Requests per second: 97331.18 [#/sec] (mean)
149
+ Time per request: 1.027 [ms] (mean)
150
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
151
+ ### CBV Streaming Plain Text (/cbv-stream)
152
+ Total: 0.1993 secs
153
+ Slowest: 0.0135 secs
154
+ Fastest: 0.0001 secs
155
+ Average: 0.0019 secs
156
+ Requests/sec: 50175.9090
157
+ Status code distribution:
158
+ ### CBV Server-Sent Events (/cbv-sse)
159
+ Total: 0.1935 secs
160
+ Slowest: 0.0122 secs
161
+ Fastest: 0.0001 secs
162
+ Average: 0.0019 secs
163
+ Requests/sec: 51674.0506
164
+ Status code distribution:
165
+ ### CBV Chat Completions (stream) (/cbv-chat-completions)
166
+ Total: 0.7287 secs
167
+ Slowest: 0.0280 secs
168
+ Fastest: 0.0004 secs
169
+ Average: 0.0071 secs
170
+ Requests/sec: 13723.1401
171
+ Status code distribution:
172
+
173
+ ## ORM Performance with CBV
174
+ ### Users CBV Mini10 (List) (/users/cbv-mini10)
175
+ Failed requests: 0
176
+ Requests per second: 18096.40 [#/sec] (mean)
177
+ Time per request: 5.526 [ms] (mean)
178
+ Time per request: 0.055 [ms] (mean, across all concurrent requests)
179
+
180
+
181
+ ## Form and File Upload Performance
182
+ ### Form Data (POST /form)
183
+ Failed requests: 0
184
+ Requests per second: 79348.08 [#/sec] (mean)
185
+ Time per request: 1.260 [ms] (mean)
186
+ Time per request: 0.013 [ms] (mean, across all concurrent requests)
187
+ ### File Upload (POST /upload)
188
+ Failed requests: 0
189
+ Requests per second: 59703.63 [#/sec] (mean)
190
+ Time per request: 1.675 [ms] (mean)
191
+ Time per request: 0.017 [ms] (mean, across all concurrent requests)
192
+ ### Mixed Form with Files (POST /mixed-form)
193
+ Failed requests: 0
194
+ Requests per second: 59385.95 [#/sec] (mean)
195
+ Time per request: 1.684 [ms] (mean)
196
+ Time per request: 0.017 [ms] (mean, across all concurrent requests)
197
+
198
+ ## Django Ninja-style Benchmarks
199
+ ### JSON Parse/Validate (POST /bench/parse)
200
+ Failed requests: 0
201
+ Requests per second: 92951.49 [#/sec] (mean)
202
+ Time per request: 1.076 [ms] (mean)
203
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
@@ -0,0 +1,203 @@
1
+ # Django-Bolt Benchmark
2
+ Generated: Fri Oct 31 10:56:08 PM PKT 2025
3
+ Config: 8 processes × 1 workers | C=100 N=10000
4
+
5
+ ## Root Endpoint Performance
6
+ Failed requests: 0
7
+ Requests per second: 101021.33 [#/sec] (mean)
8
+ Time per request: 0.990 [ms] (mean)
9
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
10
+
11
+ ## 10kb JSON Response Performance
12
+ ### 10kb JSON (/10k-json)
13
+ Failed requests: 0
14
+ Requests per second: 83884.17 [#/sec] (mean)
15
+ Time per request: 1.192 [ms] (mean)
16
+ Time per request: 0.012 [ms] (mean, across all concurrent requests)
17
+
18
+ ## Response Type Endpoints
19
+ ### Header Endpoint (/header)
20
+ Failed requests: 0
21
+ Requests per second: 100206.43 [#/sec] (mean)
22
+ Time per request: 0.998 [ms] (mean)
23
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
24
+ ### Cookie Endpoint (/cookie)
25
+ Failed requests: 0
26
+ Requests per second: 97078.90 [#/sec] (mean)
27
+ Time per request: 1.030 [ms] (mean)
28
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
29
+ ### Exception Endpoint (/exc)
30
+ Failed requests: 0
31
+ Requests per second: 97846.40 [#/sec] (mean)
32
+ Time per request: 1.022 [ms] (mean)
33
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
34
+ ### HTML Response (/html)
35
+ Failed requests: 0
36
+ Requests per second: 102054.35 [#/sec] (mean)
37
+ Time per request: 0.980 [ms] (mean)
38
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
39
+ ### Redirect Response (/redirect)
40
+ Failed requests: 0
41
+ Requests per second: 101326.36 [#/sec] (mean)
42
+ Time per request: 0.987 [ms] (mean)
43
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
44
+ ### File Static via FileResponse (/file-static)
45
+ Failed requests: 0
46
+ Requests per second: 21057.15 [#/sec] (mean)
47
+ Time per request: 4.749 [ms] (mean)
48
+ Time per request: 0.047 [ms] (mean, across all concurrent requests)
49
+
50
+ ## Streaming and SSE Performance
51
+ ### Streaming Plain Text (/stream)
52
+ Total: 0.2191 secs
53
+ Slowest: 0.0133 secs
54
+ Fastest: 0.0001 secs
55
+ Average: 0.0021 secs
56
+ Requests/sec: 45639.3454
57
+ Status code distribution:
58
+ ### Server-Sent Events (/sse)
59
+ Total: 0.1911 secs
60
+ Slowest: 0.0087 secs
61
+ Fastest: 0.0001 secs
62
+ Average: 0.0018 secs
63
+ Requests/sec: 52338.0410
64
+ Status code distribution:
65
+ ### Server-Sent Events (async) (/sse-async)
66
+ Total: 0.3585 secs
67
+ Slowest: 0.0144 secs
68
+ Fastest: 0.0002 secs
69
+ Average: 0.0034 secs
70
+ Requests/sec: 27891.7389
71
+ Status code distribution:
72
+ ### OpenAI Chat Completions (stream) (/v1/chat/completions)
73
+ Total: 0.5844 secs
74
+ Slowest: 0.0179 secs
75
+ Fastest: 0.0003 secs
76
+ Average: 0.0056 secs
77
+ Requests/sec: 17112.8772
78
+ Status code distribution:
79
+ ### OpenAI Chat Completions (async stream) (/v1/chat/completions-async)
80
+ Total: 0.7211 secs
81
+ Slowest: 0.0209 secs
82
+ Fastest: 0.0005 secs
83
+ Average: 0.0067 secs
84
+ Requests/sec: 13867.4423
85
+ Status code distribution:
86
+
87
+ ## Items GET Performance (/items/1?q=hello)
88
+ Failed requests: 0
89
+ Requests per second: 70965.77 [#/sec] (mean)
90
+ Time per request: 1.409 [ms] (mean)
91
+ Time per request: 0.014 [ms] (mean, across all concurrent requests)
92
+
93
+ ## Items PUT JSON Performance (/items/1)
94
+ Failed requests: 0
95
+ Requests per second: 82165.22 [#/sec] (mean)
96
+ Time per request: 1.217 [ms] (mean)
97
+ Time per request: 0.012 [ms] (mean, across all concurrent requests)
98
+
99
+ ## ORM Performance
100
+ ### Users Full10 (/users/full10)
101
+ Failed requests: 0
102
+ Requests per second: 14509.11 [#/sec] (mean)
103
+ Time per request: 6.892 [ms] (mean)
104
+ Time per request: 0.069 [ms] (mean, across all concurrent requests)
105
+ ### Users Mini10 (/users/mini10)
106
+ Failed requests: 0
107
+ Requests per second: 16262.62 [#/sec] (mean)
108
+ Time per request: 6.149 [ms] (mean)
109
+ Time per request: 0.061 [ms] (mean, across all concurrent requests)
110
+
111
+ ## Class-Based Views (CBV) Performance
112
+ ### Simple APIView GET (/cbv-simple)
113
+ Failed requests: 0
114
+ Requests per second: 101748.03 [#/sec] (mean)
115
+ Time per request: 0.983 [ms] (mean)
116
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
117
+ ### Simple APIView POST (/cbv-simple)
118
+ Failed requests: 0
119
+ Requests per second: 93984.08 [#/sec] (mean)
120
+ Time per request: 1.064 [ms] (mean)
121
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
122
+ ### Items100 ViewSet GET (/cbv-items100)
123
+ Failed requests: 0
124
+ Requests per second: 70886.79 [#/sec] (mean)
125
+ Time per request: 1.411 [ms] (mean)
126
+ Time per request: 0.014 [ms] (mean, across all concurrent requests)
127
+
128
+ ## CBV Items - Basic Operations
129
+ ### CBV Items GET (Retrieve) (/cbv-items/1)
130
+ Failed requests: 0
131
+ Requests per second: 96781.06 [#/sec] (mean)
132
+ Time per request: 1.033 [ms] (mean)
133
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
134
+ ### CBV Items PUT (Update) (/cbv-items/1)
135
+ Failed requests: 0
136
+ Requests per second: 91161.86 [#/sec] (mean)
137
+ Time per request: 1.097 [ms] (mean)
138
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
139
+
140
+ ## CBV Additional Benchmarks
141
+ ### CBV Bench Parse (POST /cbv-bench-parse)
142
+ Failed requests: 0
143
+ Requests per second: 93008.55 [#/sec] (mean)
144
+ Time per request: 1.075 [ms] (mean)
145
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)
146
+ ### CBV Response Types (/cbv-response)
147
+ Failed requests: 0
148
+ Requests per second: 101316.10 [#/sec] (mean)
149
+ Time per request: 0.987 [ms] (mean)
150
+ Time per request: 0.010 [ms] (mean, across all concurrent requests)
151
+ ### CBV Streaming Plain Text (/cbv-stream)
152
+ Total: 0.1922 secs
153
+ Slowest: 0.0094 secs
154
+ Fastest: 0.0001 secs
155
+ Average: 0.0018 secs
156
+ Requests/sec: 52024.1120
157
+ Status code distribution:
158
+ ### CBV Server-Sent Events (/cbv-sse)
159
+ Total: 0.1664 secs
160
+ Slowest: 0.0075 secs
161
+ Fastest: 0.0001 secs
162
+ Average: 0.0016 secs
163
+ Requests/sec: 60096.1759
164
+ Status code distribution:
165
+ ### CBV Chat Completions (stream) (/cbv-chat-completions)
166
+ Total: 0.7358 secs
167
+ Slowest: 0.0298 secs
168
+ Fastest: 0.0004 secs
169
+ Average: 0.0071 secs
170
+ Requests/sec: 13591.4714
171
+ Status code distribution:
172
+
173
+ ## ORM Performance with CBV
174
+ ### Users CBV Mini10 (List) (/users/cbv-mini10)
175
+ Failed requests: 0
176
+ Requests per second: 18272.98 [#/sec] (mean)
177
+ Time per request: 5.473 [ms] (mean)
178
+ Time per request: 0.055 [ms] (mean, across all concurrent requests)
179
+
180
+
181
+ ## Form and File Upload Performance
182
+ ### Form Data (POST /form)
183
+ Failed requests: 0
184
+ Requests per second: 72707.71 [#/sec] (mean)
185
+ Time per request: 1.375 [ms] (mean)
186
+ Time per request: 0.014 [ms] (mean, across all concurrent requests)
187
+ ### File Upload (POST /upload)
188
+ Failed requests: 0
189
+ Requests per second: 62093.29 [#/sec] (mean)
190
+ Time per request: 1.610 [ms] (mean)
191
+ Time per request: 0.016 [ms] (mean, across all concurrent requests)
192
+ ### Mixed Form with Files (POST /mixed-form)
193
+ Failed requests: 0
194
+ Requests per second: 58302.58 [#/sec] (mean)
195
+ Time per request: 1.715 [ms] (mean)
196
+ Time per request: 0.017 [ms] (mean, across all concurrent requests)
197
+
198
+ ## Django Ninja-style Benchmarks
199
+ ### JSON Parse/Validate (POST /bench/parse)
200
+ Failed requests: 0
201
+ Requests per second: 88763.44 [#/sec] (mean)
202
+ Time per request: 1.127 [ms] (mean)
203
+ Time per request: 0.011 [ms] (mean, across all concurrent requests)