bustapi 0.14.3__tar.gz → 0.14.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 (267) hide show
  1. {bustapi-0.14.3 → bustapi-0.14.4}/.github/workflows/ci.yml +10 -2
  2. bustapi-0.14.4/AGENT_KNOWLEDGE.md +6 -0
  3. {bustapi-0.14.3 → bustapi-0.14.4}/CHANGELOG.md +5 -0
  4. {bustapi-0.14.3 → bustapi-0.14.4}/Cargo.lock +265 -178
  5. {bustapi-0.14.3 → bustapi-0.14.4}/Cargo.toml +4 -2
  6. {bustapi-0.14.3 → bustapi-0.14.4}/PKG-INFO +1 -1
  7. bustapi-0.14.4/benchmarks/README.md +43 -0
  8. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/benchmark_all.py +8 -8
  9. bustapi-0.14.4/benchmarks/rps_comparison.png +0 -0
  10. bustapi-0.14.4/benchmarks/turbomax_baseline.txt +20 -0
  11. {bustapi-0.14.3 → bustapi-0.14.4}/docs/changelog.md +5 -0
  12. {bustapi-0.14.3 → bustapi-0.14.4}/pyproject.toml +1 -1
  13. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/__init__.py +1 -1
  14. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/app.py +22 -3
  15. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/multiprocess.py +45 -11
  16. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/server/runner.py +20 -3
  17. {bustapi-0.14.3 → bustapi-0.14.4}/src/bindings/app.rs +12 -0
  18. {bustapi-0.14.3 → bustapi-0.14.4}/src/server/handlers.rs +4 -0
  19. {bustapi-0.14.3 → bustapi-0.14.4}/src/server/startup.rs +81 -6
  20. bustapi-0.14.4/tests/test_https.py +31 -0
  21. bustapi-0.14.3/benchmarks/README.md +0 -43
  22. bustapi-0.14.3/benchmarks/rps_comparison.png +0 -0
  23. {bustapi-0.14.3 → bustapi-0.14.4}/- +0 -0
  24. {bustapi-0.14.3 → bustapi-0.14.4}/.github/FUNDING.yml +0 -0
  25. {bustapi-0.14.3 → bustapi-0.14.4}/.github/workflows/ci-multiplatform.yml +0 -0
  26. {bustapi-0.14.3 → bustapi-0.14.4}/.github/workflows/docs.yml +0 -0
  27. {bustapi-0.14.3 → bustapi-0.14.4}/.github/workflows/manual-publish.yml +0 -0
  28. {bustapi-0.14.3 → bustapi-0.14.4}/.gitignore +0 -0
  29. {bustapi-0.14.3 → bustapi-0.14.4}/.python-version +0 -0
  30. /bustapi-0.14.3/AGENT_KNOWLEDGE.md → /bustapi-0.14.4/AGENTS.md +0 -0
  31. {bustapi-0.14.3 → bustapi-0.14.4}/Dockerfile +0 -0
  32. {bustapi-0.14.3 → bustapi-0.14.4}/LICENSE +0 -0
  33. {bustapi-0.14.3 → bustapi-0.14.4}/README.md +0 -0
  34. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/CACHE_BENCHMARK.md +0 -0
  35. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/app.py +0 -0
  36. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/benchmark_avg.py +0 -0
  37. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/benchmark_cache.py +0 -0
  38. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/benchmark_combined.png +0 -0
  39. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/bustapi.md +0 -0
  40. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/bustapi_bench.py +0 -0
  41. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/bustapi_internal.py +0 -0
  42. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/comparison_bench.py +0 -0
  43. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/comprehensive_benchmark.py +0 -0
  44. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/gen_graph.py +0 -0
  45. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/quick_bench.py +0 -0
  46. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/resource_bench.py +0 -0
  47. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/run_comparison_auto.py +0 -0
  48. {bustapi-0.14.3 → bustapi-0.14.4}/benchmarks/ws_benchmark.py +0 -0
  49. {bustapi-0.14.3 → bustapi-0.14.4}/docs/advanced/async.md +0 -0
  50. {bustapi-0.14.3 → bustapi-0.14.4}/docs/advanced/blueprints.md +0 -0
  51. {bustapi-0.14.3 → bustapi-0.14.4}/docs/advanced/dependency_injection.md +0 -0
  52. {bustapi-0.14.3 → bustapi-0.14.4}/docs/advanced/deployment.md +0 -0
  53. {bustapi-0.14.3 → bustapi-0.14.4}/docs/advanced/middleware.md +0 -0
  54. {bustapi-0.14.3 → bustapi-0.14.4}/docs/advanced/security.md +0 -0
  55. {bustapi-0.14.3 → bustapi-0.14.4}/docs/advanced/validation.md +0 -0
  56. {bustapi-0.14.3 → bustapi-0.14.4}/docs/api-reference.md +0 -0
  57. {bustapi-0.14.3 → bustapi-0.14.4}/docs/assets/logo.png +0 -0
  58. {bustapi-0.14.3 → bustapi-0.14.4}/docs/complete-api-reference.md +0 -0
  59. {bustapi-0.14.3 → bustapi-0.14.4}/docs/deployment-performance-guide.md +0 -0
  60. {bustapi-0.14.3 → bustapi-0.14.4}/docs/deployment.md +0 -0
  61. {bustapi-0.14.3 → bustapi-0.14.4}/docs/examples-guide.md +0 -0
  62. {bustapi-0.14.3 → bustapi-0.14.4}/docs/index.md +0 -0
  63. {bustapi-0.14.3 → bustapi-0.14.4}/docs/installation.md +0 -0
  64. {bustapi-0.14.3 → bustapi-0.14.4}/docs/overrides/.gitkeep +0 -0
  65. {bustapi-0.14.3 → bustapi-0.14.4}/docs/quickstart.md +0 -0
  66. {bustapi-0.14.3 → bustapi-0.14.4}/docs/release_track.md +0 -0
  67. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/advanced/async_support.html +0 -0
  68. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/advanced/blueprints.html +0 -0
  69. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/advanced/dependency_injection.html +0 -0
  70. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/advanced/middleware.html +0 -0
  71. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/advanced/validation.html +0 -0
  72. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/api/all.html +0 -0
  73. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/api/app.html +0 -0
  74. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/api/context.html +0 -0
  75. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/api/utilities.html +0 -0
  76. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/assets/logo.png +0 -0
  77. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/changelog.html +0 -0
  78. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/core_concepts/request_data.html +0 -0
  79. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/core_concepts/responses.html +0 -0
  80. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/core_concepts/routing.html +0 -0
  81. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/core_concepts/templates.html +0 -0
  82. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/examples/index.html +0 -0
  83. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/getting_started/index.html +0 -0
  84. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/getting_started/quickstart.html +0 -0
  85. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/index.html +0 -0
  86. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/script.js +0 -0
  87. {bustapi-0.14.3 → bustapi-0.14.4}/docs/site/style.css +0 -0
  88. {bustapi-0.14.3 → bustapi-0.14.4}/docs/stylesheets/extra.css +0 -0
  89. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/authentication.md +0 -0
  90. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/caching.md +0 -0
  91. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/cli.md +0 -0
  92. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/database.md +0 -0
  93. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/documentation.md +0 -0
  94. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/error_handling.md +0 -0
  95. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/jwt.md +0 -0
  96. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/logging.md +0 -0
  97. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/multiprocessing.md +0 -0
  98. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/request_data.md +0 -0
  99. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/responses.md +0 -0
  100. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/routing.md +0 -0
  101. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/sessions.md +0 -0
  102. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/static_files.md +0 -0
  103. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/templates.md +0 -0
  104. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/turbo-routes.md +0 -0
  105. {bustapi-0.14.3 → bustapi-0.14.4}/docs/user-guide/video-streaming.md +0 -0
  106. {bustapi-0.14.3 → bustapi-0.14.4}/docs/websockets.md +0 -0
  107. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/08_auto_docs.py +0 -0
  108. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/12_test_modes.py +0 -0
  109. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/13_error_handling.py +0 -0
  110. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/14_middleware.py +0 -0
  111. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/16_middleware_session.py +0 -0
  112. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/20_file_uploads.py +0 -0
  113. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/24_body_and_depends.py +0 -0
  114. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/27_video_stream.py +0 -0
  115. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/28_websocket.py +0 -0
  116. {bustapi-0.14.3 → bustapi-0.14.4}/examples/advanced/29_turbo_websocket.py +0 -0
  117. {bustapi-0.14.3 → bustapi-0.14.4}/examples/basics/01_hello_world.py +0 -0
  118. {bustapi-0.14.3 → bustapi-0.14.4}/examples/basics/02_parameters.py +0 -0
  119. {bustapi-0.14.3 → bustapi-0.14.4}/examples/basics/03_async.py +0 -0
  120. {bustapi-0.14.3 → bustapi-0.14.4}/examples/basics/04_request_data.py +0 -0
  121. {bustapi-0.14.3 → bustapi-0.14.4}/examples/basics/19_all_types.py +0 -0
  122. {bustapi-0.14.3 → bustapi-0.14.4}/examples/database/07_database_raw.py +0 -0
  123. {bustapi-0.14.3 → bustapi-0.14.4}/examples/database/10_database_sqlmodel.py +0 -0
  124. {bustapi-0.14.3 → bustapi-0.14.4}/examples/routing/06_blueprints.py +0 -0
  125. {bustapi-0.14.3 → bustapi-0.14.4}/examples/routing/09_complex_routing.py +0 -0
  126. {bustapi-0.14.3 → bustapi-0.14.4}/examples/routing/21_path_validation.py +0 -0
  127. {bustapi-0.14.3 → bustapi-0.14.4}/examples/routing/22_path_docs.py +0 -0
  128. {bustapi-0.14.3 → bustapi-0.14.4}/examples/routing/23_query_validation.py +0 -0
  129. {bustapi-0.14.3 → bustapi-0.14.4}/examples/routing/blueprint_with_jwt.py +0 -0
  130. {bustapi-0.14.3 → bustapi-0.14.4}/examples/security/10_rate_limit_demo.py +0 -0
  131. {bustapi-0.14.3 → bustapi-0.14.4}/examples/security/11_security_demo.py +0 -0
  132. {bustapi-0.14.3 → bustapi-0.14.4}/examples/security/17_jwt_auth.py +0 -0
  133. {bustapi-0.14.3 → bustapi-0.14.4}/examples/security/17_safe_features.py +0 -0
  134. {bustapi-0.14.3 → bustapi-0.14.4}/examples/security/18_jwt_cookies.py +0 -0
  135. {bustapi-0.14.3 → bustapi-0.14.4}/examples/security/18_safe_advanced.py +0 -0
  136. {bustapi-0.14.3 → bustapi-0.14.4}/examples/security/18_session_login.py +0 -0
  137. {bustapi-0.14.3 → bustapi-0.14.4}/examples/templates/05_templates.py +0 -0
  138. {bustapi-0.14.3 → bustapi-0.14.4}/examples/templates/26_complex_template.py +0 -0
  139. {bustapi-0.14.3 → bustapi-0.14.4}/examples/templates/templates/index.html +0 -0
  140. {bustapi-0.14.3 → bustapi-0.14.4}/examples/turbo/cache_test.py +0 -0
  141. {bustapi-0.14.3 → bustapi-0.14.4}/examples/turbo/fair_benchmark.py +0 -0
  142. {bustapi-0.14.3 → bustapi-0.14.4}/examples/turbo/typed_turbo_example.py +0 -0
  143. {bustapi-0.14.3 → bustapi-0.14.4}/examples/ws/app.py +0 -0
  144. {bustapi-0.14.3 → bustapi-0.14.4}/examples/ws/templates/index.html +0 -0
  145. {bustapi-0.14.3 → bustapi-0.14.4}/examples/ws/websockets_demo.py +0 -0
  146. {bustapi-0.14.3 → bustapi-0.14.4}/examples/ws/ws_limit.py +0 -0
  147. {bustapi-0.14.3 → bustapi-0.14.4}/mkdocs.yml +0 -0
  148. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/auth/__init__.py +0 -0
  149. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/auth/csrf.py +0 -0
  150. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/auth/decorators.py +0 -0
  151. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/auth/login.py +0 -0
  152. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/auth/password.py +0 -0
  153. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/auth/tokens.py +0 -0
  154. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/auth/user.py +0 -0
  155. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/cli/__init__.py +0 -0
  156. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/cli/main.py +0 -0
  157. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/context.py +0 -0
  158. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/core/__init__.py +0 -0
  159. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/core/asgi.py +0 -0
  160. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/core/exceptions.py +0 -0
  161. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/core/helpers.py +0 -0
  162. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/core/logging.py +0 -0
  163. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/dependencies.py +0 -0
  164. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/dispatch.py +0 -0
  165. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/documentation/__init__.py +0 -0
  166. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/documentation/generator.py +0 -0
  167. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/extraction.py +0 -0
  168. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/fastapi_compat.py +0 -0
  169. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/hooks.py +0 -0
  170. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/http/__init__.py +0 -0
  171. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/http/request.py +0 -0
  172. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/http/response.py +0 -0
  173. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/jwt.py +0 -0
  174. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/logging.py +0 -0
  175. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/middleware.py +0 -0
  176. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/params.py +0 -0
  177. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/py.typed +0 -0
  178. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/responses.py +0 -0
  179. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/routing/__init__.py +0 -0
  180. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/routing/blueprints.py +0 -0
  181. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/routing/decorators.py +0 -0
  182. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/safe/__init__.py +0 -0
  183. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/safe/concurrency.py +0 -0
  184. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/safe/types.py +0 -0
  185. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/security/__init__.py +0 -0
  186. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/security/extension.py +0 -0
  187. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/security/rate_limit.py +0 -0
  188. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/server/__init__.py +0 -0
  189. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/server/wsgi.py +0 -0
  190. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/sessions.py +0 -0
  191. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/templating/__init__.py +0 -0
  192. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/templating/engine.py +0 -0
  193. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/templating/mixin.py +0 -0
  194. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/testing/__init__.py +0 -0
  195. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/testing/client.py +0 -0
  196. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/utils.py +0 -0
  197. {bustapi-0.14.3 → bustapi-0.14.4}/python/bustapi/websocket.py +0 -0
  198. {bustapi-0.14.3 → bustapi-0.14.4}/run_all_examples.py +0 -0
  199. {bustapi-0.14.3 → bustapi-0.14.4}/scratch/test_abort.py +0 -0
  200. {bustapi-0.14.3 → bustapi-0.14.4}/scratch/test_headers.py +0 -0
  201. {bustapi-0.14.3 → bustapi-0.14.4}/src/bindings/converters.rs +0 -0
  202. {bustapi-0.14.3 → bustapi-0.14.4}/src/bindings/handlers.rs +0 -0
  203. {bustapi-0.14.3 → bustapi-0.14.4}/src/bindings/mod.rs +0 -0
  204. {bustapi-0.14.3 → bustapi-0.14.4}/src/bindings/request.rs +0 -0
  205. {bustapi-0.14.3 → bustapi-0.14.4}/src/bindings/typed_turbo.rs +0 -0
  206. {bustapi-0.14.3 → bustapi-0.14.4}/src/bindings/websocket.rs +0 -0
  207. {bustapi-0.14.3 → bustapi-0.14.4}/src/crypto.rs +0 -0
  208. {bustapi-0.14.3 → bustapi-0.14.4}/src/jwt.rs +0 -0
  209. {bustapi-0.14.3 → bustapi-0.14.4}/src/lib.rs +0 -0
  210. {bustapi-0.14.3 → bustapi-0.14.4}/src/logger.rs +0 -0
  211. {bustapi-0.14.3 → bustapi-0.14.4}/src/rate_limiter.rs +0 -0
  212. {bustapi-0.14.3 → bustapi-0.14.4}/src/request/methods.rs +0 -0
  213. {bustapi-0.14.3 → bustapi-0.14.4}/src/request/mod.rs +0 -0
  214. {bustapi-0.14.3 → bustapi-0.14.4}/src/request/tests.rs +0 -0
  215. {bustapi-0.14.3 → bustapi-0.14.4}/src/response/builders.rs +0 -0
  216. {bustapi-0.14.3 → bustapi-0.14.4}/src/response/methods.rs +0 -0
  217. {bustapi-0.14.3 → bustapi-0.14.4}/src/response/mod.rs +0 -0
  218. {bustapi-0.14.3 → bustapi-0.14.4}/src/router/handlers.rs +0 -0
  219. {bustapi-0.14.3 → bustapi-0.14.4}/src/router/matching.rs +0 -0
  220. {bustapi-0.14.3 → bustapi-0.14.4}/src/router/middleware.rs +0 -0
  221. {bustapi-0.14.3 → bustapi-0.14.4}/src/router/mod.rs +0 -0
  222. {bustapi-0.14.3 → bustapi-0.14.4}/src/router/tests.rs +0 -0
  223. {bustapi-0.14.3 → bustapi-0.14.4}/src/server/mod.rs +0 -0
  224. {bustapi-0.14.3 → bustapi-0.14.4}/src/server/stream.rs +0 -0
  225. {bustapi-0.14.3 → bustapi-0.14.4}/src/static_files.rs +0 -0
  226. {bustapi-0.14.3 → bustapi-0.14.4}/src/templating.rs +0 -0
  227. {bustapi-0.14.3 → bustapi-0.14.4}/src/watcher.rs +0 -0
  228. {bustapi-0.14.3 → bustapi-0.14.4}/src/websocket/config.rs +0 -0
  229. {bustapi-0.14.3 → bustapi-0.14.4}/src/websocket/mod.rs +0 -0
  230. {bustapi-0.14.3 → bustapi-0.14.4}/src/websocket/session.rs +0 -0
  231. {bustapi-0.14.3 → bustapi-0.14.4}/src/websocket/turbo.rs +0 -0
  232. {bustapi-0.14.3 → bustapi-0.14.4}/static/style.css +0 -0
  233. {bustapi-0.14.3 → bustapi-0.14.4}/templates/base.html +0 -0
  234. {bustapi-0.14.3 → bustapi-0.14.4}/templates/complex.html +0 -0
  235. {bustapi-0.14.3 → bustapi-0.14.4}/tests/docs_test_all.py +0 -0
  236. {bustapi-0.14.3 → bustapi-0.14.4}/tests/docs_test_api_reference.py +0 -0
  237. {bustapi-0.14.3 → bustapi-0.14.4}/tests/docs_test_installation.py +0 -0
  238. {bustapi-0.14.3 → bustapi-0.14.4}/tests/docs_test_quickstart.py +0 -0
  239. {bustapi-0.14.3 → bustapi-0.14.4}/tests/docs_test_simple.py +0 -0
  240. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_050_features.py +0 -0
  241. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_async_hooks.py +0 -0
  242. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_async_login.py +0 -0
  243. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_auth.py +0 -0
  244. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_discussion_21.py +0 -0
  245. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_discussion_22.py +0 -0
  246. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_discussion_28.py +0 -0
  247. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_examples.py +0 -0
  248. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_hot_reload.py +0 -0
  249. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_issue_18.py +0 -0
  250. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_issue_23.py +0 -0
  251. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_issue_24.py +0 -0
  252. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_issue_29.py +0 -0
  253. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_jwt.py +0 -0
  254. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_jwt_cookies.py +0 -0
  255. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_login_manager.py +0 -0
  256. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_middleware.py +0 -0
  257. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_multiprocess_stability.py +0 -0
  258. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_new_examples.py +0 -0
  259. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_orm_conflict.py +0 -0
  260. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_path_standalone.py +0 -0
  261. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_path_validation.py +0 -0
  262. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_rate_limit_rust.py +0 -0
  263. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_safe.py +0 -0
  264. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_security_unit.py +0 -0
  265. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_sessions.py +0 -0
  266. {bustapi-0.14.3 → bustapi-0.14.4}/tests/test_zero_copy.py +0 -0
  267. {bustapi-0.14.3 → bustapi-0.14.4}/tests/verify_router.py +0 -0
@@ -102,17 +102,21 @@ jobs:
102
102
  - os: ubuntu-latest
103
103
  target: x86_64-unknown-linux-gnu
104
104
  args: --release --out dist --find-interpreter
105
+ manylinux: manylinux_2_28
105
106
  - os: ubuntu-latest
106
107
  target: x86_64-unknown-linux-musl
107
108
  args: --release --out dist --find-interpreter
109
+ manylinux: musllinux_1_2
108
110
 
109
111
  # Linux ARM64
110
112
  - os: ubuntu-latest
111
113
  target: aarch64-unknown-linux-gnu
112
114
  args: --release --out dist --find-interpreter --no-default-features
115
+ manylinux: manylinux_2_28
113
116
  - os: ubuntu-latest
114
117
  target: aarch64-unknown-linux-musl
115
118
  args: --release --out dist --find-interpreter --no-default-features
119
+ manylinux: musllinux_1_2
116
120
 
117
121
  # Windows
118
122
  - os: windows-latest
@@ -128,13 +132,17 @@ jobs:
128
132
  args: --release --out dist --find-interpreter
129
133
  steps:
130
134
  - uses: actions/checkout@v4
131
-
135
+
136
+ - name: Set up QEMU
137
+ if: contains(matrix.target, 'aarch64-unknown-linux')
138
+ uses: docker/setup-qemu-action@v3
139
+
132
140
  - name: Build wheels
133
141
  uses: PyO3/maturin-action@v1
134
142
  with:
135
143
  target: ${{ matrix.target }}
136
144
  args: ${{ matrix.args }}
137
- manylinux: auto
145
+ manylinux: ${{ matrix.manylinux || 'auto' }}
138
146
 
139
147
  - name: Upload wheels
140
148
  uses: actions/upload-artifact@v4
@@ -0,0 +1,6 @@
1
+ # Agent Knowledge
2
+
3
+ To maintain consistency and performance in the BustAPI codebase, all AI agents must follow these instructions:
4
+
5
+ 1. **Python Management**: Use `uv` for all Python-related tasks, including dependency management and running scripts/tests.
6
+ 2. **Quality Control**: Always run linting checks (e.g., `ruff check`) before committing any changes to the repository.
@@ -2,6 +2,11 @@
2
2
 
3
3
  All notable changes to this project will be documented here.
4
4
 
5
+ ## [0.14.4] - 2026-07-23
6
+
7
+ ### Added
8
+ - **Native HTTPS Support**: Enabled native TLS/HTTPS capabilities in the Rust core powered by `rustls` and `rustls-pemfile`. Applications can now specify SSL certificates via `ssl_context=(cert_path, key_path)` in `app.run()` and `app.run_async()`, removing the dependency on external reverse proxies.
9
+
5
10
  ## [0.14.3] - 2026-06-19
6
11
 
7
12
  ### Fixed