chutils 3.3.0__tar.gz → 3.4.0__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 (571) hide show
  1. {chutils-3.3.0 → chutils-3.4.0}/PKG-INFO +7 -1
  2. {chutils-3.3.0 → chutils-3.4.0}/ai-lint.toml +3 -0
  3. {chutils-3.3.0 → chutils-3.4.0}/api_map.md +233 -226
  4. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/config_remote_push_20260702/plan.md +21 -21
  5. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/dev_watch_20260702/plan.md +22 -22
  6. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/fallback_alias_20260707/plan.md +22 -22
  7. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_integration_20260521/plan.md +19 -19
  8. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_typed_signals_20260521/plan.md +16 -16
  9. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/scraping_concurrency_20260707/plan.md +34 -34
  10. {chutils-3.3.0 → chutils-3.4.0}/conductor/product.md +15 -0
  11. {chutils-3.3.0 → chutils-3.4.0}/conductor/tech-stack.md +5 -0
  12. chutils-3.4.0/conductor/tracks.md +7 -0
  13. {chutils-3.3.0 → chutils-3.4.0}/docs/api.md +63 -0
  14. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/dev.md +44 -0
  15. {chutils-3.3.0 → chutils-3.4.0}/docs/dependencies.md +15 -12
  16. {chutils-3.3.0 → chutils-3.4.0}/docs/http.md +154 -154
  17. chutils-3.4.0/docs/qt.md +128 -0
  18. {chutils-3.3.0 → chutils-3.4.0}/docs/scraping.md +30 -0
  19. {chutils-3.3.0 → chutils-3.4.0}/docs/store.md +98 -98
  20. chutils-3.4.0/examples/22_qt_logging.py +41 -0
  21. chutils-3.4.0/examples/23_qt_async.py +58 -0
  22. chutils-3.4.0/examples/24_qt_typed_signals.py +73 -0
  23. chutils-3.4.0/examples/concurrency_scraping_usage.py +50 -0
  24. {chutils-3.3.0 → chutils-3.4.0}/project_index.json +8563 -4523
  25. {chutils-3.3.0 → chutils-3.4.0}/pyproject.toml +10 -1
  26. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/__init__.py +7 -0
  27. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/__init__.pyi +9 -4
  28. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/__init__.py +58 -0
  29. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/clean.py +124 -124
  30. chutils-3.4.0/src/chutils/commands/dev/watch.py +105 -0
  31. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/__init__.py +56 -0
  32. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/core.py +116 -1
  33. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/getters.py +50 -16
  34. chutils-3.4.0/src/chutils/config/integrations.py +124 -0
  35. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/manager.py +104 -1
  36. chutils-3.4.0/src/chutils/config/sse.py +258 -0
  37. chutils-3.4.0/src/chutils/config/webhook_server.py +217 -0
  38. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/crypto.py +19 -4
  39. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/__init__.py +9 -0
  40. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/changelog_parser.py +13 -14
  41. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/cleaner.py +221 -221
  42. chutils-3.4.0/src/chutils/dev/runners.py +201 -0
  43. chutils-3.4.0/src/chutils/dev/version_detector.py +292 -0
  44. chutils-3.4.0/src/chutils/dev/watcher.py +424 -0
  45. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/di/__init__.pyi +39 -39
  46. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/http/streaming.py +529 -529
  47. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/lifecycle.py +7 -0
  48. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/core.py +5 -2
  49. chutils-3.4.0/src/chutils/qt/__init__.py +49 -0
  50. chutils-3.4.0/src/chutils/qt/asyncio.py +141 -0
  51. chutils-3.4.0/src/chutils/qt/logging.py +87 -0
  52. chutils-3.4.0/src/chutils/qt/shim.py +90 -0
  53. chutils-3.4.0/src/chutils/qt/signals.py +179 -0
  54. chutils-3.4.0/src/chutils/qt/widgets.py +95 -0
  55. chutils-3.4.0/src/chutils/scraping/__init__.py +5 -0
  56. chutils-3.4.0/src/chutils/scraping/concurrency/__init__.py +19 -0
  57. chutils-3.4.0/src/chutils/scraping/concurrency/base.py +63 -0
  58. chutils-3.4.0/src/chutils/scraping/concurrency/limiter.py +114 -0
  59. chutils-3.4.0/src/chutils/scraping/concurrency/models.py +41 -0
  60. chutils-3.4.0/src/chutils/scraping/concurrency/pool.py +128 -0
  61. chutils-3.4.0/src/chutils/scraping/concurrency/queues.py +387 -0
  62. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/humanize/__init__.py +38 -38
  63. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/humanize/antidetect.py +221 -221
  64. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/humanize/warmer.py +204 -204
  65. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/__init__.py +10 -10
  66. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/backends/__init__.py +11 -11
  67. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/backends/base.py +131 -131
  68. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/backends/memcached.py +211 -211
  69. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/backends/memory.py +156 -156
  70. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/backends/redis.py +191 -191
  71. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/decorator.py +84 -84
  72. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/store/manager.py +351 -351
  73. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/tasks/core.py +15 -14
  74. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/time.py +15 -5
  75. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/validation.py +5 -0
  76. chutils-3.4.0/tests/unit/cli/test_cli_dev_watch.py +118 -0
  77. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_init_interactive.py +76 -76
  78. chutils-3.4.0/tests/unit/config/test_config_integrations.py +95 -0
  79. chutils-3.4.0/tests/unit/config/test_config_sse.py +155 -0
  80. chutils-3.4.0/tests/unit/config/test_config_sse_integration.py +79 -0
  81. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_validation_group.py +11 -0
  82. chutils-3.4.0/tests/unit/config/test_config_webhook.py +137 -0
  83. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_time.py +7 -0
  84. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_changelog_parser.py +12 -0
  85. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_cleaner.py +188 -188
  86. chutils-3.4.0/tests/unit/dev/test_runners.py +101 -0
  87. chutils-3.4.0/tests/unit/dev/test_version_detector.py +175 -0
  88. chutils-3.4.0/tests/unit/dev/test_watcher.py +135 -0
  89. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_basics.py +8 -0
  90. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_configuration.py +2 -2
  91. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/tasks/test_scheduler.py +19 -0
  92. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_antidetect.py +133 -133
  93. chutils-3.4.0/tests/unit/test_concurrency_imports.py +20 -0
  94. chutils-3.4.0/tests/unit/test_concurrency_limiter.py +43 -0
  95. chutils-3.4.0/tests/unit/test_concurrency_pool.py +58 -0
  96. chutils-3.4.0/tests/unit/test_concurrency_queues.py +143 -0
  97. chutils-3.4.0/tests/unit/test_config_alias_choices.py +45 -0
  98. chutils-3.4.0/tests/unit/test_config_fallback.py +72 -0
  99. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_crypto.py +17 -0
  100. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_http_streaming.py +385 -385
  101. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_nodriver_humanize.py +147 -147
  102. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_profile_warmer.py +132 -132
  103. chutils-3.4.0/tests/unit/test_qt_asyncio.py +100 -0
  104. chutils-3.4.0/tests/unit/test_qt_logging.py +115 -0
  105. chutils-3.4.0/tests/unit/test_qt_shim.py +75 -0
  106. chutils-3.4.0/tests/unit/test_qt_signals.py +109 -0
  107. chutils-3.4.0/tests/unit/test_qt_widgets.py +58 -0
  108. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_store_backends_external.py +112 -112
  109. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_store_integrations.py +87 -87
  110. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_store_manager.py +76 -76
  111. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_store_memory.py +80 -80
  112. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_validation.py +9 -0
  113. {chutils-3.3.0 → chutils-3.4.0}/uv.lock +149 -2
  114. chutils-3.3.0/conductor/archive/cache_invalidation_20260714/index.md +0 -5
  115. chutils-3.3.0/conductor/archive/cache_invalidation_20260714/metadata.json +0 -8
  116. chutils-3.3.0/conductor/archive/cache_invalidation_20260714/plan.md +0 -17
  117. chutils-3.3.0/conductor/archive/cache_invalidation_20260714/spec.md +0 -28
  118. chutils-3.3.0/conductor/archive/dev_clean_20260707/index.md +0 -5
  119. chutils-3.3.0/conductor/archive/dev_clean_20260707/metadata.json +0 -8
  120. chutils-3.3.0/conductor/archive/dev_clean_20260707/plan.md +0 -44
  121. chutils-3.3.0/conductor/archive/dev_clean_20260707/spec.md +0 -55
  122. chutils-3.3.0/conductor/archive/http_streaming_20260720/index.md +0 -5
  123. chutils-3.3.0/conductor/archive/http_streaming_20260720/metadata.json +0 -8
  124. chutils-3.3.0/conductor/archive/http_streaming_20260720/plan.md +0 -34
  125. chutils-3.3.0/conductor/archive/http_streaming_20260720/spec.md +0 -36
  126. chutils-3.3.0/conductor/archive/nodriver_interactions_20260720/index.md +0 -5
  127. chutils-3.3.0/conductor/archive/nodriver_interactions_20260720/metadata.json +0 -8
  128. chutils-3.3.0/conductor/archive/nodriver_interactions_20260720/plan.md +0 -30
  129. chutils-3.3.0/conductor/archive/nodriver_interactions_20260720/spec.md +0 -36
  130. chutils-3.3.0/conductor/archive/profile_warmer_20260720/index.md +0 -5
  131. chutils-3.3.0/conductor/archive/profile_warmer_20260720/metadata.json +0 -8
  132. chutils-3.3.0/conductor/archive/profile_warmer_20260720/plan.md +0 -31
  133. chutils-3.3.0/conductor/archive/profile_warmer_20260720/spec.md +0 -39
  134. chutils-3.3.0/conductor/archive/store_20260702/index.md +0 -5
  135. chutils-3.3.0/conductor/archive/store_20260702/metadata.json +0 -8
  136. chutils-3.3.0/conductor/archive/store_20260702/plan.md +0 -32
  137. chutils-3.3.0/conductor/archive/store_20260702/spec.md +0 -42
  138. chutils-3.3.0/conductor/tracks.md +0 -34
  139. chutils-3.3.0/src/chutils/dev/version_detector.py +0 -114
  140. chutils-3.3.0/src/chutils/scraping/__init__.py +0 -4
  141. chutils-3.3.0/tests/unit/dev/test_version_detector.py +0 -102
  142. {chutils-3.3.0 → chutils-3.4.0}/.chutilsignore +0 -0
  143. {chutils-3.3.0 → chutils-3.4.0}/.gitattributes +0 -0
  144. {chutils-3.3.0 → chutils-3.4.0}/.github/workflows/ci.yml +0 -0
  145. {chutils-3.3.0 → chutils-3.4.0}/.github/workflows/publish-docs.yml +0 -0
  146. {chutils-3.3.0 → chutils-3.4.0}/.gitignore +0 -0
  147. {chutils-3.3.0 → chutils-3.4.0}/CODE_OF_CONDUCT.md +0 -0
  148. {chutils-3.3.0 → chutils-3.4.0}/CONTRIBUTING.md +0 -0
  149. {chutils-3.3.0 → chutils-3.4.0}/GEMINI.md +0 -0
  150. {chutils-3.3.0 → chutils-3.4.0}/LICENSE +0 -0
  151. {chutils-3.3.0 → chutils-3.4.0}/README.md +0 -0
  152. {chutils-3.3.0 → chutils-3.4.0}/benchmarks/cold_start.py +0 -0
  153. {chutils-3.3.0 → chutils-3.4.0}/conductor/.gitignore +0 -0
  154. {chutils-3.3.0 → chutils-3.4.0}/conductor/GEMINI.md +0 -0
  155. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/config_remote_push_20260702/index.md +0 -0
  156. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/config_remote_push_20260702/metadata.json +0 -0
  157. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/config_remote_push_20260702/spec.md +0 -0
  158. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/dev_watch_20260702/index.md +0 -0
  159. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/dev_watch_20260702/metadata.json +0 -0
  160. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/dev_watch_20260702/spec.md +0 -0
  161. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/fallback_alias_20260707/index.md +0 -0
  162. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/fallback_alias_20260707/metadata.json +0 -0
  163. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/fallback_alias_20260707/spec.md +0 -0
  164. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_integration_20260521/index.md +0 -0
  165. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_integration_20260521/metadata.json +0 -0
  166. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_integration_20260521/spec.md +0 -0
  167. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_typed_signals_20260521/index.md +0 -0
  168. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_typed_signals_20260521/metadata.json +0 -0
  169. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/qt_typed_signals_20260521/spec.md +0 -0
  170. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/scraping_concurrency_20260707/index.md +0 -0
  171. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/scraping_concurrency_20260707/metadata.json +0 -0
  172. {chutils-3.3.0/conductor/tracks → chutils-3.4.0/conductor/archive}/scraping_concurrency_20260707/spec.md +0 -0
  173. {chutils-3.3.0 → chutils-3.4.0}/conductor/code_styleguides/python.md +0 -0
  174. {chutils-3.3.0 → chutils-3.4.0}/conductor/index.md +0 -0
  175. {chutils-3.3.0 → chutils-3.4.0}/conductor/product-guidelines.md +0 -0
  176. {chutils-3.3.0 → chutils-3.4.0}/conductor/setup_state.json +0 -0
  177. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/ai_manifests_few_shot_20260713/index.md +0 -0
  178. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/ai_manifests_few_shot_20260713/metadata.json +0 -0
  179. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/ai_manifests_few_shot_20260713/plan.md +0 -0
  180. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/ai_manifests_few_shot_20260713/spec.md +0 -0
  181. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/docstring_audit_20260521/index.md +0 -0
  182. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/docstring_audit_20260521/metadata.json +0 -0
  183. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/docstring_audit_20260521/plan.md +0 -0
  184. {chutils-3.3.0 → chutils-3.4.0}/conductor/tracks/docstring_audit_20260521/spec.md +0 -0
  185. {chutils-3.3.0 → chutils-3.4.0}/conductor/workflow.md +0 -0
  186. {chutils-3.3.0 → chutils-3.4.0}/docs/CODE_OF_CONDUCT_RU.md +0 -0
  187. {chutils-3.3.0 → chutils-3.4.0}/docs/CONTRIBUTING_RU.md +0 -0
  188. {chutils-3.3.0 → chutils-3.4.0}/docs/INTEGRATION_AI.md +0 -0
  189. {chutils-3.3.0 → chutils-3.4.0}/docs/README_RU.md +0 -0
  190. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/README.md +0 -0
  191. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/configuration/README.md +0 -0
  192. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/configuration/bad_pattern.py +0 -0
  193. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/configuration/good_pattern.py +0 -0
  194. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/error_handling/README.md +0 -0
  195. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/error_handling/bad_pattern.py +0 -0
  196. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/error_handling/good_pattern.py +0 -0
  197. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/logging/README.md +0 -0
  198. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/logging/bad_pattern.py +0 -0
  199. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/logging/good_pattern.py +0 -0
  200. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/optional_deps/README.md +0 -0
  201. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/optional_deps/bad_pattern.py +0 -0
  202. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/optional_deps/good_pattern.py +0 -0
  203. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/secrets/README.md +0 -0
  204. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/secrets/bad_pattern.py +0 -0
  205. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_examples/secrets/good_pattern.py +0 -0
  206. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_hints.md +0 -0
  207. {chutils-3.3.0 → chutils-3.4.0}/docs/ai_lint.md +0 -0
  208. {chutils-3.3.0 → chutils-3.4.0}/docs/audit.md +0 -0
  209. {chutils-3.3.0 → chutils-3.4.0}/docs/captcha.md +0 -0
  210. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/config.md +0 -0
  211. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/db.md +0 -0
  212. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/env.md +0 -0
  213. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/index.md +0 -0
  214. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/init.md +0 -0
  215. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/pypi.md +0 -0
  216. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/secrets.md +0 -0
  217. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/show_paths.md +0 -0
  218. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/template.md +0 -0
  219. {chutils-3.3.0 → chutils-3.4.0}/docs/cli/validate.md +0 -0
  220. {chutils-3.3.0 → chutils-3.4.0}/docs/custom_config_providers.md +0 -0
  221. {chutils-3.3.0 → chutils-3.4.0}/docs/index.md +0 -0
  222. {chutils-3.3.0 → chutils-3.4.0}/docs/migration.md +0 -0
  223. {chutils-3.3.0 → chutils-3.4.0}/docs/plugins.md +0 -0
  224. {chutils-3.3.0 → chutils-3.4.0}/docs/recipes.md +0 -0
  225. {chutils-3.3.0 → chutils-3.4.0}/docs/testing.md +0 -0
  226. {chutils-3.3.0 → chutils-3.4.0}/docs/web.md +0 -0
  227. {chutils-3.3.0 → chutils-3.4.0}/examples/.env +0 -0
  228. {chutils-3.3.0 → chutils-3.4.0}/examples/01_configuration.py +0 -0
  229. {chutils-3.3.0 → chutils-3.4.0}/examples/02_logging.py +0 -0
  230. {chutils-3.3.0 → chutils-3.4.0}/examples/03_secrets.py +0 -0
  231. {chutils-3.3.0 → chutils-3.4.0}/examples/04_full_example.py +0 -0
  232. {chutils-3.3.0 → chutils-3.4.0}/examples/05_different_log_levels.py +0 -0
  233. {chutils-3.3.0 → chutils-3.4.0}/examples/06_local_config_override.py +0 -0
  234. {chutils-3.3.0 → chutils-3.4.0}/examples/07_decorators_example.py +0 -0
  235. {chutils-3.3.0 → chutils-3.4.0}/examples/08_multiple_loggers_example.py +0 -0
  236. {chutils-3.3.0 → chutils-3.4.0}/examples/09_disable_keyring.py +0 -0
  237. {chutils-3.3.0 → chutils-3.4.0}/examples/10_universal_env_override.py +0 -0
  238. {chutils-3.3.0 → chutils-3.4.0}/examples/11_retry_decorator.py +0 -0
  239. {chutils-3.3.0 → chutils-3.4.0}/examples/12_secret_masking.py +0 -0
  240. {chutils-3.3.0 → chutils-3.4.0}/examples/13_pydantic_validation.py +0 -0
  241. {chutils-3.3.0 → chutils-3.4.0}/examples/15_context_logging.py +0 -0
  242. {chutils-3.3.0 → chutils-3.4.0}/examples/16_cloud_secret_managers.py +0 -0
  243. {chutils-3.3.0 → chutils-3.4.0}/examples/17_timeout_decorator.py +0 -0
  244. {chutils-3.3.0 → chutils-3.4.0}/examples/18_config_hot_reload.py +0 -0
  245. {chutils-3.3.0 → chutils-3.4.0}/examples/19_remote_config.py +0 -0
  246. {chutils-3.3.0 → chutils-3.4.0}/examples/20_opentelemetry_tracing.py +0 -0
  247. {chutils-3.3.0 → chutils-3.4.0}/examples/21_config_diagnostics.py +0 -0
  248. {chutils-3.3.0 → chutils-3.4.0}/examples/22_circuit_breaker_decorator.py +0 -0
  249. {chutils-3.3.0 → chutils-3.4.0}/examples/22_safe_path_resolution.py +0 -0
  250. {chutils-3.3.0 → chutils-3.4.0}/examples/23_event_bus.py +0 -0
  251. {chutils-3.3.0 → chutils-3.4.0}/examples/24_task_scheduler.py +0 -0
  252. {chutils-3.3.0 → chutils-3.4.0}/examples/25_testing_fixtures_example.py +0 -0
  253. {chutils-3.3.0 → chutils-3.4.0}/examples/26_metrics_prometheus.py +0 -0
  254. {chutils-3.3.0 → chutils-3.4.0}/examples/27_rate_limiting.py +0 -0
  255. {chutils-3.3.0 → chutils-3.4.0}/examples/28_dependency_injection.py +0 -0
  256. {chutils-3.3.0 → chutils-3.4.0}/examples/captcha_solvers_usage.py +0 -0
  257. {chutils-3.3.0 → chutils-3.4.0}/examples/config.yml +0 -0
  258. {chutils-3.3.0 → chutils-3.4.0}/examples/scraping_humanize_usage.py +0 -0
  259. {chutils-3.3.0 → chutils-3.4.0}/examples/web_client_usage.py +0 -0
  260. {chutils-3.3.0 → chutils-3.4.0}/mkdocs.yml +0 -0
  261. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/__main__.py +0 -0
  262. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/antigravity.md +0 -0
  263. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/__init__.py +0 -0
  264. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/_hash.py +0 -0
  265. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/api.py +0 -0
  266. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/backends/__init__.py +0 -0
  267. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/backends/base.py +0 -0
  268. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/backends/file.py +0 -0
  269. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/backends/postgres.py +0 -0
  270. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/backends/sqlite.py +0 -0
  271. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/audit/schema.py +0 -0
  272. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cache/__init__.py +0 -0
  273. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cache/base.py +0 -0
  274. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cache/decorator.py +0 -0
  275. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cache/in_memory.py +0 -0
  276. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cache/utils.py +0 -0
  277. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cli.py +0 -0
  278. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cli_booster.py +0 -0
  279. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/cli_utils.py +0 -0
  280. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/__init__.py +0 -0
  281. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/base.py +0 -0
  282. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/config.py +0 -0
  283. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/db.py +0 -0
  284. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/ai_lint.py +0 -0
  285. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/base.py +0 -0
  286. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/chat_context.py +0 -0
  287. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/dashboard.py +0 -0
  288. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/diagnostics.py +0 -0
  289. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/few_shot.py +0 -0
  290. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/generate_context.py +0 -0
  291. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/hooks.py +0 -0
  292. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/mock.py +0 -0
  293. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/profile_imports.py +0 -0
  294. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/scaffold.py +0 -0
  295. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/setup_github_actions.py +0 -0
  296. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/dev/sync_env.py +0 -0
  297. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/env.py +0 -0
  298. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/init.py +0 -0
  299. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/paths.py +0 -0
  300. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/pypi.py +0 -0
  301. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/secrets.py +0 -0
  302. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/template.py +0 -0
  303. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/utils.py +0 -0
  304. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/commands/validate.py +0 -0
  305. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/GEMINI.md +0 -0
  306. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/ast_fallback_parser.py +0 -0
  307. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/custom_providers.py +0 -0
  308. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/dev.py +0 -0
  309. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/diagnostics.py +0 -0
  310. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/generator.py +0 -0
  311. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/providers.py +0 -0
  312. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/schema.py +0 -0
  313. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/utils.py +0 -0
  314. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/config/watcher.py +0 -0
  315. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/context.py +0 -0
  316. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/db.py +0 -0
  317. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/decorators.py +0 -0
  318. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/ai_lint.py +0 -0
  319. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/ast_indexer.py +0 -0
  320. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/chat_context.py +0 -0
  321. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/constants.py +0 -0
  322. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/dashboard/__init__.py +0 -0
  323. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/dashboard/indexer.py +0 -0
  324. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/dashboard/input.py +0 -0
  325. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/dashboard/tui.py +0 -0
  326. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/env_parser.py +0 -0
  327. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/env_sync.py +0 -0
  328. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/few_shot/__init__.py +0 -0
  329. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/few_shot/detector.py +0 -0
  330. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/few_shot/models.py +0 -0
  331. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/few_shot/renderer.py +0 -0
  332. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/few_shot/writer.py +0 -0
  333. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/github_actions.py +0 -0
  334. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/mock_server.py +0 -0
  335. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/models/__init__.py +0 -0
  336. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/models/base.py +0 -0
  337. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/models/index.py +0 -0
  338. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/models/node.py +0 -0
  339. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/models/symbol.py +0 -0
  340. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/profile_imports.py +0 -0
  341. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/project_metadata.py +0 -0
  342. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/__init__.py +0 -0
  343. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/api_map.py +0 -0
  344. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/decomposition.py +0 -0
  345. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/dependency_sync.py +0 -0
  346. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/docstring.py +0 -0
  347. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/env.py +0 -0
  348. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/integration.py +0 -0
  349. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/linter_coverage.py +0 -0
  350. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/manifest.py +0 -0
  351. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/security.py +0 -0
  352. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/rules/upgrade_check.py +0 -0
  353. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/scaffold.py +0 -0
  354. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/dev/upgrade_client.py +0 -0
  355. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/di/__init__.py +0 -0
  356. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/di/container.py +0 -0
  357. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/diagnostics/__init__.py +0 -0
  358. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/diagnostics/manager.py +0 -0
  359. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/diagnostics/models.py +0 -0
  360. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/diagnostics/web.py +0 -0
  361. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/env.py +0 -0
  362. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/env.pyi +0 -0
  363. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/events/__init__.py +0 -0
  364. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/events/core.py +0 -0
  365. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/__init__.py +0 -0
  366. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/audit.py +0 -0
  367. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/base.py +0 -0
  368. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/cache.py +0 -0
  369. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/config.py +0 -0
  370. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/di.py +0 -0
  371. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/events.py +0 -0
  372. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/logger.py +0 -0
  373. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/resilience.py +0 -0
  374. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/secrets.py +0 -0
  375. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/system.py +0 -0
  376. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/validation.py +0 -0
  377. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/exceptions/watcher.py +0 -0
  378. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/features.py +0 -0
  379. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/fs.py +0 -0
  380. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/http/__init__.py +0 -0
  381. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/http/api.py +0 -0
  382. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/http/client.py +0 -0
  383. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/http/fallback.py +0 -0
  384. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/http/resilience.py +0 -0
  385. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/http/tracing.py +0 -0
  386. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/GEMINI.md +0 -0
  387. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/__init__.py +0 -0
  388. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/formatters.py +0 -0
  389. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/handlers.py +0 -0
  390. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/internal/builder.py +0 -0
  391. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/internal/levels.py +0 -0
  392. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/internal/utils.py +0 -0
  393. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/logger/masking.py +0 -0
  394. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/metrics/__init__.py +0 -0
  395. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/metrics/base.py +0 -0
  396. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/metrics/in_memory.py +0 -0
  397. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/metrics/prometheus.py +0 -0
  398. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/metrics/timer.py +0 -0
  399. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/plugins/__init__.py +0 -0
  400. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/plugins/core.py +0 -0
  401. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/plugins/interfaces.py +0 -0
  402. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/captcha/__init__.py +0 -0
  403. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/captcha/anticaptcha.py +0 -0
  404. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/captcha/base.py +0 -0
  405. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/captcha/capmonster.py +0 -0
  406. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/captcha/exceptions.py +0 -0
  407. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/captcha/rucaptcha.py +0 -0
  408. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/humanize/actions.py +0 -0
  409. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/scraping/humanize/math_utils.py +0 -0
  410. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/GEMINI.md +0 -0
  411. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/__init__.py +0 -0
  412. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/core.py +0 -0
  413. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/providers/__init__.py +0 -0
  414. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/providers/aws.py +0 -0
  415. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/providers/base.py +0 -0
  416. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/providers/dotenv.py +0 -0
  417. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/providers/env.py +0 -0
  418. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/providers/gcp.py +0 -0
  419. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/secret_manager/providers/keyring_provider.py +0 -0
  420. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/tasks/__init__.py +0 -0
  421. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/tasks/__init__.pyi +0 -0
  422. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/testing/__init__.py +0 -0
  423. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/testing/fixtures.py +0 -0
  424. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/text.py +0 -0
  425. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/tracing.py +0 -0
  426. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/typing.py +0 -0
  427. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/validation.pyi +0 -0
  428. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/web/__init__.py +0 -0
  429. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/web/client.py +0 -0
  430. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/web/proxy_pool.py +0 -0
  431. {chutils-3.3.0 → chutils-3.4.0}/src/chutils/web/user_agent.py +0 -0
  432. {chutils-3.3.0 → chutils-3.4.0}/tests/conftest.py +0 -0
  433. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/__init__.py +0 -0
  434. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_ai_lint_integration.py +0 -0
  435. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_cli_e2e.py +0 -0
  436. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_db_migrations.py +0 -0
  437. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_event_loops.py +0 -0
  438. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_examples.py +0 -0
  439. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_hooks_integration.py +0 -0
  440. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_masking_integration.py +0 -0
  441. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_otel_tracing.py +0 -0
  442. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_remote_config_integration.py +0 -0
  443. {chutils-3.3.0 → chutils-3.4.0}/tests/integration/test_setup_github_actions_integration.py +0 -0
  444. {chutils-3.3.0 → chutils-3.4.0}/tests/manual/manual_test_cli_booster.py +0 -0
  445. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/conftest.py +0 -0
  446. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli.py +0 -0
  447. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_booster.py +0 -0
  448. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_config.py +0 -0
  449. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_config_cmd.py +0 -0
  450. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_config_schema.py +0 -0
  451. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_dev.py +0 -0
  452. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_dev_cmd.py +0 -0
  453. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_dev_tree.py +0 -0
  454. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_diagnostics.py +0 -0
  455. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_extras_suggestion.py +0 -0
  456. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_init.py +0 -0
  457. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_paths.py +0 -0
  458. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_pypi.py +0 -0
  459. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_rich.py +0 -0
  460. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_rich_width.py +0 -0
  461. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_secrets.py +0 -0
  462. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_setup_github_actions.py +0 -0
  463. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_template.py +0 -0
  464. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_utils_internal.py +0 -0
  465. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/cli/test_cli_validate.py +0 -0
  466. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config.py +0 -0
  467. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_ast_parser.py +0 -0
  468. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_dev.py +0 -0
  469. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_diagnostics.py +0 -0
  470. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_env.py +0 -0
  471. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_env_loading.py +0 -0
  472. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_generator.py +0 -0
  473. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_json.py +0 -0
  474. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_pydantic.py +0 -0
  475. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_required.py +0 -0
  476. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_schema.py +0 -0
  477. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_tracing.py +0 -0
  478. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_universal_env.py +0 -0
  479. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_utils.py +0 -0
  480. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_config_watcher.py +0 -0
  481. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_custom_config_providers.py +0 -0
  482. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_priority_unification.py +0 -0
  483. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/config/test_remote_config.py +0 -0
  484. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_ast_indexer.py +0 -0
  485. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_ast_indexer_abstract.py +0 -0
  486. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_ast_indexer_graph.py +0 -0
  487. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_ast_indexer_layers.py +0 -0
  488. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_ast_indexer_metadata.py +0 -0
  489. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_cache.py +0 -0
  490. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_dev_models.py +0 -0
  491. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_exceptions.py +0 -0
  492. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_features.py +0 -0
  493. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_fs.py +0 -0
  494. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_lifecycle.py +0 -0
  495. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/core/test_thread_safety.py +0 -0
  496. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/decorators/test_decorator_circuit_breaker.py +0 -0
  497. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/decorators/test_decorator_retry.py +0 -0
  498. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/decorators/test_decorator_timeout.py +0 -0
  499. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/decorators/test_decorators.py +0 -0
  500. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/decorators/test_rate_limit.py +0 -0
  501. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_ai_lint.py +0 -0
  502. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_ai_lint_staged.py +0 -0
  503. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_chat_context.py +0 -0
  504. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_env_parser.py +0 -0
  505. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_env_sync.py +0 -0
  506. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_generate_few_shot.py +0 -0
  507. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_linter_coverage_rule.py +0 -0
  508. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_mock_server.py +0 -0
  509. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_scaffold.py +0 -0
  510. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_setup_github_actions.py +0 -0
  511. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_upgrade_check_rule.py +0 -0
  512. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/dev/test_upgrade_client.py +0 -0
  513. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/di/test_di.py +0 -0
  514. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/events/test_event_bus.py +0 -0
  515. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/conftest.py +0 -0
  516. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_compression.py +0 -0
  517. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_config_sections.py +0 -0
  518. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_context.py +0 -0
  519. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_env_control.py +0 -0
  520. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_files.py +0 -0
  521. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_json_format.py +0 -0
  522. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_logger_rich_width.py +0 -0
  523. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_masking.py +0 -0
  524. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_performance_security.py +0 -0
  525. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_rich.py +0 -0
  526. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/logger/test_rotation.py +0 -0
  527. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/metrics/test_metrics.py +0 -0
  528. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/plugins/test_integration.py +0 -0
  529. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/plugins/test_interfaces.py +0 -0
  530. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/plugins/test_plugins.py +0 -0
  531. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/secret_manager/test_secret_manager.py +0 -0
  532. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/secret_manager/test_secret_manager_env.py +0 -0
  533. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/secret_manager/test_secret_manager_providers.py +0 -0
  534. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/secret_manager/test_secrets_required.py +0 -0
  535. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_ai_lint_ignore.py +0 -0
  536. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_anticaptcha.py +0 -0
  537. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_async_web_client.py +0 -0
  538. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_audit.py +0 -0
  539. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_audit_phase2.py +0 -0
  540. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_capmonster.py +0 -0
  541. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_captcha_base.py +0 -0
  542. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_captcha_imports.py +0 -0
  543. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_cli_db.py +0 -0
  544. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_crypto_dependencies.py +0 -0
  545. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_dashboard.py +0 -0
  546. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_db_init.py +0 -0
  547. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_db_operations.py +0 -0
  548. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_decorators_bulkhead.py +0 -0
  549. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_diagnostics.py +0 -0
  550. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_env.py +0 -0
  551. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_events_exception_group.py +0 -0
  552. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_http_api.py +0 -0
  553. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_http_client.py +0 -0
  554. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_http_fallback.py +0 -0
  555. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_http_resilience.py +0 -0
  556. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_http_tracing.py +0 -0
  557. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_humanize_math.py +0 -0
  558. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_install_hooks.py +0 -0
  559. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_minimal_imports.py +0 -0
  560. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_playwright_humanize.py +0 -0
  561. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_profile_imports.py +0 -0
  562. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_proxy_pool.py +0 -0
  563. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_rucaptcha.py +0 -0
  564. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_scraping_imports.py +0 -0
  565. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_selenium_humanize.py +0 -0
  566. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_text.py +0 -0
  567. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_text_dependencies.py +0 -0
  568. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_user_agent.py +0 -0
  569. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_web_client.py +0 -0
  570. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/test_web_imports.py +0 -0
  571. {chutils-3.3.0 → chutils-3.4.0}/tests/unit/testing/test_fixtures.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chutils
3
- Version: 3.3.0
3
+ Version: 3.4.0
4
4
  Summary: Набор простых и удобных утилит для Python, который избавляет от рутины при работе с конфигурацией и логированием в новых проектах.
5
5
  Author-email: Chu4hel <sergeiivanov636@gmail.com>
6
6
  License-Expression: MIT
@@ -54,6 +54,12 @@ Requires-Dist: opentelemetry-exporter-otlp>=1.41.1; extra == 'otel'
54
54
  Requires-Dist: opentelemetry-sdk>=1.41.1; extra == 'otel'
55
55
  Provides-Extra: pydantic
56
56
  Requires-Dist: pydantic<3.0.0,>=2.13.4; extra == 'pydantic'
57
+ Provides-Extra: qt
58
+ Requires-Dist: pyqt6>=6.6.0; extra == 'qt'
59
+ Provides-Extra: qt-pyside
60
+ Requires-Dist: pyside6>=6.6.0; extra == 'qt-pyside'
61
+ Provides-Extra: redis
62
+ Requires-Dist: redis>=5.0.0; extra == 'redis'
57
63
  Provides-Extra: rich
58
64
  Requires-Dist: rich>=15.0.0; extra == 'rich'
59
65
  Provides-Extra: scraping
@@ -8,6 +8,9 @@
8
8
 
9
9
  # При изменении любого файла конфигурации — обновить docs/api.md
10
10
  "src/chutils/config/**/*.py" = ["docs/api.md"]
11
+ "new:src/chutils/config/sse.py" = ["docs/api.md"]
12
+ "new:src/chutils/config/webhook_server.py" = ["docs/api.md"]
13
+ "new:src/chutils/config/integrations.py" = ["docs/api.md"]
11
14
 
12
15
  # При изменении провайдеров конфигурации — обновить специализированную документацию
13
16
  "new:src/chutils/config/custom_providers.py" = ["docs/custom_config_providers.md"]