chutils 3.2.0__tar.gz → 3.3.1__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.
- {chutils-3.2.0 → chutils-3.3.1}/.chutilsignore +6 -6
- {chutils-3.2.0 → chutils-3.3.1}/PKG-INFO +4 -1
- {chutils-3.2.0 → chutils-3.3.1}/ai-lint.toml +6 -2
- {chutils-3.2.0 → chutils-3.3.1}/api_map.md +226 -212
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/dev_clean_20260707/plan.md +35 -35
- {chutils-3.2.0/conductor/archive/audit_20260702 → chutils-3.3.1/conductor/archive/http_streaming_20260720}/index.md +1 -1
- chutils-3.3.1/conductor/archive/http_streaming_20260720/metadata.json +8 -0
- chutils-3.3.1/conductor/archive/http_streaming_20260720/plan.md +34 -0
- chutils-3.3.1/conductor/archive/http_streaming_20260720/spec.md +36 -0
- {chutils-3.2.0/conductor/archive/db_manager_20260707 → chutils-3.3.1/conductor/archive/nodriver_interactions_20260720}/index.md +1 -1
- chutils-3.3.1/conductor/archive/nodriver_interactions_20260720/metadata.json +8 -0
- chutils-3.3.1/conductor/archive/nodriver_interactions_20260720/plan.md +30 -0
- chutils-3.3.1/conductor/archive/nodriver_interactions_20260720/spec.md +36 -0
- {chutils-3.2.0/conductor/archive/bulkhead_20260702 → chutils-3.3.1/conductor/archive/profile_warmer_20260720}/index.md +1 -1
- chutils-3.3.1/conductor/archive/profile_warmer_20260720/metadata.json +8 -0
- chutils-3.3.1/conductor/archive/profile_warmer_20260720/plan.md +31 -0
- chutils-3.3.1/conductor/archive/profile_warmer_20260720/spec.md +39 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/store_20260702/plan.md +25 -25
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks.md +4 -18
- {chutils-3.2.0 → chutils-3.3.1}/conductor/workflow.md +4 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/audit.md +119 -119
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/db.md +73 -73
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/dev.md +47 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/dependencies.md +8 -7
- chutils-3.3.1/docs/http.md +154 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/recipes.md +52 -4
- {chutils-3.2.0 → chutils-3.3.1}/docs/scraping.md +93 -2
- chutils-3.3.1/docs/store.md +98 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/16_cloud_secret_managers.py +76 -76
- {chutils-3.2.0 → chutils-3.3.1}/project_index.json +4292 -751
- {chutils-3.2.0 → chutils-3.3.1}/pyproject.toml +4 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/__init__.py +16 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/__init__.pyi +144 -11
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/__init__.py +44 -44
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/_hash.py +22 -22
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/api.py +193 -193
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/backends/__init__.py +6 -6
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/backends/base.py +46 -46
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/backends/file.py +123 -123
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/backends/postgres.py +224 -224
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/backends/sqlite.py +200 -200
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/audit/schema.py +116 -116
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/cache/base.py +35 -3
- chutils-3.3.1/src/chutils/cache/decorator.py +164 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/cache/in_memory.py +78 -7
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/__init__.py +88 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/ai_lint.py +37 -0
- chutils-3.3.1/src/chutils/commands/dev/clean.py +124 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/dashboard.py +40 -40
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/generate_context.py +98 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/hooks.py +41 -17
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/profile_imports.py +47 -47
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/setup_github_actions.py +147 -147
- chutils-3.3.1/src/chutils/commands/init.py +366 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/custom_providers.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/dev.py +125 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/getters.py +25 -15
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/manager.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/utils.py +92 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/crypto.py +19 -4
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/db.py +267 -267
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/decorators.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/__init__.py +4 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/ai_lint.py +189 -33
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/ast_indexer.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/changelog_parser.py +194 -194
- chutils-3.3.1/src/chutils/dev/cleaner.py +221 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/dashboard/__init__.py +20 -20
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/dashboard/indexer.py +218 -218
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/dashboard/input.py +146 -146
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/dashboard/tui.py +593 -593
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/github_actions.py +91 -91
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/profile_imports.py +351 -351
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/project_metadata.py +42 -4
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/api_map.py +28 -11
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/decomposition.py +63 -6
- chutils-3.3.1/src/chutils/dev/rules/docstring.py +292 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/integration.py +27 -9
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/upgrade_check.py +116 -116
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/upgrade_client.py +121 -121
- chutils-3.3.1/src/chutils/dev/version_detector.py +292 -0
- chutils-3.3.1/src/chutils/di/__init__.pyi +39 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/di/container.py +93 -35
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/events/core.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/audit.py +15 -15
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/http/__init__.py +63 -51
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/http/api.py +167 -167
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/http/client.py +678 -678
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/http/fallback.py +455 -455
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/http/resilience.py +402 -402
- chutils-3.3.1/src/chutils/http/streaming.py +529 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/http/tracing.py +139 -139
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/lifecycle.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/core.py +5 -2
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/metrics/__init__.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/metrics/prometheus.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/plugins/core.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/humanize/__init__.py +38 -33
- chutils-3.3.1/src/chutils/scraping/humanize/actions.py +438 -0
- chutils-3.3.1/src/chutils/scraping/humanize/antidetect.py +221 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/humanize/math_utils.py +1 -1
- chutils-3.3.1/src/chutils/scraping/humanize/warmer.py +204 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/core.py +2 -2
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/providers/__init__.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/providers/aws.py +134 -134
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/providers/gcp.py +168 -168
- chutils-3.3.1/src/chutils/store/__init__.py +10 -0
- chutils-3.3.1/src/chutils/store/backends/__init__.py +11 -0
- chutils-3.3.1/src/chutils/store/backends/base.py +131 -0
- chutils-3.3.1/src/chutils/store/backends/memcached.py +211 -0
- chutils-3.3.1/src/chutils/store/backends/memory.py +156 -0
- chutils-3.3.1/src/chutils/store/backends/redis.py +191 -0
- chutils-3.3.1/src/chutils/store/decorator.py +84 -0
- chutils-3.3.1/src/chutils/store/manager.py +351 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/tasks/__init__.pyi +49 -49
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/tasks/core.py +17 -16
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/time.py +16 -5
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/tracing.py +1 -1
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/validation.py +5 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_setup_github_actions_integration.py +35 -35
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_dev_cmd.py +4 -4
- chutils-3.3.1/tests/unit/cli/test_cli_init_interactive.py +76 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_setup_github_actions.py +92 -92
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_validation_group.py +11 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_cache.py +129 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_time.py +7 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_ai_lint.py +200 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_changelog_parser.py +95 -95
- chutils-3.3.1/tests/unit/dev/test_cleaner.py +188 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_setup_github_actions.py +75 -75
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_upgrade_check_rule.py +55 -55
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_upgrade_client.py +106 -106
- chutils-3.3.1/tests/unit/dev/test_version_detector.py +175 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/di/test_di.py +42 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_basics.py +8 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_configuration.py +2 -2
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/tasks/test_scheduler.py +19 -0
- chutils-3.3.1/tests/unit/test_antidetect.py +133 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_audit.py +365 -365
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_audit_phase2.py +363 -363
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_crypto.py +17 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_dashboard.py +401 -401
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_db_init.py +256 -256
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_db_operations.py +258 -258
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_decorators_bulkhead.py +269 -269
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_http_api.py +213 -213
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_http_client.py +344 -344
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_http_fallback.py +407 -407
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_http_resilience.py +330 -330
- chutils-3.3.1/tests/unit/test_http_streaming.py +385 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_http_tracing.py +226 -226
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_install_hooks.py +6 -2
- chutils-3.3.1/tests/unit/test_nodriver_humanize.py +147 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_profile_imports.py +214 -214
- chutils-3.3.1/tests/unit/test_profile_warmer.py +132 -0
- chutils-3.3.1/tests/unit/test_store_backends_external.py +112 -0
- chutils-3.3.1/tests/unit/test_store_integrations.py +87 -0
- chutils-3.3.1/tests/unit/test_store_manager.py +76 -0
- chutils-3.3.1/tests/unit/test_store_memory.py +80 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_validation.py +9 -0
- {chutils-3.2.0 → chutils-3.3.1}/uv.lock +126 -2
- chutils-3.2.0/conductor/archive/audit_20260702/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/audit_20260702/plan.md +0 -31
- chutils-3.2.0/conductor/archive/audit_20260702/spec.md +0 -53
- chutils-3.2.0/conductor/archive/bulkhead_20260702/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/bulkhead_20260702/plan.md +0 -25
- chutils-3.2.0/conductor/archive/bulkhead_20260702/spec.md +0 -46
- chutils-3.2.0/conductor/archive/cloud_secret_managers_20260511/index.md +0 -5
- chutils-3.2.0/conductor/archive/cloud_secret_managers_20260511/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/cloud_secret_managers_20260511/plan.md +0 -36
- chutils-3.2.0/conductor/archive/cloud_secret_managers_20260511/spec.md +0 -42
- chutils-3.2.0/conductor/archive/custom_config_providers_20260714/index.md +0 -5
- chutils-3.2.0/conductor/archive/custom_config_providers_20260714/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/custom_config_providers_20260714/plan.md +0 -18
- chutils-3.2.0/conductor/archive/custom_config_providers_20260714/spec.md +0 -24
- chutils-3.2.0/conductor/archive/db_manager_20260707/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/db_manager_20260707/plan.md +0 -29
- chutils-3.2.0/conductor/archive/db_manager_20260707/spec.md +0 -41
- chutils-3.2.0/conductor/archive/db_migrations_cli_20260707/index.md +0 -5
- chutils-3.2.0/conductor/archive/db_migrations_cli_20260707/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/db_migrations_cli_20260707/plan.md +0 -27
- chutils-3.2.0/conductor/archive/db_migrations_cli_20260707/spec.md +0 -40
- chutils-3.2.0/conductor/archive/dev_dashboard_20260610/index.md +0 -5
- chutils-3.2.0/conductor/archive/dev_dashboard_20260610/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/dev_dashboard_20260610/plan.md +0 -39
- chutils-3.2.0/conductor/archive/dev_dashboard_20260610/spec.md +0 -43
- chutils-3.2.0/conductor/archive/http_20260702/index.md +0 -5
- chutils-3.2.0/conductor/archive/http_20260702/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/http_20260702/plan.md +0 -28
- chutils-3.2.0/conductor/archive/http_20260702/spec.md +0 -51
- chutils-3.2.0/conductor/archive/profile_imports_20260610/index.md +0 -5
- chutils-3.2.0/conductor/archive/profile_imports_20260610/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/profile_imports_20260610/plan.md +0 -42
- chutils-3.2.0/conductor/archive/profile_imports_20260610/spec.md +0 -40
- chutils-3.2.0/conductor/archive/setup_github_actions_20260714/index.md +0 -5
- chutils-3.2.0/conductor/archive/setup_github_actions_20260714/metadata.json +0 -8
- chutils-3.2.0/conductor/archive/setup_github_actions_20260714/plan.md +0 -28
- chutils-3.2.0/conductor/archive/setup_github_actions_20260714/spec.md +0 -27
- chutils-3.2.0/src/chutils/cache/decorator.py +0 -94
- chutils-3.2.0/src/chutils/commands/init.py +0 -151
- chutils-3.2.0/src/chutils/dev/rules/docstring.py +0 -218
- chutils-3.2.0/src/chutils/dev/version_detector.py +0 -114
- chutils-3.2.0/src/chutils/scraping/humanize/actions.py +0 -268
- chutils-3.2.0/src/chutils/scraping/humanize/antidetect.py +0 -123
- chutils-3.2.0/tests/unit/dev/test_version_detector.py +0 -102
- chutils-3.2.0/tests/unit/test_antidetect.py +0 -41
- {chutils-3.2.0 → chutils-3.3.1}/.gitattributes +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/.github/workflows/ci.yml +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/.github/workflows/publish-docs.yml +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/.gitignore +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/CODE_OF_CONDUCT.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/CONTRIBUTING.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/GEMINI.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/LICENSE +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/README.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/benchmarks/cold_start.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/.gitignore +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/GEMINI.md +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/cache_invalidation_20260714/index.md +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/cache_invalidation_20260714/metadata.json +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/cache_invalidation_20260714/plan.md +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/cache_invalidation_20260714/spec.md +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/dev_clean_20260707/index.md +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/dev_clean_20260707/metadata.json +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/dev_clean_20260707/spec.md +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/store_20260702/index.md +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/store_20260702/metadata.json +0 -0
- {chutils-3.2.0/conductor/tracks → chutils-3.3.1/conductor/archive}/store_20260702/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/code_styleguides/python.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/product-guidelines.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/product.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/setup_state.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tech-stack.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/ai_manifests_few_shot_20260713/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/ai_manifests_few_shot_20260713/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/ai_manifests_few_shot_20260713/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/ai_manifests_few_shot_20260713/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/config_remote_push_20260702/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/config_remote_push_20260702/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/config_remote_push_20260702/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/config_remote_push_20260702/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/dev_watch_20260702/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/dev_watch_20260702/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/dev_watch_20260702/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/dev_watch_20260702/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/docstring_audit_20260521/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/docstring_audit_20260521/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/docstring_audit_20260521/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/docstring_audit_20260521/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/fallback_alias_20260707/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/fallback_alias_20260707/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/fallback_alias_20260707/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/fallback_alias_20260707/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_integration_20260521/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_integration_20260521/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_integration_20260521/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_integration_20260521/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_typed_signals_20260521/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_typed_signals_20260521/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_typed_signals_20260521/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/qt_typed_signals_20260521/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/scraping_concurrency_20260707/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/scraping_concurrency_20260707/metadata.json +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/scraping_concurrency_20260707/plan.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/conductor/tracks/scraping_concurrency_20260707/spec.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/CODE_OF_CONDUCT_RU.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/CONTRIBUTING_RU.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/INTEGRATION_AI.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/README_RU.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/README.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/configuration/README.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/configuration/bad_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/configuration/good_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/error_handling/README.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/error_handling/bad_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/error_handling/good_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/logging/README.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/logging/bad_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/logging/good_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/optional_deps/README.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/optional_deps/bad_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/optional_deps/good_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/secrets/README.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/secrets/bad_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_examples/secrets/good_pattern.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_hints.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/ai_lint.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/api.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/captcha.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/config.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/env.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/init.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/pypi.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/secrets.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/show_paths.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/template.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/cli/validate.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/custom_config_providers.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/index.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/migration.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/plugins.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/testing.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/docs/web.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/.env +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/01_configuration.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/02_logging.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/03_secrets.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/04_full_example.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/05_different_log_levels.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/06_local_config_override.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/07_decorators_example.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/08_multiple_loggers_example.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/09_disable_keyring.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/10_universal_env_override.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/11_retry_decorator.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/12_secret_masking.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/13_pydantic_validation.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/15_context_logging.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/17_timeout_decorator.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/18_config_hot_reload.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/19_remote_config.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/20_opentelemetry_tracing.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/21_config_diagnostics.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/22_circuit_breaker_decorator.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/22_safe_path_resolution.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/23_event_bus.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/24_task_scheduler.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/25_testing_fixtures_example.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/26_metrics_prometheus.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/27_rate_limiting.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/28_dependency_injection.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/captcha_solvers_usage.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/config.yml +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/scraping_humanize_usage.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/examples/web_client_usage.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/mkdocs.yml +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/__main__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/antigravity.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/cache/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/cache/utils.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/cli.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/cli_booster.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/cli_utils.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/config.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/db.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/chat_context.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/diagnostics.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/few_shot.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/mock.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/scaffold.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/dev/sync_env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/paths.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/pypi.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/secrets.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/template.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/utils.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/commands/validate.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/GEMINI.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/ast_fallback_parser.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/core.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/diagnostics.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/generator.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/providers.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/schema.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/config/watcher.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/context.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/chat_context.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/constants.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/env_parser.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/env_sync.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/few_shot/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/few_shot/detector.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/few_shot/models.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/few_shot/renderer.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/few_shot/writer.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/mock_server.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/models/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/models/base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/models/index.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/models/node.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/models/symbol.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/dependency_sync.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/linter_coverage.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/manifest.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/rules/security.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/dev/scaffold.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/di/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/diagnostics/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/diagnostics/manager.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/diagnostics/models.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/diagnostics/web.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/env.pyi +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/events/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/cache.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/config.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/di.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/events.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/logger.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/resilience.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/secrets.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/system.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/validation.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/exceptions/watcher.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/features.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/fs.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/GEMINI.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/formatters.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/handlers.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/internal/builder.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/internal/levels.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/internal/utils.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/logger/masking.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/metrics/base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/metrics/in_memory.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/metrics/timer.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/plugins/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/plugins/interfaces.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/captcha/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/captcha/anticaptcha.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/captcha/base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/captcha/capmonster.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/captcha/exceptions.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/scraping/captcha/rucaptcha.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/GEMINI.md +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/providers/base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/providers/dotenv.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/providers/env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/secret_manager/providers/keyring_provider.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/tasks/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/testing/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/testing/fixtures.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/text.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/typing.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/validation.pyi +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/web/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/web/client.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/web/proxy_pool.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/src/chutils/web/user_agent.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/conftest.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/__init__.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_ai_lint_integration.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_cli_e2e.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_db_migrations.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_event_loops.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_examples.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_hooks_integration.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_masking_integration.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_otel_tracing.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/integration/test_remote_config_integration.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/manual/manual_test_cli_booster.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/conftest.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_booster.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_config.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_config_cmd.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_config_schema.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_dev.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_dev_tree.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_diagnostics.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_extras_suggestion.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_init.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_paths.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_pypi.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_rich.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_rich_width.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_secrets.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_template.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_utils_internal.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/cli/test_cli_validate.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_ast_parser.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_dev.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_diagnostics.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_env_loading.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_generator.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_json.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_pydantic.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_required.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_schema.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_tracing.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_universal_env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_utils.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_config_watcher.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_custom_config_providers.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_priority_unification.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/config/test_remote_config.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_ast_indexer.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_ast_indexer_abstract.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_ast_indexer_graph.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_ast_indexer_layers.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_ast_indexer_metadata.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_dev_models.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_exceptions.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_features.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_fs.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_lifecycle.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/core/test_thread_safety.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/decorators/test_decorator_circuit_breaker.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/decorators/test_decorator_retry.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/decorators/test_decorator_timeout.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/decorators/test_decorators.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/decorators/test_rate_limit.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_ai_lint_staged.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_chat_context.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_env_parser.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_env_sync.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_generate_few_shot.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_linter_coverage_rule.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_mock_server.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/dev/test_scaffold.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/events/test_event_bus.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/conftest.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_compression.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_config_sections.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_context.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_env_control.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_files.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_json_format.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_logger_rich_width.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_masking.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_performance_security.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_rich.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/logger/test_rotation.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/metrics/test_metrics.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/plugins/test_integration.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/plugins/test_interfaces.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/plugins/test_plugins.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/secret_manager/test_secret_manager.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/secret_manager/test_secret_manager_env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/secret_manager/test_secret_manager_providers.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/secret_manager/test_secrets_required.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_ai_lint_ignore.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_anticaptcha.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_async_web_client.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_capmonster.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_captcha_base.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_captcha_imports.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_cli_db.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_crypto_dependencies.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_diagnostics.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_env.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_events_exception_group.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_humanize_math.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_minimal_imports.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_playwright_humanize.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_proxy_pool.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_rucaptcha.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_scraping_imports.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_selenium_humanize.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_text.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_text_dependencies.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_user_agent.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_web_client.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/test_web_imports.py +0 -0
- {chutils-3.2.0 → chutils-3.3.1}/tests/unit/testing/test_fixtures.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
.idea/
|
|
2
|
-
.pytest_cache/
|
|
3
|
-
.venv/
|
|
4
|
-
dist/
|
|
5
|
-
build/
|
|
6
|
-
*.egg-info/
|
|
1
|
+
.idea/
|
|
2
|
+
.pytest_cache/
|
|
3
|
+
.venv/
|
|
4
|
+
dist/
|
|
5
|
+
build/
|
|
6
|
+
*.egg-info/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chutils
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.3.1
|
|
4
4
|
Summary: Набор простых и удобных утилит для Python, который избавляет от рутины при работе с конфигурацией и логированием в новых проектах.
|
|
5
5
|
Author-email: Chu4hel <sergeiivanov636@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -41,6 +41,7 @@ Requires-Dist: rapidfuzz>=3.9.0; extra == 'full'
|
|
|
41
41
|
Requires-Dist: rich>=15.0.0; extra == 'full'
|
|
42
42
|
Requires-Dist: selenium>=4.27.0; extra == 'full'
|
|
43
43
|
Requires-Dist: watchdog>=6.0.0; extra == 'full'
|
|
44
|
+
Requires-Dist: websockets>=14.0.0; extra == 'full'
|
|
44
45
|
Provides-Extra: gcp
|
|
45
46
|
Requires-Dist: google-cloud-secret-manager>=2.20.0; extra == 'gcp'
|
|
46
47
|
Provides-Extra: json
|
|
@@ -68,6 +69,8 @@ Provides-Extra: watch
|
|
|
68
69
|
Requires-Dist: watchdog>=6.0.0; extra == 'watch'
|
|
69
70
|
Provides-Extra: web
|
|
70
71
|
Requires-Dist: httpx>=0.27.0; extra == 'web'
|
|
72
|
+
Provides-Extra: websockets
|
|
73
|
+
Requires-Dist: websockets>=14.0.0; extra == 'websockets'
|
|
71
74
|
Description-Content-Type: text/markdown
|
|
72
75
|
|
|
73
76
|
[Русская версия](docs/README_RU.md)
|
|
@@ -26,11 +26,13 @@
|
|
|
26
26
|
"src/chutils/secret_manager/**/*.py" = ["docs/api.md"]
|
|
27
27
|
|
|
28
28
|
# ---------------------------------------------------------------------------
|
|
29
|
-
# Модуль cache
|
|
29
|
+
# Модуль cache и store
|
|
30
30
|
# ---------------------------------------------------------------------------
|
|
31
31
|
|
|
32
32
|
# Изменения кэша влияют на API и рецепты (там есть примеры использования)
|
|
33
33
|
"src/chutils/cache/**/*.py" = ["docs/api.md", "docs/recipes.md"]
|
|
34
|
+
"src/chutils/store/**/*.py" = ["docs/store.md", "docs/api.md"]
|
|
35
|
+
"new:src/chutils/store/**/*.py" = ["docs/store.md"]
|
|
34
36
|
|
|
35
37
|
# ---------------------------------------------------------------------------
|
|
36
38
|
# Модуль events (шина событий)
|
|
@@ -144,9 +146,11 @@
|
|
|
144
146
|
"src/chutils/testing/**/*.py" = ["docs/testing.md"]
|
|
145
147
|
|
|
146
148
|
# ---------------------------------------------------------------------------
|
|
147
|
-
# HTTP-клиент
|
|
149
|
+
# HTTP-клиент и Стриминг
|
|
148
150
|
# ---------------------------------------------------------------------------
|
|
149
151
|
|
|
152
|
+
"src/chutils/http/**/*.py" = ["docs/http.md", "docs/api.md"]
|
|
153
|
+
"new:src/chutils/http/streaming.py" = ["docs/http.md"]
|
|
150
154
|
"src/chutils/web/**/*.py" = ["docs/web.md"]
|
|
151
155
|
|
|
152
156
|
# ---------------------------------------------------------------------------
|