fastapi-rtk 2.18.2__tar.gz → 2.18.3__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 (340) hide show
  1. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/PKG-INFO +12 -2
  2. fastapi_rtk-2.18.3/fastapi_rtk/_version.py +1 -0
  3. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/pyproject.toml +18 -3
  4. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/uv.lock +99 -82
  5. fastapi_rtk-2.18.2/fastapi_rtk/_version.py +0 -1
  6. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/.gitignore +0 -0
  7. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/LICENSE +0 -0
  8. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/README.md +0 -0
  9. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/__init__.py +0 -0
  10. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/agent_docs/adapters/agents-md/AGENTS.md +0 -0
  11. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/agent_docs/adapters/claude/skill.frontmatter +0 -0
  12. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/agent_docs/guide/backend.md +0 -0
  13. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/agent_docs/guide/frontend.md +0 -0
  14. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/agent_docs/guide/legacy.md +0 -0
  15. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/agent_docs/guide/overview.md +0 -0
  16. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/__init__.py +0 -0
  17. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/base_api.py +0 -0
  18. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/__init__.py +0 -0
  19. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/model_rest_api.py +0 -0
  20. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/params.py +0 -0
  21. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/__init__.py +0 -0
  22. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_add_service.py +0 -0
  23. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_bulk_service.py +0 -0
  24. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_delete_service.py +0 -0
  25. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_download_service.py +0 -0
  26. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_edit_service.py +0 -0
  27. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_file_service.py +0 -0
  28. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_info_service.py +0 -0
  29. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_list_service.py +0 -0
  30. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_schema_service.py +0 -0
  31. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/api/model_rest_api/services/_show_service.py +0 -0
  32. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/apis/__init__.py +0 -0
  33. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/apis/info.py +0 -0
  34. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/apis/license.py +0 -0
  35. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/__init__.py +0 -0
  36. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/auth.py +0 -0
  37. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/hashers/__init__.py +0 -0
  38. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/hashers/pbkdf2.py +0 -0
  39. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/hashers/scrypt.py +0 -0
  40. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/ldap.py +0 -0
  41. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/password_helpers/__init__.py +0 -0
  42. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/password_helpers/fab.py +0 -0
  43. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/strategies/__init__.py +0 -0
  44. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/strategies/config.py +0 -0
  45. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/strategies/db.py +0 -0
  46. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/auth/strategies/jwt.py +0 -0
  47. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/__init__.py +0 -0
  48. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/__init__.py +0 -0
  49. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/column.py +0 -0
  50. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/db.py +0 -0
  51. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/exceptions.py +0 -0
  52. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/filters.py +0 -0
  53. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/interface.py +0 -0
  54. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/model.py +0 -0
  55. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/generic/session.py +0 -0
  56. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/__init__.py +0 -0
  57. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/column.py +0 -0
  58. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/db.py +0 -0
  59. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/exceptions.py +0 -0
  60. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/__init__.py +0 -0
  61. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/audit/__init__.py +0 -0
  62. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/audit/_decorators_service.py +0 -0
  63. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/audit/_lifecycle_service.py +0 -0
  64. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/audit/_logger.py +0 -0
  65. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/audit/_processing_service.py +0 -0
  66. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/audit/audit.py +0 -0
  67. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/audit/types.py +0 -0
  68. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/geoalchemy2/__init__.py +0 -0
  69. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/geoalchemy2/filters.py +0 -0
  70. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/extensions/geoalchemy2/geometry_converter.py +0 -0
  71. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/filters.py +0 -0
  72. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/interface.py +0 -0
  73. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/model.py +0 -0
  74. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/backends/sqla/session.py +0 -0
  75. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/__init__.py +0 -0
  76. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/cache.py +0 -0
  77. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/db.py +0 -0
  78. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/file_manager.py +0 -0
  79. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/filter.py +0 -0
  80. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/interface.py +0 -0
  81. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/loop_manager.py +0 -0
  82. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/model.py +0 -0
  83. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/session.py +0 -0
  84. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/bases/user_cache.py +0 -0
  85. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/caches/__init__.py +0 -0
  86. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/caches/cache.py +0 -0
  87. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/caches/serializers.py +0 -0
  88. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/caches/storages.py +0 -0
  89. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/__init__.py +0 -0
  90. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/cli.py +0 -0
  91. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/__init__.py +0 -0
  92. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/_security_crypto.py +0 -0
  93. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/agent/__init__.py +0 -0
  94. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/agent/adapters/__init__.py +0 -0
  95. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/agent/adapters/agents_md.py +0 -0
  96. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/agent/adapters/claude.py +0 -0
  97. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/agent/base.py +0 -0
  98. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/agent/docs.py +0 -0
  99. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/__init__.py +0 -0
  100. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi/README +0 -0
  101. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi/alembic.ini.mako +0 -0
  102. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi/env.py +0 -0
  103. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi/script.py.mako +0 -0
  104. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi-multidb/README +0 -0
  105. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi-multidb/alembic.ini.mako +0 -0
  106. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi-multidb/env.py +0 -0
  107. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/db/templates/fastapi-multidb/script.py.mako +0 -0
  108. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/export.py +0 -0
  109. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/security.py +0 -0
  110. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/commands/translate.py +0 -0
  111. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/const.py +0 -0
  112. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/decorators.py +0 -0
  113. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/types.py +0 -0
  114. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/cli/utils.py +0 -0
  115. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/config.py +0 -0
  116. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/const.py +0 -0
  117. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/db.py +0 -0
  118. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/decorators.py +0 -0
  119. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/dependencies.py +0 -0
  120. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/exceptions.py +0 -0
  121. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/fastapi_react_toolkit.py +0 -0
  122. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/file_managers/__init__.py +0 -0
  123. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/file_managers/file_manager.py +0 -0
  124. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/file_managers/image_manager.py +0 -0
  125. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/file_managers/s3_file_manager.py +0 -0
  126. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/file_managers/s3_image_manager.py +0 -0
  127. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/filters.py +0 -0
  128. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/globals.py +0 -0
  129. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/__init__.py +0 -0
  130. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/babel/__init__.py +0 -0
  131. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/babel/cli.py +0 -0
  132. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/babel/config.py +0 -0
  133. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/babel.cfg +0 -0
  134. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/lazy_text.py +0 -0
  135. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/messages.pot +0 -0
  136. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/translations/de/LC_MESSAGES/messages.mo +0 -0
  137. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/translations/de/LC_MESSAGES/messages.po +0 -0
  138. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/translations/en/LC_MESSAGES/messages.mo +0 -0
  139. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/lang/translations/en/LC_MESSAGES/messages.po +0 -0
  140. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/loop_managers/__init__.py +0 -0
  141. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/loop_managers/loop_manager.py +0 -0
  142. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/manager.py +0 -0
  143. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/middlewares.py +0 -0
  144. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/mixins.py +0 -0
  145. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/models.py +0 -0
  146. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/py.typed +0 -0
  147. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/registry.py +0 -0
  148. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/routers.py +0 -0
  149. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/schemas.py +0 -0
  150. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/__init__.py +0 -0
  151. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/__init__.py +0 -0
  152. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/apis.py +0 -0
  153. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/models.py +0 -0
  154. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/__init__.py +0 -0
  155. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_builtin_role_service.py +0 -0
  156. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_entities.py +0 -0
  157. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_exception_filters.py +0 -0
  158. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_export.py +0 -0
  159. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_import.py +0 -0
  160. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_permission_service.py +0 -0
  161. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_results.py +0 -0
  162. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_role_service.py +0 -0
  163. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/_user_service.py +0 -0
  164. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/security_manager/security_manager.py +0 -0
  165. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/security/sqla/user_cache.py +0 -0
  166. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/setting.py +0 -0
  167. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/types.py +0 -0
  168. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/__init__.py +0 -0
  169. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/async_task_runner.py +0 -0
  170. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/class_factory.py +0 -0
  171. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/csv_json_converter.py +0 -0
  172. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/deep_merge.py +0 -0
  173. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/extender_mixin.py +0 -0
  174. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/flask_appbuilder_utils.py +0 -0
  175. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/formatter.py +0 -0
  176. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/hooks.py +0 -0
  177. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/lazy.py +0 -0
  178. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/merge_schema.py +0 -0
  179. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/multiple_async_contexts.py +0 -0
  180. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/pydantic.py +0 -0
  181. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/run_utils.py +0 -0
  182. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/self_dependencies.py +0 -0
  183. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/smartdefaultdict.py +0 -0
  184. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/sqla.py +0 -0
  185. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/timezone.py +0 -0
  186. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/update_signature.py +0 -0
  187. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/utils/use_default_when_none.py +0 -0
  188. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/fastapi_rtk/version.py +0 -0
  189. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/conftest.py +0 -0
  190. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/docker-compose.gis.yml +0 -0
  191. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/__init__.py +0 -0
  192. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/api/__init__.py +0 -0
  193. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/api/test_add_edit_relation_response.py +0 -0
  194. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/api/test_model_rest_api.py +0 -0
  195. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/apis/__init__.py +0 -0
  196. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/apis/test_info_callable_schema.py +0 -0
  197. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/apis/test_info_contract.py +0 -0
  198. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/auth/__init__.py +0 -0
  199. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/auth/test_auth_flow.py +0 -0
  200. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/auth/test_oauth.py +0 -0
  201. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/conftest.py +0 -0
  202. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/file_managers/__init__.py +0 -0
  203. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/file_managers/test_file_routes.py +0 -0
  204. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/security/__init__.py +0 -0
  205. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/security/sqla/__init__.py +0 -0
  206. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/security/sqla/conftest.py +0 -0
  207. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/security/sqla/test_permission_service.py +0 -0
  208. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/security/sqla/test_role_service.py +0 -0
  209. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/security/sqla/test_security_manager.py +0 -0
  210. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/security/sqla/test_user_service.py +0 -0
  211. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/integration/test_app_smoke.py +0 -0
  212. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/__init__.py +0 -0
  213. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/__init__.py +0 -0
  214. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/conftest.py +0 -0
  215. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/model_rest_api/__init__.py +0 -0
  216. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/model_rest_api/test_columns.py +0 -0
  217. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/model_rest_api/test_download_service.py +0 -0
  218. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/model_rest_api/test_file_mixin.py +0 -0
  219. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/model_rest_api/test_init.py +0 -0
  220. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/model_rest_api/test_service_delegators.py +0 -0
  221. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/api/test_base_api.py +0 -0
  222. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/apis/__init__.py +0 -0
  223. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/apis/test_info.py +0 -0
  224. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/apis/test_license.py +0 -0
  225. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/__init__.py +0 -0
  226. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/hashers/__init__.py +0 -0
  227. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/hashers/test_pbkdf2.py +0 -0
  228. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/hashers/test_scrypt.py +0 -0
  229. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/password_helpers/__init__.py +0 -0
  230. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/password_helpers/test_fab.py +0 -0
  231. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/strategies/__init__.py +0 -0
  232. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/strategies/test_config.py +0 -0
  233. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/strategies/test_db.py +0 -0
  234. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/strategies/test_jwt.py +0 -0
  235. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/auth/test_auth.py +0 -0
  236. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/__init__.py +0 -0
  237. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/__init__.py +0 -0
  238. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/test_column.py +0 -0
  239. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/test_db.py +0 -0
  240. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/test_exceptions.py +0 -0
  241. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/test_filters.py +0 -0
  242. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/test_interface.py +0 -0
  243. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/test_model.py +0 -0
  244. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/generic/test_session.py +0 -0
  245. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/__init__.py +0 -0
  246. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/conftest.py +0 -0
  247. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_audit.py +0 -0
  248. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_audit_service_delegators.py +0 -0
  249. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_audit_types.py +0 -0
  250. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_column.py +0 -0
  251. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_db.py +0 -0
  252. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_filters.py +0 -0
  253. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_geoalchemy2.py +0 -0
  254. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_interface.py +0 -0
  255. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_model.py +0 -0
  256. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/backends/sqla/test_session.py +0 -0
  257. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/bases/__init__.py +0 -0
  258. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/bases/test_db.py +0 -0
  259. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/bases/test_file_manager.py +0 -0
  260. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/bases/test_filter.py +0 -0
  261. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/bases/test_interface.py +0 -0
  262. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/bases/test_model.py +0 -0
  263. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/bases/test_session.py +0 -0
  264. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/__init__.py +0 -0
  265. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/commands/__init__.py +0 -0
  266. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/commands/conftest.py +0 -0
  267. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/commands/test_db.py +0 -0
  268. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/commands/test_export.py +0 -0
  269. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/commands/test_security.py +0 -0
  270. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/commands/test_security_crypto.py +0 -0
  271. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/commands/test_translate.py +0 -0
  272. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/conftest.py +0 -0
  273. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/test_cli.py +0 -0
  274. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/test_decorators.py +0 -0
  275. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/test_types.py +0 -0
  276. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/cli/test_utils.py +0 -0
  277. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/file_managers/__init__.py +0 -0
  278. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/file_managers/conftest.py +0 -0
  279. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/file_managers/test_file_manager.py +0 -0
  280. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/file_managers/test_image_manager.py +0 -0
  281. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/file_managers/test_s3_file_manager.py +0 -0
  282. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/file_managers/test_s3_image_manager.py +0 -0
  283. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/lang/__init__.py +0 -0
  284. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/lang/test_babel_cli.py +0 -0
  285. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/lang/test_babel_config.py +0 -0
  286. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/lang/test_lazy_text.py +0 -0
  287. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/__init__.py +0 -0
  288. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/__init__.py +0 -0
  289. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/conftest.py +0 -0
  290. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/security_manager/__init__.py +0 -0
  291. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/security_manager/test_builtin_role_service.py +0 -0
  292. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/security_manager/test_entities.py +0 -0
  293. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/security_manager/test_permission_service.py +0 -0
  294. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/security_manager/test_results.py +0 -0
  295. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/security_manager/test_role_service.py +0 -0
  296. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/security_manager/test_user_service.py +0 -0
  297. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/test_apis.py +0 -0
  298. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/test_models.py +0 -0
  299. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/security/sqla/test_security_manager.py +0 -0
  300. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_caches.py +0 -0
  301. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_config.py +0 -0
  302. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_const.py +0 -0
  303. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_db.py +0 -0
  304. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_decorators.py +0 -0
  305. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_dependencies.py +0 -0
  306. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_exceptions.py +0 -0
  307. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_fastapi_react_toolkit.py +0 -0
  308. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_filters.py +0 -0
  309. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_globals.py +0 -0
  310. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_manager.py +0 -0
  311. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_middlewares.py +0 -0
  312. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_mixins.py +0 -0
  313. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_models.py +0 -0
  314. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_registry.py +0 -0
  315. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_routers.py +0 -0
  316. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_schemas.py +0 -0
  317. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_setting.py +0 -0
  318. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_types.py +0 -0
  319. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_user_cache.py +0 -0
  320. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/test_version.py +0 -0
  321. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/__init__.py +0 -0
  322. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_async_task_runner.py +0 -0
  323. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_class_factory.py +0 -0
  324. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_csv_json_converter.py +0 -0
  325. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_deep_merge.py +0 -0
  326. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_extender_mixin.py +0 -0
  327. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_flask_appbuilder_utils.py +0 -0
  328. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_formatter.py +0 -0
  329. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_hooks.py +0 -0
  330. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_lazy.py +0 -0
  331. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_merge_schema.py +0 -0
  332. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_multiple_async_contexts.py +0 -0
  333. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_pydantic.py +0 -0
  334. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_run_utils.py +0 -0
  335. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_self_dependencies.py +0 -0
  336. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_smartdefaultdict.py +0 -0
  337. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_sqla.py +0 -0
  338. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_timezone.py +0 -0
  339. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_update_signature.py +0 -0
  340. {fastapi_rtk-2.18.2 → fastapi_rtk-2.18.3}/tests/unit/utils/test_use_default_when_none.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: fastapi-rtk
3
- Version: 2.18.2
3
+ Version: 2.18.3
4
4
  Summary: A package that provides a set of tools to build a FastAPI application with a Class-Based CRUD API.
5
5
  Project-URL: Homepage, https://codeberg.org/datatactics/fastapi-rtk
6
6
  Project-URL: Issues, https://codeberg.org/datatactics/fastapi-rtk/issues
@@ -16,16 +16,24 @@ Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
16
16
  Requires-Python: >=3.11
17
17
  Requires-Dist: alembic>=1.17.0
18
18
  Requires-Dist: beautifulsoup4>=4.14.2
19
+ Requires-Dist: cryptography>=50.0.1
19
20
  Requires-Dist: fastapi-babel>=1.0.0
20
21
  Requires-Dist: fastapi-users[oauth,sqlalchemy]>=15.0.5
21
22
  Requires-Dist: fastapi[standard]>=0.119.1
23
+ Requires-Dist: idna>=3.15
22
24
  Requires-Dist: jsonschema2md>=1.7.0
25
+ Requires-Dist: mako>=1.3.12
23
26
  Requires-Dist: marshmallow-sqlalchemy>=1.4.2
24
27
  Requires-Dist: pip-licenses>=5.5.1
25
28
  Requires-Dist: polib>=1.2.0
26
- Requires-Dist: prometheus-fastapi-instrumentator>=7.1.0
29
+ Requires-Dist: prometheus-fastapi-instrumentator>=8.0.0
30
+ Requires-Dist: pydantic-settings>=2.14.2
31
+ Requires-Dist: pyjwt[crypto]>=2.13.0
32
+ Requires-Dist: python-multipart>=0.0.31
27
33
  Requires-Dist: secweb<2,>=1.25.2
34
+ Requires-Dist: soupsieve>=2.8.4
28
35
  Requires-Dist: sqlalchemy-utils>=0.42.0
36
+ Requires-Dist: starlette>=1.3.1
29
37
  Requires-Dist: werkzeug>=3.1.5
30
38
  Provides-Extra: audit-bg
31
39
  Requires-Dist: apscheduler>=3.11.2; extra == 'audit-bg'
@@ -36,10 +44,12 @@ Requires-Dist: geoalchemy2>=0.18.1; extra == 'geometry'
36
44
  Requires-Dist: shapely>=2.1.2; extra == 'geometry'
37
45
  Provides-Extra: ldap
38
46
  Requires-Dist: ldap3>=2.9.1; extra == 'ldap'
47
+ Requires-Dist: pyasn1>=0.6.4; extra == 'ldap'
39
48
  Provides-Extra: profiler
40
49
  Requires-Dist: pyinstrument>=5.1.2; extra == 'profiler'
41
50
  Provides-Extra: s3
42
51
  Requires-Dist: smart-open[s3]>=7.5.0; extra == 's3'
52
+ Requires-Dist: urllib3>=2.7.0; extra == 's3'
43
53
  Provides-Extra: test
44
54
  Requires-Dist: aiosqlite>=0.21.0; extra == 'test'
45
55
  Requires-Dist: pytest-asyncio>=1.3.0; extra == 'test'
@@ -0,0 +1 @@
1
+ __version__ = "2.18.3"
@@ -29,6 +29,7 @@ requires-python = ">=3.11"
29
29
  dependencies = [
30
30
  "alembic>=1.17.0",
31
31
  "beautifulsoup4>=4.14.2",
32
+ "cryptography>=50.0.1",
32
33
  "fastapi-babel>=1.0.0",
33
34
  "fastapi-users[oauth,sqlalchemy]>=15.0.5",
34
35
  "fastapi[standard]>=0.119.1",
@@ -36,10 +37,18 @@ dependencies = [
36
37
  "marshmallow-sqlalchemy>=1.4.2",
37
38
  "pip-licenses>=5.5.1",
38
39
  "polib>=1.2.0",
39
- "prometheus-fastapi-instrumentator>=7.1.0",
40
+ "prometheus-fastapi-instrumentator>=8.0.0",
41
+ "pyjwt[crypto]>=2.13.0",
40
42
  "secweb>=1.25.2,<2",
41
43
  "sqlalchemy-utils>=0.42.0",
44
+ "starlette>=1.3.1",
42
45
  "werkzeug>=3.1.5",
46
+ # Security floors: transitive deps pinned above known-vulnerable versions.
47
+ "idna>=3.15", # IDNA decoder DoS on crafted input (CVE-2026-45409)
48
+ "mako>=1.3.12", # TemplateLookup path traversal (CVE-2026-44307)
49
+ "pydantic-settings>=2.14.2", # secrets_dir directory traversal (GHSA-4xgf-cpjx-pc3j)
50
+ "python-multipart>=0.0.31", # multipart/urlencoded parser DoS (CVE-2026-53540)
51
+ "soupsieve>=2.8.4", # CSS selector parser ReDoS (CVE-2026-49477)
43
52
  ]
44
53
  urls = { Homepage = "https://codeberg.org/datatactics/fastapi-rtk", Issues = "https://codeberg.org/datatactics/fastapi-rtk/issues" }
45
54
  scripts = { "fastapi-rtk" = "fastapi_rtk.cli:main" }
@@ -47,10 +56,16 @@ scripts = { "fastapi-rtk" = "fastapi_rtk.cli:main" }
47
56
  [project.optional-dependencies]
48
57
  fab = ["prison>=0.2.1"]
49
58
  geometry = ["geoalchemy2>=0.18.1", "shapely>=2.1.2"]
50
- s3 = ["smart-open[s3]>=7.5.0"]
59
+ s3 = [
60
+ "smart-open[s3]>=7.5.0",
61
+ "urllib3>=2.7.0", # response decompression amplification (CVE-2026-44432)
62
+ ]
51
63
  audit-bg = ["apscheduler>=3.11.2"]
52
64
  profiler = ["pyinstrument>=5.1.2"]
53
- ldap = ["ldap3>=2.9.1"]
65
+ ldap = [
66
+ "ldap3>=2.9.1",
67
+ "pyasn1>=0.6.4", # BER/CER/DER decoder DoS (CVE-2026-59884)
68
+ ]
54
69
  test = [
55
70
  "aiosqlite>=0.21.0",
56
71
  "pytest>=9.0.2",
@@ -442,61 +442,58 @@ toml = [
442
442
 
443
443
  [[package]]
444
444
  name = "cryptography"
445
- version = "46.0.6"
445
+ version = "50.0.1"
446
446
  source = { registry = "https://pypi.org/simple" }
447
447
  dependencies = [
448
448
  { name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
449
449
  ]
450
- sdist = { url = "https://files.pythonhosted.org/packages/a4/ba/04b1bd4218cbc58dc90ce967106d51582371b898690f3ae0402876cc4f34/cryptography-46.0.6.tar.gz", hash = "sha256:27550628a518c5c6c903d84f637fbecf287f6cb9ced3804838a1295dc1fd0759", size = 750542, upload-time = "2026-03-25T23:34:53.396Z" }
451
- wheels = [
452
- { url = "https://files.pythonhosted.org/packages/47/23/9285e15e3bc57325b0a72e592921983a701efc1ee8f91c06c5f0235d86d9/cryptography-46.0.6-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:64235194bad039a10bb6d2d930ab3323baaec67e2ce36215fd0952fad0930ca8", size = 7176401, upload-time = "2026-03-25T23:33:22.096Z" },
453
- { url = "https://files.pythonhosted.org/packages/60/f8/e61f8f13950ab6195b31913b42d39f0f9afc7d93f76710f299b5ec286ae6/cryptography-46.0.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:26031f1e5ca62fcb9d1fcb34b2b60b390d1aacaa15dc8b895a9ed00968b97b30", size = 4275275, upload-time = "2026-03-25T23:33:23.844Z" },
454
- { url = "https://files.pythonhosted.org/packages/19/69/732a736d12c2631e140be2348b4ad3d226302df63ef64d30dfdb8db7ad1c/cryptography-46.0.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a693028b9cbe51b5a1136232ee8f2bc242e4e19d456ded3fa7c86e43c713b4a", size = 4425320, upload-time = "2026-03-25T23:33:25.703Z" },
455
- { url = "https://files.pythonhosted.org/packages/d4/12/123be7292674abf76b21ac1fc0e1af50661f0e5b8f0ec8285faac18eb99e/cryptography-46.0.6-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:67177e8a9f421aa2d3a170c3e56eca4e0128883cf52a071a7cbf53297f18b175", size = 4278082, upload-time = "2026-03-25T23:33:27.423Z" },
456
- { url = "https://files.pythonhosted.org/packages/5b/ba/d5e27f8d68c24951b0a484924a84c7cdaed7502bac9f18601cd357f8b1d2/cryptography-46.0.6-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:d9528b535a6c4f8ff37847144b8986a9a143585f0540fbcb1a98115b543aa463", size = 4926514, upload-time = "2026-03-25T23:33:29.206Z" },
457
- { url = "https://files.pythonhosted.org/packages/34/71/1ea5a7352ae516d5512d17babe7e1b87d9db5150b21f794b1377eac1edc0/cryptography-46.0.6-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:22259338084d6ae497a19bae5d4c66b7ca1387d3264d1c2c0e72d9e9b6a77b97", size = 4457766, upload-time = "2026-03-25T23:33:30.834Z" },
458
- { url = "https://files.pythonhosted.org/packages/01/59/562be1e653accee4fdad92c7a2e88fced26b3fdfce144047519bbebc299e/cryptography-46.0.6-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:760997a4b950ff00d418398ad73fbc91aa2894b5c1db7ccb45b4f68b42a63b3c", size = 3986535, upload-time = "2026-03-25T23:33:33.02Z" },
459
- { url = "https://files.pythonhosted.org/packages/d6/8b/b1ebfeb788bf4624d36e45ed2662b8bd43a05ff62157093c1539c1288a18/cryptography-46.0.6-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3dfa6567f2e9e4c5dceb8ccb5a708158a2a871052fa75c8b78cb0977063f1507", size = 4277618, upload-time = "2026-03-25T23:33:34.567Z" },
460
- { url = "https://files.pythonhosted.org/packages/dd/52/a005f8eabdb28df57c20f84c44d397a755782d6ff6d455f05baa2785bd91/cryptography-46.0.6-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:cdcd3edcbc5d55757e5f5f3d330dd00007ae463a7e7aa5bf132d1f22a4b62b19", size = 4890802, upload-time = "2026-03-25T23:33:37.034Z" },
461
- { url = "https://files.pythonhosted.org/packages/ec/4d/8e7d7245c79c617d08724e2efa397737715ca0ec830ecb3c91e547302555/cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:d4e4aadb7fc1f88687f47ca20bb7227981b03afaae69287029da08096853b738", size = 4457425, upload-time = "2026-03-25T23:33:38.904Z" },
462
- { url = "https://files.pythonhosted.org/packages/1d/5c/f6c3596a1430cec6f949085f0e1a970638d76f81c3ea56d93d564d04c340/cryptography-46.0.6-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2b417edbe8877cda9022dde3a008e2deb50be9c407eef034aeeb3a8b11d9db3c", size = 4405530, upload-time = "2026-03-25T23:33:40.842Z" },
463
- { url = "https://files.pythonhosted.org/packages/7e/c9/9f9cea13ee2dbde070424e0c4f621c091a91ffcc504ffea5e74f0e1daeff/cryptography-46.0.6-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:380343e0653b1c9d7e1f55b52aaa2dbb2fdf2730088d48c43ca1c7c0abb7cc2f", size = 4667896, upload-time = "2026-03-25T23:33:42.781Z" },
464
- { url = "https://files.pythonhosted.org/packages/ad/b5/1895bc0821226f129bc74d00eccfc6a5969e2028f8617c09790bf89c185e/cryptography-46.0.6-cp311-abi3-win32.whl", hash = "sha256:bcb87663e1f7b075e48c3be3ecb5f0b46c8fc50b50a97cf264e7f60242dca3f2", size = 3026348, upload-time = "2026-03-25T23:33:45.021Z" },
465
- { url = "https://files.pythonhosted.org/packages/c3/f8/c9bcbf0d3e6ad288b9d9aa0b1dee04b063d19e8c4f871855a03ab3a297ab/cryptography-46.0.6-cp311-abi3-win_amd64.whl", hash = "sha256:6739d56300662c468fddb0e5e291f9b4d084bead381667b9e654c7dd81705124", size = 3483896, upload-time = "2026-03-25T23:33:46.649Z" },
466
- { url = "https://files.pythonhosted.org/packages/01/41/3a578f7fd5c70611c0aacba52cd13cb364a5dee895a5c1d467208a9380b0/cryptography-46.0.6-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:2ef9e69886cbb137c2aef9772c2e7138dc581fad4fcbcf13cc181eb5a3ab6275", size = 7117147, upload-time = "2026-03-25T23:33:48.249Z" },
467
- { url = "https://files.pythonhosted.org/packages/fa/87/887f35a6fca9dde90cad08e0de0c89263a8e59b2d2ff904fd9fcd8025b6f/cryptography-46.0.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7f417f034f91dcec1cb6c5c35b07cdbb2ef262557f701b4ecd803ee8cefed4f4", size = 4266221, upload-time = "2026-03-25T23:33:49.874Z" },
468
- { url = "https://files.pythonhosted.org/packages/aa/a8/0a90c4f0b0871e0e3d1ed126aed101328a8a57fd9fd17f00fb67e82a51ca/cryptography-46.0.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d24c13369e856b94892a89ddf70b332e0b70ad4a5c43cf3e9cb71d6d7ffa1f7b", size = 4408952, upload-time = "2026-03-25T23:33:52.128Z" },
469
- { url = "https://files.pythonhosted.org/packages/16/0b/b239701eb946523e4e9f329336e4ff32b1247e109cbab32d1a7b61da8ed7/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:aad75154a7ac9039936d50cf431719a2f8d4ed3d3c277ac03f3339ded1a5e707", size = 4270141, upload-time = "2026-03-25T23:33:54.11Z" },
470
- { url = "https://files.pythonhosted.org/packages/0f/a8/976acdd4f0f30df7b25605f4b9d3d89295351665c2091d18224f7ad5cdbf/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:3c21d92ed15e9cfc6eb64c1f5a0326db22ca9c2566ca46d845119b45b4400361", size = 4904178, upload-time = "2026-03-25T23:33:55.725Z" },
471
- { url = "https://files.pythonhosted.org/packages/b1/1b/bf0e01a88efd0e59679b69f42d4afd5bced8700bb5e80617b2d63a3741af/cryptography-46.0.6-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:4668298aef7cddeaf5c6ecc244c2302a2b8e40f384255505c22875eebb47888b", size = 4441812, upload-time = "2026-03-25T23:33:57.364Z" },
472
- { url = "https://files.pythonhosted.org/packages/bb/8b/11df86de2ea389c65aa1806f331cae145f2ed18011f30234cc10ca253de8/cryptography-46.0.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:8ce35b77aaf02f3b59c90b2c8a05c73bac12cea5b4e8f3fbece1f5fddea5f0ca", size = 3963923, upload-time = "2026-03-25T23:33:59.361Z" },
473
- { url = "https://files.pythonhosted.org/packages/91/e0/207fb177c3a9ef6a8108f234208c3e9e76a6aa8cf20d51932916bd43bda0/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:c89eb37fae9216985d8734c1afd172ba4927f5a05cfd9bf0e4863c6d5465b013", size = 4269695, upload-time = "2026-03-25T23:34:00.909Z" },
474
- { url = "https://files.pythonhosted.org/packages/21/5e/19f3260ed1e95bced52ace7501fabcd266df67077eeb382b79c81729d2d3/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:ed418c37d095aeddf5336898a132fba01091f0ac5844e3e8018506f014b6d2c4", size = 4869785, upload-time = "2026-03-25T23:34:02.796Z" },
475
- { url = "https://files.pythonhosted.org/packages/10/38/cd7864d79aa1d92ef6f1a584281433419b955ad5a5ba8d1eb6c872165bcb/cryptography-46.0.6-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:69cf0056d6947edc6e6760e5f17afe4bea06b56a9ac8a06de9d2bd6b532d4f3a", size = 4441404, upload-time = "2026-03-25T23:34:04.35Z" },
476
- { url = "https://files.pythonhosted.org/packages/09/0a/4fe7a8d25fed74419f91835cf5829ade6408fd1963c9eae9c4bce390ecbb/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e7304c4f4e9490e11efe56af6713983460ee0780f16c63f219984dab3af9d2d", size = 4397549, upload-time = "2026-03-25T23:34:06.342Z" },
477
- { url = "https://files.pythonhosted.org/packages/5f/a0/7d738944eac6513cd60a8da98b65951f4a3b279b93479a7e8926d9cd730b/cryptography-46.0.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b928a3ca837c77a10e81a814a693f2295200adb3352395fad024559b7be7a736", size = 4651874, upload-time = "2026-03-25T23:34:07.916Z" },
478
- { url = "https://files.pythonhosted.org/packages/cb/f1/c2326781ca05208845efca38bf714f76939ae446cd492d7613808badedf1/cryptography-46.0.6-cp314-cp314t-win32.whl", hash = "sha256:97c8115b27e19e592a05c45d0dd89c57f81f841cc9880e353e0d3bf25b2139ed", size = 3001511, upload-time = "2026-03-25T23:34:09.892Z" },
479
- { url = "https://files.pythonhosted.org/packages/c9/57/fe4a23eb549ac9d903bd4698ffda13383808ef0876cc912bcb2838799ece/cryptography-46.0.6-cp314-cp314t-win_amd64.whl", hash = "sha256:c797e2517cb7880f8297e2c0f43bb910e91381339336f75d2c1c2cbf811b70b4", size = 3471692, upload-time = "2026-03-25T23:34:11.613Z" },
480
- { url = "https://files.pythonhosted.org/packages/c4/cc/f330e982852403da79008552de9906804568ae9230da8432f7496ce02b71/cryptography-46.0.6-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:12cae594e9473bca1a7aceb90536060643128bb274fcea0fc459ab90f7d1ae7a", size = 7162776, upload-time = "2026-03-25T23:34:13.308Z" },
481
- { url = "https://files.pythonhosted.org/packages/49/b3/dc27efd8dcc4bff583b3f01d4a3943cd8b5821777a58b3a6a5f054d61b79/cryptography-46.0.6-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:639301950939d844a9e1c4464d7e07f902fe9a7f6b215bb0d4f28584729935d8", size = 4270529, upload-time = "2026-03-25T23:34:15.019Z" },
482
- { url = "https://files.pythonhosted.org/packages/e6/05/e8d0e6eb4f0d83365b3cb0e00eb3c484f7348db0266652ccd84632a3d58d/cryptography-46.0.6-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ed3775295fb91f70b4027aeba878d79b3e55c0b3e97eaa4de71f8f23a9f2eb77", size = 4414827, upload-time = "2026-03-25T23:34:16.604Z" },
483
- { url = "https://files.pythonhosted.org/packages/2f/97/daba0f5d2dc6d855e2dcb70733c812558a7977a55dd4a6722756628c44d1/cryptography-46.0.6-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8927ccfbe967c7df312ade694f987e7e9e22b2425976ddbf28271d7e58845290", size = 4271265, upload-time = "2026-03-25T23:34:18.586Z" },
484
- { url = "https://files.pythonhosted.org/packages/89/06/fe1fce39a37ac452e58d04b43b0855261dac320a2ebf8f5260dd55b201a9/cryptography-46.0.6-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:b12c6b1e1651e42ab5de8b1e00dc3b6354fdfd778e7fa60541ddacc27cd21410", size = 4916800, upload-time = "2026-03-25T23:34:20.561Z" },
485
- { url = "https://files.pythonhosted.org/packages/ff/8a/b14f3101fe9c3592603339eb5d94046c3ce5f7fc76d6512a2d40efd9724e/cryptography-46.0.6-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:063b67749f338ca9c5a0b7fe438a52c25f9526b851e24e6c9310e7195aad3b4d", size = 4448771, upload-time = "2026-03-25T23:34:22.406Z" },
486
- { url = "https://files.pythonhosted.org/packages/01/b3/0796998056a66d1973fd52ee89dc1bb3b6581960a91ad4ac705f182d398f/cryptography-46.0.6-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:02fad249cb0e090b574e30b276a3da6a149e04ee2f049725b1f69e7b8351ec70", size = 3978333, upload-time = "2026-03-25T23:34:24.281Z" },
487
- { url = "https://files.pythonhosted.org/packages/c5/3d/db200af5a4ffd08918cd55c08399dc6c9c50b0bc72c00a3246e099d3a849/cryptography-46.0.6-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e6142674f2a9291463e5e150090b95a8519b2fb6e6aaec8917dd8d094ce750d", size = 4271069, upload-time = "2026-03-25T23:34:25.895Z" },
488
- { url = "https://files.pythonhosted.org/packages/d7/18/61acfd5b414309d74ee838be321c636fe71815436f53c9f0334bf19064fa/cryptography-46.0.6-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:456b3215172aeefb9284550b162801d62f5f264a081049a3e94307fe20792cfa", size = 4878358, upload-time = "2026-03-25T23:34:27.67Z" },
489
- { url = "https://files.pythonhosted.org/packages/8b/65/5bf43286d566f8171917cae23ac6add941654ccf085d739195a4eacf1674/cryptography-46.0.6-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:341359d6c9e68834e204ceaf25936dffeafea3829ab80e9503860dcc4f4dac58", size = 4448061, upload-time = "2026-03-25T23:34:29.375Z" },
490
- { url = "https://files.pythonhosted.org/packages/e0/25/7e49c0fa7205cf3597e525d156a6bce5b5c9de1fd7e8cb01120e459f205a/cryptography-46.0.6-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9a9c42a2723999a710445bc0d974e345c32adfd8d2fac6d8a251fa829ad31cfb", size = 4399103, upload-time = "2026-03-25T23:34:32.036Z" },
491
- { url = "https://files.pythonhosted.org/packages/44/46/466269e833f1c4718d6cd496ffe20c56c9c8d013486ff66b4f69c302a68d/cryptography-46.0.6-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6617f67b1606dfd9fe4dbfa354a9508d4a6d37afe30306fe6c101b7ce3274b72", size = 4659255, upload-time = "2026-03-25T23:34:33.679Z" },
492
- { url = "https://files.pythonhosted.org/packages/0a/09/ddc5f630cc32287d2c953fc5d32705e63ec73e37308e5120955316f53827/cryptography-46.0.6-cp38-abi3-win32.whl", hash = "sha256:7f6690b6c55e9c5332c0b59b9c8a3fb232ebf059094c17f9019a51e9827df91c", size = 3010660, upload-time = "2026-03-25T23:34:35.418Z" },
493
- { url = "https://files.pythonhosted.org/packages/1b/82/ca4893968aeb2709aacfb57a30dec6fa2ab25b10fa9f064b8882ce33f599/cryptography-46.0.6-cp38-abi3-win_amd64.whl", hash = "sha256:79e865c642cfc5c0b3eb12af83c35c5aeff4fa5c672dc28c43721c2c9fdd2f0f", size = 3471160, upload-time = "2026-03-25T23:34:37.191Z" },
494
- { url = "https://files.pythonhosted.org/packages/2e/84/7ccff00ced5bac74b775ce0beb7d1be4e8637536b522b5df9b73ada42da2/cryptography-46.0.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:2ea0f37e9a9cf0df2952893ad145fd9627d326a59daec9b0802480fa3bcd2ead", size = 3475444, upload-time = "2026-03-25T23:34:38.944Z" },
495
- { url = "https://files.pythonhosted.org/packages/bc/1f/4c926f50df7749f000f20eede0c896769509895e2648db5da0ed55db711d/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a3e84d5ec9ba01f8fd03802b2147ba77f0c8f2617b2aff254cedd551844209c8", size = 4218227, upload-time = "2026-03-25T23:34:40.871Z" },
496
- { url = "https://files.pythonhosted.org/packages/c6/65/707be3ffbd5f786028665c3223e86e11c4cda86023adbc56bd72b1b6bab5/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:12f0fa16cc247b13c43d56d7b35287ff1569b5b1f4c5e87e92cc4fcc00cd10c0", size = 4381399, upload-time = "2026-03-25T23:34:42.609Z" },
497
- { url = "https://files.pythonhosted.org/packages/f3/6d/73557ed0ef7d73d04d9aba745d2c8e95218213687ee5e76b7d236a5030fc/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:50575a76e2951fe7dbd1f56d181f8c5ceeeb075e9ff88e7ad997d2f42af06e7b", size = 4217595, upload-time = "2026-03-25T23:34:44.205Z" },
498
- { url = "https://files.pythonhosted.org/packages/9e/c5/e1594c4eec66a567c3ac4400008108a415808be2ce13dcb9a9045c92f1a0/cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:90e5f0a7b3be5f40c3a0a0eafb32c681d8d2c181fc2a1bdabe9b3f611d9f6b1a", size = 4380912, upload-time = "2026-03-25T23:34:46.328Z" },
499
- { url = "https://files.pythonhosted.org/packages/1a/89/843b53614b47f97fe1abc13f9a86efa5ec9e275292c457af1d4a60dc80e0/cryptography-46.0.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6728c49e3b2c180ef26f8e9f0a883a2c585638db64cf265b49c9ba10652d430e", size = 3409955, upload-time = "2026-03-25T23:34:48.465Z" },
450
+ sdist = { url = "https://files.pythonhosted.org/packages/bb/ad/5d6702db60b1e40b41ef513b6967ff5848f307d50f8449baf1634f5908f1/cryptography-50.0.1.tar.gz", hash = "sha256:5dd9bda1c12b4162f6ff568eeb5e0ff956c28d14406e875cfe8a63a2d414ff20", size = 880381, upload-time = "2026-08-25T19:45:45.499Z" }
451
+ wheels = [
452
+ { url = "https://files.pythonhosted.org/packages/ba/19/797e2aaac9df6a66f1550f49979dc1b1e39ecd2077501c30efa81e8d5d67/cryptography-50.0.1-cp311-abi3-macosx_11_0_arm64.whl", hash = "sha256:b8f852c65863251b9e3a1b8c150ce21e59b522dbb6a7d4bc80e680d38388e986", size = 4010153, upload-time = "2026-08-25T19:44:03.155Z" },
453
+ { url = "https://files.pythonhosted.org/packages/90/34/9ce9a62ed9dc82ca9fd6a34445b6904af56e5f38b3eae2ed32e49c36053d/cryptography-50.0.1-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:53e279950892dc102c6b4e52af03ae5ea92fac572a1ddab78ca73a997f62b69f", size = 4723133, upload-time = "2026-08-25T19:44:05.461Z" },
454
+ { url = "https://files.pythonhosted.org/packages/57/26/e6d4fc8512a51a5f9ee7bfdbfb853bce1197087df40c9ad993ad370b846f/cryptography-50.0.1-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ff838d62ec1bfce4f9ba7fa16f4a7b554cd8d0c299e6be37502161a660c84eef", size = 4712478, upload-time = "2026-08-25T19:44:07.375Z" },
455
+ { url = "https://files.pythonhosted.org/packages/e6/de/d3cdc2815697aae84126cbd6a030ca7b6b452e28a88b501b836bd3aa7a86/cryptography-50.0.1-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:e74591e283fe6eb956416c929eb58262a719fe0311fd9054c62c3350ed8760d8", size = 4730726, upload-time = "2026-08-25T19:44:09.294Z" },
456
+ { url = "https://files.pythonhosted.org/packages/55/32/38c0d344b98c06d34b5df8946565a9c0d6dbf32c8e0730a7f05f0a3c6cab/cryptography-50.0.1-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:5fe002589592ed749ce77fe0695fcbd3500dd61d7d6db5858a7544c612fa8e45", size = 5353524, upload-time = "2026-08-25T19:44:11.96Z" },
457
+ { url = "https://files.pythonhosted.org/packages/e1/1b/82f0f0d8858d4432be1af790477edf62aef90324041aa07c57e57bef1af7/cryptography-50.0.1-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:51593d180cf6d179bde5c5d065bed81386b1f381656ae7d042b7ffc87a9895ad", size = 4746720, upload-time = "2026-08-25T19:44:14.051Z" },
458
+ { url = "https://files.pythonhosted.org/packages/29/ba/042ca458b8c64348c768284b5d23e69b92ed53d057ab779fee628564676d/cryptography-50.0.1-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:359e62deae718bce96170e223fdcb6357e4fbd3bb7a3a75f4430763532560e49", size = 4361866, upload-time = "2026-08-25T19:44:16.167Z" },
459
+ { url = "https://files.pythonhosted.org/packages/39/3b/e96c1ef71edef71057c7e3c3d982ce8fda554e0c52d0cc19c18845cde3eb/cryptography-50.0.1-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:e2ca8fd1b6b4b82a1c4cb02841d0837e3c12336c2e24b520ab8ab3b969733d8f", size = 4730028, upload-time = "2026-08-25T19:44:18.085Z" },
460
+ { url = "https://files.pythonhosted.org/packages/e3/38/45abd72ef63f2e7d0754a6cacf97bd8b69512ace7f6130d24c39ece65da2/cryptography-50.0.1-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:76de83fbd91ac49c0feaaa983d0748fd7a53176afac5fb3bf7478d244f0eb527", size = 5308405, upload-time = "2026-08-25T19:44:20.197Z" },
461
+ { url = "https://files.pythonhosted.org/packages/85/66/6ccca4722987ddedaa7fc9c3f4708af7431f5535666c174350830888c6b7/cryptography-50.0.1-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:51afcfceb15597cf2635068e4ac9a56b2abde622edde17f37d85fd7b5306497a", size = 4746230, upload-time = "2026-08-25T19:44:22.376Z" },
462
+ { url = "https://files.pythonhosted.org/packages/13/0e/b1f92e013228111413f2e6743948b80bc24dfd3c1b87ba98ceea16f5df89/cryptography-50.0.1-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:be224a65493ec5b74a158ff22a5522ce4a5ca1e543c647a3a4730d4a09e5f959", size = 4862596, upload-time = "2026-08-25T19:44:24.472Z" },
463
+ { url = "https://files.pythonhosted.org/packages/7e/22/c3654cccc856e9d682817b04ac3ee79731cb09ca6f95996a95c904de2883/cryptography-50.0.1-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:9ebcdd5519be9b652a46f507817a74591774fc3d6923ac364e4dfa64e36b291b", size = 5014082, upload-time = "2026-08-25T19:44:26.709Z" },
464
+ { url = "https://files.pythonhosted.org/packages/42/8b/cb12b1b60c91b074ca6bf0fdd59aa8f10d8bc5f73af8faece86ef0421b37/cryptography-50.0.1-cp311-abi3-win_amd64.whl", hash = "sha256:aed8db4f6d71c51efb89530e12d9464e7bf2923d46c3205dc794a2a93f8c0648", size = 3842826, upload-time = "2026-08-25T19:44:28.784Z" },
465
+ { url = "https://files.pythonhosted.org/packages/5b/f0/424cb557d99aa86ac55da5e2add02e2882e44047b6264f93ade1b975a993/cryptography-50.0.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:30a125032e5642a21ff816e021152bd4e7e94f03eff3f4b7fca41cd22bc3110f", size = 3973525, upload-time = "2026-08-25T19:44:30.7Z" },
466
+ { url = "https://files.pythonhosted.org/packages/4d/72/3a2711d967977ab5fc80b782837c7e8d1ac7445e764c20c381a265c57ef3/cryptography-50.0.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:a0b1a59e3a089064a0ec309e9428c8e3ae4e161419d20ac33600767e83fc658a", size = 4708817, upload-time = "2026-08-25T19:44:32.773Z" },
467
+ { url = "https://files.pythonhosted.org/packages/b4/f2/bb1f56e10815b789df0b409a69fa4992ff3d3fef9c72747f4a6b26fed38e/cryptography-50.0.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8921d58f426793c5f1b47f0b59575780de9a095214958d0eb37d909593db8367", size = 4697300, upload-time = "2026-08-25T19:44:35.144Z" },
468
+ { url = "https://files.pythonhosted.org/packages/08/bd/ed5396be499ffcf8807a585bfe38b71a1fbdd1c342b4f9b6d0ef5162a946/cryptography-50.0.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:a8f40ea47330e71b594a7e246898f93177c259490c63183dbaf9e571d71ed9a5", size = 4716039, upload-time = "2026-08-25T19:44:37.192Z" },
469
+ { url = "https://files.pythonhosted.org/packages/f6/6e/1cf405c5c8e8df7545378048e954792f00b7f2367af8863ce8b8f3e10607/cryptography-50.0.1-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:a255449073358275b64b67d3f595f268bbef70e72b6edb65e0c70c735bf739c9", size = 5332388, upload-time = "2026-08-25T19:44:39.16Z" },
470
+ { url = "https://files.pythonhosted.org/packages/47/92/b4317e8c32c4f47b062f5398bd79106b220a124546f42be83bf32b761e2a/cryptography-50.0.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:8df2de9102026855887e4587084f6eabd80ed0f345b8ad8a7ac27ab9bf4723e0", size = 4730293, upload-time = "2026-08-25T19:44:41.298Z" },
471
+ { url = "https://files.pythonhosted.org/packages/39/0d/a1e7633e2c744d0f2983320a27e924ef2264c79c56e1a58d5fb0a1cfd413/cryptography-50.0.1-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:ac02b07824d4d1001bd4367599f839c19cb171924c796e52c23508ac14c2c0cc", size = 4346031, upload-time = "2026-08-25T19:44:43.245Z" },
472
+ { url = "https://files.pythonhosted.org/packages/88/dd/b215616f9bab3fc18510c78a4e5c9f362d77838503c363dc747c7d4f5c6f/cryptography-50.0.1-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:cbf74a81765ee67413503ca6e26dcc4f6f5a519822436cc0a1b97aab6c1b8a17", size = 4715344, upload-time = "2026-08-25T19:44:45.291Z" },
473
+ { url = "https://files.pythonhosted.org/packages/b1/1b/ec3ebd31741d0e963612c4fe43caa39341b9b1e031e469820e42e4c83918/cryptography-50.0.1-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:16c5ecd954b3330ebfb6605eca4fd952da8bef376551d5cc264534e3770a9ee6", size = 5287201, upload-time = "2026-08-25T19:44:47.297Z" },
474
+ { url = "https://files.pythonhosted.org/packages/1a/01/0127d11a762b31a9ee0221894f540318761783f3fdc4bc5d057698caebd5/cryptography-50.0.1-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:79bf008d1f9af6071c797ad133e39915dfee7614f18f18f4db9072eb715064a3", size = 4730023, upload-time = "2026-08-25T19:44:49.435Z" },
475
+ { url = "https://files.pythonhosted.org/packages/9e/b9/e7425ebfb599241a0c1d7000f1b466c3062da66c19d9525031315dff7213/cryptography-50.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:330fbb252391c596f1ae42c5754449dc924e6ad012dca8efe0d703f9f2d12ec6", size = 4847362, upload-time = "2026-08-25T19:44:51.94Z" },
476
+ { url = "https://files.pythonhosted.org/packages/2d/fd/60d0ddf4defa12e482c9d5e0f554384d6e8ab25341fd15f060028fd92e6a/cryptography-50.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:42be3bb70596b3abe4ac097b75be223e8b3ab614a0e5de068e3dcc54d71d6149", size = 4999247, upload-time = "2026-08-25T19:44:53.876Z" },
477
+ { url = "https://files.pythonhosted.org/packages/4d/56/bc4f2b209e766c93372cfcd59b781a0b2b59700f62a969580415b699c2b2/cryptography-50.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:f74455bb086a85d5e81246412602aaa97ed095e504cd40dd261ef50be42205bf", size = 3825806, upload-time = "2026-08-25T19:44:56.209Z" },
478
+ { url = "https://files.pythonhosted.org/packages/84/a9/ee16a903f13755e914d1eecc482fe64d1f10761c3960e5d8fa6837377aff/cryptography-50.0.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:ca83d00d9e69cd5eb63f2e69c3a5a59e0cecae5ae14c6ae0b35830fe3b37bad0", size = 4035307, upload-time = "2026-08-25T19:44:58.305Z" },
479
+ { url = "https://files.pythonhosted.org/packages/5e/a5/9ec7e81e8526c0d7a387d73386b2daed3f39e10d81a85930bd1b6bfba65c/cryptography-50.0.1-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:05ba322c4da95b262a212c345af888ef2c37c88c0509756ea00a0e6d68850f23", size = 4751900, upload-time = "2026-08-25T19:45:00.401Z" },
480
+ { url = "https://files.pythonhosted.org/packages/7e/3c/0e77bd5ffcf078e9dd27d3074aad6c030d9b10d0bf69329d573c927a188c/cryptography-50.0.1-cp39-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e22dfed744bd4002e909464cb23d2f0b05c6f3113a79ef2e9864a53db737c733", size = 4738357, upload-time = "2026-08-25T19:45:02.786Z" },
481
+ { url = "https://files.pythonhosted.org/packages/27/3a/3c5f80daa4dcd47323c7af8a2fcb90de27a33564d4fcac69846c0972691a/cryptography-50.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:4c4188f7c0cf655be5c06342b817ed0f9595b69ffa2b12026e5353eed29dea88", size = 4758474, upload-time = "2026-08-25T19:45:04.889Z" },
482
+ { url = "https://files.pythonhosted.org/packages/6e/2b/214cf0cf93db9628c3c20c896b229f327f6fb1b20e4b3743d8ad3f00af8b/cryptography-50.0.1-cp39-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:2ebbfb0f1fed745e91796e3e1080a1440423fdae8ece1b995a1d80883a409054", size = 5375862, upload-time = "2026-08-25T19:45:07.163Z" },
483
+ { url = "https://files.pythonhosted.org/packages/d6/51/3f9701867a46b6c1740c9b52fc4d3bed6cbdcfedcc9b6e64305c07f39cff/cryptography-50.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:407fe2b6db00939c05c0e945e9914238f2f0a430974839429dafc82b1ee6bee5", size = 4772942, upload-time = "2026-08-25T19:45:09.396Z" },
484
+ { url = "https://files.pythonhosted.org/packages/0d/5c/13ea642e08e2544d0f5396122055f4820cfacb3203562197b5967125ea97/cryptography-50.0.1-cp39-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:2b34d76a652ea2b6faf777c35df230c5637842cd904e04f16230c3f9f03e4361", size = 4383347, upload-time = "2026-08-25T19:45:11.659Z" },
485
+ { url = "https://files.pythonhosted.org/packages/84/d5/7d1fe1cb93f91c428093ff234e128c89ba8ea61a6f26aab406081f9b996e/cryptography-50.0.1-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:01f41478cf33fc605a6a089cd56d28b45c6c0b45a1928b61797f2621a04bac71", size = 4758050, upload-time = "2026-08-25T19:45:13.745Z" },
486
+ { url = "https://files.pythonhosted.org/packages/dd/04/557fc5ead96a829e0bc812a3b9dc4a52a2f27e4f7f5950da7ff27653a805/cryptography-50.0.1-cp39-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:fc3ed7ebd2a8c96f5b166de0ab9b624996bef3b07bbeb19364dfb78222c22c80", size = 5332955, upload-time = "2026-08-25T19:45:16.193Z" },
487
+ { url = "https://files.pythonhosted.org/packages/8c/eb/5d7124083e8d8cda8f5b348f544b71ad6f707ad63193758ef4d8e569da02/cryptography-50.0.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:9dde0a357190eb3b1da1bb9ab750e9c85cba82ca5977aa0836cbb94e92611239", size = 4772694, upload-time = "2026-08-25T19:45:18.315Z" },
488
+ { url = "https://files.pythonhosted.org/packages/63/8e/f1f955e0921dd2b6d22eae7e8d24a4c4b638d10735ffbf6a71f99eb0fcb8/cryptography-50.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fd3718b960d0b5dd213cdf03f3bcb7000e69dda0de8b956061947ff6bcff5558", size = 4888413, upload-time = "2026-08-25T19:45:20.4Z" },
489
+ { url = "https://files.pythonhosted.org/packages/1f/ab/89e2b798d2c3925f82e2bb72d5979f3d2f6da2dd22ef4a8cd8b70d920039/cryptography-50.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2a93d05e34d5f67fba6f891fe85d929999baa7195e853923ea6d7576c9e68c5e", size = 5044355, upload-time = "2026-08-25T19:45:22.353Z" },
490
+ { url = "https://files.pythonhosted.org/packages/99/89/87ef49ffe383ef4e147d27b7bf2088fb0b54ea409dd87b5a89442e5828a5/cryptography-50.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:55d16b1ef3ee0958d893a977b19777887e546c9954ea81b200c3301a864013f2", size = 3875429, upload-time = "2026-08-25T19:45:24.418Z" },
491
+ { url = "https://files.pythonhosted.org/packages/c7/27/8d207af749c453ee17ea087340b3f2b4adef75aadd1d277b1b129bdda84e/cryptography-50.0.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:9cb3cb952cf5a8abd50c782a98a89d71699715e802fe349704b47f2425b42a94", size = 3974350, upload-time = "2026-08-25T19:45:26.551Z" },
492
+ { url = "https://files.pythonhosted.org/packages/14/9a/6d3a4d7852e22d657438b7bf51f66102c7d71c0e1fafeec652281d0403e5/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5fe939deeb161024a6be98229c953b6591fef1f41214497a78fe793a244c017f", size = 4698675, upload-time = "2026-08-25T19:45:28.658Z" },
493
+ { url = "https://files.pythonhosted.org/packages/73/35/5c3717edf9e68a0550ce04e28eab493fe545eccd81742af03f6a75fe260b/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fb4b9672d389c738b175c4166e78310f8a70358886aacd9173ee03a85ffdc671", size = 4707410, upload-time = "2026-08-25T19:45:30.816Z" },
494
+ { url = "https://files.pythonhosted.org/packages/1d/e0/e786934472e3ac4ecdecc7b129a0ca1a2a40dffdafcf2c3ea9d4397f8def/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:d63ae8f6481fec907ac0f588eee8a90aefde112c633131fe540e5711ddbb5a4e", size = 4698378, upload-time = "2026-08-25T19:45:33.043Z" },
495
+ { url = "https://files.pythonhosted.org/packages/51/cf/5b3f53a0b74d122f023476ede40ba5d3e70d5cf475f73b899740d26a4fb2/cryptography-50.0.1-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:804728ce710890870f3aaa344b2e161172d258d768ac139d02cfd9092d0d94e6", size = 4706889, upload-time = "2026-08-25T19:45:35.086Z" },
496
+ { url = "https://files.pythonhosted.org/packages/71/44/711e61f7d014be825ef79b285b047292d1bf893732ac1bc030a351fb517f/cryptography-50.0.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:693c99b49bd37d0d096e4334c10232c77248c415b98d35236094cdf96d57258b", size = 3824006, upload-time = "2026-08-25T19:45:37.281Z" },
500
497
  ]
501
498
 
502
499
  [[package]]
@@ -608,16 +605,24 @@ source = { editable = "." }
608
605
  dependencies = [
609
606
  { name = "alembic" },
610
607
  { name = "beautifulsoup4" },
608
+ { name = "cryptography" },
611
609
  { name = "fastapi", extra = ["standard"] },
612
610
  { name = "fastapi-babel" },
613
611
  { name = "fastapi-users", extra = ["oauth", "sqlalchemy"] },
612
+ { name = "idna" },
614
613
  { name = "jsonschema2md" },
614
+ { name = "mako" },
615
615
  { name = "marshmallow-sqlalchemy" },
616
616
  { name = "pip-licenses" },
617
617
  { name = "polib" },
618
618
  { name = "prometheus-fastapi-instrumentator" },
619
+ { name = "pydantic-settings" },
620
+ { name = "pyjwt", extra = ["crypto"] },
621
+ { name = "python-multipart" },
619
622
  { name = "secweb" },
623
+ { name = "soupsieve" },
620
624
  { name = "sqlalchemy-utils" },
625
+ { name = "starlette" },
621
626
  { name = "werkzeug" },
622
627
  ]
623
628
 
@@ -634,12 +639,14 @@ geometry = [
634
639
  ]
635
640
  ldap = [
636
641
  { name = "ldap3" },
642
+ { name = "pyasn1" },
637
643
  ]
638
644
  profiler = [
639
645
  { name = "pyinstrument" },
640
646
  ]
641
647
  s3 = [
642
648
  { name = "smart-open", extra = ["s3"] },
649
+ { name = "urllib3" },
643
650
  ]
644
651
  test = [
645
652
  { name = "aiosqlite" },
@@ -654,25 +661,35 @@ requires-dist = [
654
661
  { name = "alembic", specifier = ">=1.17.0" },
655
662
  { name = "apscheduler", marker = "extra == 'audit-bg'", specifier = ">=3.11.2" },
656
663
  { name = "beautifulsoup4", specifier = ">=4.14.2" },
664
+ { name = "cryptography", specifier = ">=50.0.1" },
657
665
  { name = "fastapi", extras = ["standard"], specifier = ">=0.119.1" },
658
666
  { name = "fastapi-babel", specifier = ">=1.0.0" },
659
667
  { name = "fastapi-users", extras = ["oauth", "sqlalchemy"], specifier = ">=15.0.5" },
660
668
  { name = "geoalchemy2", marker = "extra == 'geometry'", specifier = ">=0.18.1" },
669
+ { name = "idna", specifier = ">=3.15" },
661
670
  { name = "jsonschema2md", specifier = ">=1.7.0" },
662
671
  { name = "ldap3", marker = "extra == 'ldap'", specifier = ">=2.9.1" },
672
+ { name = "mako", specifier = ">=1.3.12" },
663
673
  { name = "marshmallow-sqlalchemy", specifier = ">=1.4.2" },
664
674
  { name = "pip-licenses", specifier = ">=5.5.1" },
665
675
  { name = "polib", specifier = ">=1.2.0" },
666
676
  { name = "prison", marker = "extra == 'fab'", specifier = ">=0.2.1" },
667
- { name = "prometheus-fastapi-instrumentator", specifier = ">=7.1.0" },
677
+ { name = "prometheus-fastapi-instrumentator", specifier = ">=8.0.0" },
678
+ { name = "pyasn1", marker = "extra == 'ldap'", specifier = ">=0.6.4" },
679
+ { name = "pydantic-settings", specifier = ">=2.14.2" },
668
680
  { name = "pyinstrument", marker = "extra == 'profiler'", specifier = ">=5.1.2" },
681
+ { name = "pyjwt", extras = ["crypto"], specifier = ">=2.13.0" },
669
682
  { name = "pytest", marker = "extra == 'test'", specifier = ">=9.0.2" },
670
683
  { name = "pytest-asyncio", marker = "extra == 'test'", specifier = ">=1.3.0" },
671
684
  { name = "pytest-cov", marker = "extra == 'test'", specifier = ">=7.0.0" },
685
+ { name = "python-multipart", specifier = ">=0.0.31" },
672
686
  { name = "secweb", specifier = ">=1.25.2,<2" },
673
687
  { name = "shapely", marker = "extra == 'geometry'", specifier = ">=2.1.2" },
674
688
  { name = "smart-open", extras = ["s3"], marker = "extra == 's3'", specifier = ">=7.5.0" },
689
+ { name = "soupsieve", specifier = ">=2.8.4" },
675
690
  { name = "sqlalchemy-utils", specifier = ">=0.42.0" },
691
+ { name = "starlette", specifier = ">=1.3.1" },
692
+ { name = "urllib3", marker = "extra == 's3'", specifier = ">=2.7.0" },
676
693
  { name = "werkzeug", specifier = ">=3.1.5" },
677
694
  ]
678
695
  provides-extras = ["audit-bg", "fab", "geometry", "ldap", "profiler", "s3", "test"]
@@ -968,11 +985,11 @@ wheels = [
968
985
 
969
986
  [[package]]
970
987
  name = "idna"
971
- version = "3.11"
988
+ version = "3.19"
972
989
  source = { registry = "https://pypi.org/simple" }
973
- sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" }
990
+ sdist = { url = "https://files.pythonhosted.org/packages/5f/f7/abb373e5757eaec4b922b92f97ec8d6d7e057cf06778247604fbc4e7c3f3/idna-3.19.tar.gz", hash = "sha256:5e0811a4383b21dc5838069f801c4fb62113b7447663d2530d2bd6e77b49bf15", size = 215237, upload-time = "2026-08-18T05:14:24.27Z" }
974
991
  wheels = [
975
- { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" },
992
+ { url = "https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl", hash = "sha256:815e7be7a7806d54abb586dc943addc79e8b2ee16915059658cbeff4b1b43bf4", size = 68550, upload-time = "2026-08-18T05:14:22.343Z" },
976
993
  ]
977
994
 
978
995
  [[package]]
@@ -1042,14 +1059,14 @@ wheels = [
1042
1059
 
1043
1060
  [[package]]
1044
1061
  name = "mako"
1045
- version = "1.3.10"
1062
+ version = "1.4.1"
1046
1063
  source = { registry = "https://pypi.org/simple" }
1047
1064
  dependencies = [
1048
1065
  { name = "markupsafe" },
1049
1066
  ]
1050
- sdist = { url = "https://files.pythonhosted.org/packages/9e/38/bd5b78a920a64d708fe6bc8e0a2c075e1389d53bef8413725c63ba041535/mako-1.3.10.tar.gz", hash = "sha256:99579a6f39583fa7e5630a28c3c1f440e4e97a414b80372649c0ce338da2ea28", size = 392474, upload-time = "2025-04-10T12:44:31.16Z" }
1067
+ sdist = { url = "https://files.pythonhosted.org/packages/2a/12/b5fa2353e2754cd67fb9f83793fa48ff42c213a5da7e719869d2301f6ab8/mako-1.4.1.tar.gz", hash = "sha256:d7904710b662996425a21627710c4777c45053146942cf8a7aebf757c92b8c27", size = 410165, upload-time = "2026-08-05T06:10:56.611Z" }
1051
1068
  wheels = [
1052
- { url = "https://files.pythonhosted.org/packages/87/fb/99f81ac72ae23375f22b7afdb7642aba97c00a713c217124420147681a2f/mako-1.3.10-py3-none-any.whl", hash = "sha256:baef24a52fc4fc514a0887ac600f9f1cff3d82c61d4d700a1fa84d597b88db59", size = 78509, upload-time = "2025-04-10T12:50:53.297Z" },
1069
+ { url = "https://files.pythonhosted.org/packages/a5/54/12ed58d458474aaab5c3d180173e745a4fe131bb330370596876d19ff60f/mako-1.4.1-py3-none-any.whl", hash = "sha256:a359d9a94a541213958742b2698d0a7757bb83551767bc468a74b9905aba9617", size = 80010, upload-time = "2026-08-05T06:10:58.248Z" },
1053
1070
  ]
1054
1071
 
1055
1072
  [[package]]
@@ -1331,15 +1348,15 @@ wheels = [
1331
1348
 
1332
1349
  [[package]]
1333
1350
  name = "prometheus-fastapi-instrumentator"
1334
- version = "7.1.0"
1351
+ version = "8.1.0"
1335
1352
  source = { registry = "https://pypi.org/simple" }
1336
1353
  dependencies = [
1337
1354
  { name = "prometheus-client" },
1338
1355
  { name = "starlette" },
1339
1356
  ]
1340
- sdist = { url = "https://files.pythonhosted.org/packages/69/6d/24d53033cf93826aa7857699a4450c1c67e5b9c710e925b1ed2b320c04df/prometheus_fastapi_instrumentator-7.1.0.tar.gz", hash = "sha256:be7cd61eeea4e5912aeccb4261c6631b3f227d8924542d79eaf5af3f439cbe5e", size = 20220, upload-time = "2025-03-19T19:35:05.351Z" }
1357
+ sdist = { url = "https://files.pythonhosted.org/packages/95/f4/cdcebf7094b03b99fba71ac8f56bd6f227973642662f49d272332d8419b3/prometheus_fastapi_instrumentator-8.1.0.tar.gz", hash = "sha256:b77f3043665e8d28e2bbd21017506195a43d9adf1d402d01bf95b494b7e560e1", size = 20492, upload-time = "2026-07-26T11:12:44.202Z" }
1341
1358
  wheels = [
1342
- { url = "https://files.pythonhosted.org/packages/27/72/0824c18f3bc75810f55dacc2dd933f6ec829771180245ae3cc976195dec0/prometheus_fastapi_instrumentator-7.1.0-py3-none-any.whl", hash = "sha256:978130f3c0bb7b8ebcc90d35516a6fe13e02d2eb358c8f83887cdef7020c31e9", size = 19296, upload-time = "2025-03-19T19:35:04.323Z" },
1359
+ { url = "https://files.pythonhosted.org/packages/44/b9/91a2246e6cf01b7ccb14479803c8a50f9c258ae5c6a0f16ba3294820632b/prometheus_fastapi_instrumentator-8.1.0-py3-none-any.whl", hash = "sha256:b9f40b2cff3f7891ca0610b3ae4fc6ec723fd326b04bb659819aaeb821a0fc7d", size = 19649, upload-time = "2026-07-26T11:12:45.168Z" },
1343
1360
  ]
1344
1361
 
1345
1362
  [[package]]
@@ -1361,11 +1378,11 @@ bcrypt = [
1361
1378
 
1362
1379
  [[package]]
1363
1380
  name = "pyasn1"
1364
- version = "0.6.3"
1381
+ version = "0.6.4"
1365
1382
  source = { registry = "https://pypi.org/simple" }
1366
- sdist = { url = "https://files.pythonhosted.org/packages/5c/5f/6583902b6f79b399c9c40674ac384fd9cd77805f9e6205075f828ef11fb2/pyasn1-0.6.3.tar.gz", hash = "sha256:697a8ecd6d98891189184ca1fa05d1bb00e2f84b5977c481452050549c8a72cf", size = 148685, upload-time = "2026-03-17T01:06:53.382Z" }
1383
+ sdist = { url = "https://files.pythonhosted.org/packages/a4/9a/23310166d960def5897e91fe20e5b724601b02a22e84ba1f94232c0b7f67/pyasn1-0.6.4.tar.gz", hash = "sha256:9c447d8431c947fe4c8febc4ed9e760bc29011a5b01e5c74b67025bd9fb8ce81", size = 151262, upload-time = "2026-07-09T01:12:33.988Z" }
1367
1384
  wheels = [
1368
- { url = "https://files.pythonhosted.org/packages/5d/a0/7d793dce3fa811fe047d6ae2431c672364b462850c6235ae306c0efd025f/pyasn1-0.6.3-py3-none-any.whl", hash = "sha256:a80184d120f0864a52a073acc6fc642847d0be408e7c7252f31390c0f4eadcde", size = 83997, upload-time = "2026-03-17T01:06:52.036Z" },
1385
+ { url = "https://files.pythonhosted.org/packages/9a/3b/6163796d69c3977d1e4287bea4a6979161cbbdd170ebb430511e8e1999ce/pyasn1-0.6.4-py3-none-any.whl", hash = "sha256:deda9277cfd454080ec40b207fb6df82206a3a2688735233cdcd8d3d565f088b", size = 84410, upload-time = "2026-07-09T01:12:32.92Z" },
1369
1386
  ]
1370
1387
 
1371
1388
  [[package]]
@@ -1509,16 +1526,16 @@ wheels = [
1509
1526
 
1510
1527
  [[package]]
1511
1528
  name = "pydantic-settings"
1512
- version = "2.13.1"
1529
+ version = "2.15.0"
1513
1530
  source = { registry = "https://pypi.org/simple" }
1514
1531
  dependencies = [
1515
1532
  { name = "pydantic" },
1516
1533
  { name = "python-dotenv" },
1517
1534
  { name = "typing-inspection" },
1518
1535
  ]
1519
- sdist = { url = "https://files.pythonhosted.org/packages/52/6d/fffca34caecc4a3f97bda81b2098da5e8ab7efc9a66e819074a11955d87e/pydantic_settings-2.13.1.tar.gz", hash = "sha256:b4c11847b15237fb0171e1462bf540e294affb9b86db4d9aa5c01730bdbe4025", size = 223826, upload-time = "2026-02-19T13:45:08.055Z" }
1536
+ sdist = { url = "https://files.pythonhosted.org/packages/68/ca/31c57507b13119d7d3cfa1576dad2911a4861e3be07b579395f4e9d393f9/pydantic_settings-2.15.0.tar.gz", hash = "sha256:694b793e84f766ba76a90ebdefc01d0a9a045dab0382bee70393da93712ad117", size = 261253, upload-time = "2026-08-07T09:24:57.419Z" }
1520
1537
  wheels = [
1521
- { url = "https://files.pythonhosted.org/packages/00/4b/ccc026168948fec4f7555b9164c724cf4125eac006e176541483d2c959be/pydantic_settings-2.13.1-py3-none-any.whl", hash = "sha256:d56fd801823dbeae7f0975e1f8c8e25c258eb75d278ea7abb5d9cebb01b56237", size = 58929, upload-time = "2026-02-19T13:45:06.034Z" },
1538
+ { url = "https://files.pythonhosted.org/packages/30/a4/2bffa9f8e804325a09867f0e9d30795c80ea9f8d62560bd1b6ad6220eb2f/pydantic_settings-2.15.0-py3-none-any.whl", hash = "sha256:0ba092c291c94baceb5eff768aa0d56400a457585bc0175925a5a5510303da42", size = 69413, upload-time = "2026-08-07T09:24:55.839Z" },
1522
1539
  ]
1523
1540
 
1524
1541
  [[package]]
@@ -1580,11 +1597,11 @@ wheels = [
1580
1597
 
1581
1598
  [[package]]
1582
1599
  name = "pyjwt"
1583
- version = "2.12.1"
1600
+ version = "2.14.0"
1584
1601
  source = { registry = "https://pypi.org/simple" }
1585
- sdist = { url = "https://files.pythonhosted.org/packages/c2/27/a3b6e5bf6ff856d2509292e95c8f57f0df7017cf5394921fc4e4ef40308a/pyjwt-2.12.1.tar.gz", hash = "sha256:c74a7a2adf861c04d002db713dd85f84beb242228e671280bf709d765b03672b", size = 102564, upload-time = "2026-03-13T19:27:37.25Z" }
1602
+ sdist = { url = "https://files.pythonhosted.org/packages/af/c3/8a3b59c25070cc61dc517fbdfa5dc0904670c96f605cc69759dc09166b99/pyjwt-2.14.0.tar.gz", hash = "sha256:77283c83fb56ecf566a886c757a714bc83668e38156de2cce8263302f42e0b86", size = 113177, upload-time = "2026-09-11T13:11:54.638Z" }
1586
1603
  wheels = [
1587
- { url = "https://files.pythonhosted.org/packages/e5/7a/8dd906bd22e79e47397a61742927f6747fe93242ef86645ee9092e610244/pyjwt-2.12.1-py3-none-any.whl", hash = "sha256:28ca37c070cad8ba8cd9790cd940535d40274d22f80ab87f3ac6a713e6e8454c", size = 29726, upload-time = "2026-03-13T19:27:35.677Z" },
1604
+ { url = "https://files.pythonhosted.org/packages/9c/97/672cb32ce0dfea44b740cb7b4f97038463b9cf7c0ead1aacf595572851d6/pyjwt-2.14.0-py3-none-any.whl", hash = "sha256:ad0cef71c756a56e74863c2919cf0985f72decbcfcb550ee2f422e7c62b5eedc", size = 32896, upload-time = "2026-09-11T13:11:53.409Z" },
1588
1605
  ]
1589
1606
 
1590
1607
  [package.optional-dependencies]
@@ -1658,11 +1675,11 @@ wheels = [
1658
1675
 
1659
1676
  [[package]]
1660
1677
  name = "python-multipart"
1661
- version = "0.0.22"
1678
+ version = "0.0.32"
1662
1679
  source = { registry = "https://pypi.org/simple" }
1663
- sdist = { url = "https://files.pythonhosted.org/packages/94/01/979e98d542a70714b0cb2b6728ed0b7c46792b695e3eaec3e20711271ca3/python_multipart-0.0.22.tar.gz", hash = "sha256:7340bef99a7e0032613f56dc36027b959fd3b30a787ed62d310e951f7c3a3a58", size = 37612, upload-time = "2026-01-25T10:15:56.219Z" }
1680
+ sdist = { url = "https://files.pythonhosted.org/packages/5b/42/55c32bb9b12693c092ad250a0e82edb5b31ddeda6eb772de5f308b3804ad/python_multipart-0.0.32.tar.gz", hash = "sha256:be54b7f3fa167bb83e4fcd936b887b708f4e57fe75911c02aebf53efaf8d938e", size = 46881, upload-time = "2026-06-04T16:18:58.647Z" }
1664
1681
  wheels = [
1665
- { url = "https://files.pythonhosted.org/packages/1b/d0/397f9626e711ff749a95d96b7af99b9c566a9bb5129b8e4c10fc4d100304/python_multipart-0.0.22-py3-none-any.whl", hash = "sha256:2b2cd894c83d21bf49d702499531c7bafd057d730c201782048f7945d82de155", size = 24579, upload-time = "2026-01-25T10:15:54.811Z" },
1682
+ { url = "https://files.pythonhosted.org/packages/e1/04/e8135ebd1ad02c56ec633277529b2602ff99ff634be76cdba5744cf554fd/python_multipart-0.0.32-py3-none-any.whl", hash = "sha256:ff6d3f776f16878c894e52e107296ffc890e913c611b1a4ec6c44e2821fe2e23", size = 30042, upload-time = "2026-06-04T16:18:57.319Z" },
1666
1683
  ]
1667
1684
 
1668
1685
  [[package]]
@@ -1972,11 +1989,11 @@ s3 = [
1972
1989
 
1973
1990
  [[package]]
1974
1991
  name = "soupsieve"
1975
- version = "2.8.3"
1992
+ version = "2.9.2"
1976
1993
  source = { registry = "https://pypi.org/simple" }
1977
- sdist = { url = "https://files.pythonhosted.org/packages/7b/ae/2d9c981590ed9999a0d91755b47fc74f74de286b0f5cee14c9269041e6c4/soupsieve-2.8.3.tar.gz", hash = "sha256:3267f1eeea4251fb42728b6dfb746edc9acaffc4a45b27e19450b676586e8349", size = 118627, upload-time = "2026-01-20T04:27:02.457Z" }
1994
+ sdist = { url = "https://files.pythonhosted.org/packages/69/99/a6ca3beb3ccacb41fb3321d8a60e5566f9e6467601ef8eba6a17e1b89778/soupsieve-2.9.2.tar.gz", hash = "sha256:4a55d8cf158a9c2e587fa4922f1bbb91d68ac829e2d6f25403a85747c71daf74", size = 122445, upload-time = "2026-08-07T00:57:24.801Z" }
1978
1995
  wheels = [
1979
- { url = "https://files.pythonhosted.org/packages/46/2c/1462b1d0a634697ae9e55b3cecdcb64788e8b7d63f54d923fcd0bb140aed/soupsieve-2.8.3-py3-none-any.whl", hash = "sha256:ed64f2ba4eebeab06cc4962affce381647455978ffc1e36bb79a545b91f45a95", size = 37016, upload-time = "2026-01-20T04:27:01.012Z" },
1996
+ { url = "https://files.pythonhosted.org/packages/eb/dc/ad025c1ee131eba60c69f4dd5779b18fcf1e6b21a343e2162a84d5d133c7/soupsieve-2.9.2-py3-none-any.whl", hash = "sha256:8089a26fd974ca7a1f30276d3d8492ab266ab15af581642dfe8aa162e0c1c823", size = 37370, upload-time = "2026-08-07T00:57:23.524Z" },
1980
1997
  ]
1981
1998
 
1982
1999
  [[package]]
@@ -2051,15 +2068,15 @@ wheels = [
2051
2068
 
2052
2069
  [[package]]
2053
2070
  name = "starlette"
2054
- version = "0.52.1"
2071
+ version = "1.6.0"
2055
2072
  source = { registry = "https://pypi.org/simple" }
2056
2073
  dependencies = [
2057
2074
  { name = "anyio" },
2058
2075
  { name = "typing-extensions", marker = "python_full_version < '3.13'" },
2059
2076
  ]
2060
- sdist = { url = "https://files.pythonhosted.org/packages/c4/68/79977123bb7be889ad680d79a40f339082c1978b5cfcf62c2d8d196873ac/starlette-0.52.1.tar.gz", hash = "sha256:834edd1b0a23167694292e94f597773bc3f89f362be6effee198165a35d62933", size = 2653702, upload-time = "2026-01-18T13:34:11.062Z" }
2077
+ sdist = { url = "https://files.pythonhosted.org/packages/b5/b4/205b0d5241d934e8add0c38aa924c4f9fb7330834ff11e5444db964ec3f9/starlette-1.6.0.tar.gz", hash = "sha256:d4e3ac5e546444960c710297a3c9fc3f7ebae1b7e963f3d36173b49da535be9b", size = 2716969, upload-time = "2026-08-08T18:27:57.512Z" }
2061
2078
  wheels = [
2062
- { url = "https://files.pythonhosted.org/packages/81/0d/13d1d239a25cbfb19e740db83143e95c772a1fe10202dda4b76792b114dd/starlette-0.52.1-py3-none-any.whl", hash = "sha256:0029d43eb3d273bc4f83a08720b4912ea4b071087a3b48db01b7c839f7954d74", size = 74272, upload-time = "2026-01-18T13:34:09.188Z" },
2079
+ { url = "https://files.pythonhosted.org/packages/c8/cb/6a6a47d5b464bd08695d254f3da6e7986cc70c9fa5d778eda57538edfe56/starlette-1.6.0-py3-none-any.whl", hash = "sha256:a86dd39d14bb45f85a3d18525215a9ef0cfd1f192ac793220e72598c90335f0c", size = 75969, upload-time = "2026-08-08T18:27:56.196Z" },
2063
2080
  ]
2064
2081
 
2065
2082
  [[package]]
@@ -2175,11 +2192,11 @@ wheels = [
2175
2192
 
2176
2193
  [[package]]
2177
2194
  name = "urllib3"
2178
- version = "2.6.3"
2195
+ version = "2.7.0"
2179
2196
  source = { registry = "https://pypi.org/simple" }
2180
- sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" }
2197
+ sdist = { url = "https://files.pythonhosted.org/packages/53/0c/06f8b233b8fd13b9e5ee11424ef85419ba0d8ba0b3138bf360be2ff56953/urllib3-2.7.0.tar.gz", hash = "sha256:231e0ec3b63ceb14667c67be60f2f2c40a518cb38b03af60abc813da26505f4c", size = 433602, upload-time = "2026-05-07T16:13:18.596Z" }
2181
2198
  wheels = [
2182
- { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" },
2199
+ { url = "https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl", hash = "sha256:9fb4c81ebbb1ce9531cce37674bbc6f1360472bc18ca9a553ede278ef7276897", size = 131087, upload-time = "2026-05-07T16:13:17.151Z" },
2183
2200
  ]
2184
2201
 
2185
2202
  [[package]]
@@ -1 +0,0 @@
1
- __version__ = "2.18.2"
File without changes
File without changes
File without changes