chutils 2.8.0__tar.gz → 2.9.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.
- {chutils-2.8.0 → chutils-2.9.0}/PKG-INFO +12 -3
- {chutils-2.8.0 → chutils-2.9.0}/README.md +380 -380
- {chutils-2.8.0 → chutils-2.9.0}/pyproject.toml +12 -1
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/__init__.py +53 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/__init__.pyi +173 -1
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cache/in_memory.py +39 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/config.py +18 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/dev.py +107 -62
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/init.py +2 -3
- chutils-2.9.0/src/chutils/config/ast_fallback_parser.py +137 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/core.py +52 -2
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/getters.py +2 -2
- chutils-2.9.0/src/chutils/crypto.py +163 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/decorators.py +205 -1
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/dev/ast_indexer.py +115 -8
- chutils-2.9.0/src/chutils/di/__init__.py +9 -0
- chutils-2.9.0/src/chutils/di/container.py +302 -0
- chutils-2.9.0/src/chutils/events/__init__.py +23 -0
- chutils-2.9.0/src/chutils/events/core.py +257 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/exceptions.py +47 -0
- chutils-2.9.0/src/chutils/fs.py +461 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/__init__.py +2 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/core.py +45 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/internal/builder.py +22 -0
- chutils-2.9.0/src/chutils/metrics/__init__.py +135 -0
- chutils-2.9.0/src/chutils/metrics/base.py +43 -0
- chutils-2.9.0/src/chutils/metrics/in_memory.py +141 -0
- chutils-2.9.0/src/chutils/metrics/prometheus.py +88 -0
- chutils-2.9.0/src/chutils/metrics/timer.py +72 -0
- chutils-2.9.0/src/chutils/plugins/__init__.py +24 -0
- chutils-2.9.0/src/chutils/plugins/core.py +124 -0
- chutils-2.9.0/src/chutils/plugins/interfaces.py +74 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/secret_manager/core.py +17 -0
- chutils-2.9.0/src/chutils/tasks/__init__.py +22 -0
- chutils-2.9.0/src/chutils/tasks/core.py +254 -0
- chutils-2.9.0/src/chutils/text.py +58 -0
- chutils-2.8.0/src/chutils/fs.py +0 -179
- {chutils-2.8.0 → chutils-2.9.0}/LICENSE +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/__main__.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cache/__init__.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cache/base.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cache/decorator.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cache/utils.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cli.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cli_booster.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/cli_utils.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/__init__.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/base.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/paths.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/secrets.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/template.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/utils.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/commands/validate.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/GEMINI.md +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/__init__.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/dev.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/diagnostics.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/generator.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/manager.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/providers.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/schema.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/utils.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/config/watcher.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/context.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/dev/__init__.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/dev/ai_lint.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/dev/models.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/dev/rules.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/env.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/features.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/lifecycle.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/GEMINI.md +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/formatters.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/handlers.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/internal/levels.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/internal/utils.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/logger/masking.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/secret_manager/GEMINI.md +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/secret_manager/__init__.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/secret_manager/providers.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/testing/__init__.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/testing/fixtures.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/time.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/tracing.py +0 -0
- {chutils-2.8.0 → chutils-2.9.0}/src/chutils/typing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: chutils
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.9.0
|
|
4
4
|
Summary: Набор простых и удобных утилит для Python, который избавляет от рутины при работе с конфигурацией и логированием в новых проектах.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -13,15 +13,20 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
+
Provides-Extra: crypto
|
|
16
17
|
Provides-Extra: date
|
|
17
18
|
Provides-Extra: full
|
|
18
19
|
Provides-Extra: json
|
|
20
|
+
Provides-Extra: metrics
|
|
19
21
|
Provides-Extra: otel
|
|
20
22
|
Provides-Extra: pydantic
|
|
21
23
|
Provides-Extra: rich
|
|
22
24
|
Provides-Extra: secrets
|
|
23
25
|
Provides-Extra: testing
|
|
26
|
+
Provides-Extra: text
|
|
24
27
|
Provides-Extra: watch
|
|
28
|
+
Requires-Dist: cryptography (>=42.0.0) ; extra == "crypto"
|
|
29
|
+
Requires-Dist: cryptography (>=42.0.0) ; extra == "full"
|
|
25
30
|
Requires-Dist: keyring (>=25.7.0)
|
|
26
31
|
Requires-Dist: keyring (>=25.7.0) ; extra == "full"
|
|
27
32
|
Requires-Dist: keyring (>=25.7.0) ; extra == "secrets"
|
|
@@ -31,6 +36,8 @@ Requires-Dist: opentelemetry-exporter-otlp (>=1.41.1) ; extra == "full"
|
|
|
31
36
|
Requires-Dist: opentelemetry-exporter-otlp (>=1.41.1) ; extra == "otel"
|
|
32
37
|
Requires-Dist: opentelemetry-sdk (>=1.41.1) ; extra == "full"
|
|
33
38
|
Requires-Dist: opentelemetry-sdk (>=1.41.1) ; extra == "otel"
|
|
39
|
+
Requires-Dist: prometheus-client (>=0.20.0,<1.0.0) ; extra == "full"
|
|
40
|
+
Requires-Dist: prometheus-client (>=0.20.0,<1.0.0) ; extra == "metrics"
|
|
34
41
|
Requires-Dist: pydantic (>=2.13.4) ; extra == "full"
|
|
35
42
|
Requires-Dist: pydantic (>=2.13.4,<3.0.0) ; extra == "pydantic"
|
|
36
43
|
Requires-Dist: pytest (>=8.0.0) ; (python_full_version < "3.10.0") and (extra == "full")
|
|
@@ -44,6 +51,8 @@ Requires-Dist: python-dotenv (>=1.2.2) ; python_full_version >= "3.10.0"
|
|
|
44
51
|
Requires-Dist: python-json-logger (>=3.2.1) ; extra == "full"
|
|
45
52
|
Requires-Dist: python-json-logger (>=3.2.1) ; extra == "json"
|
|
46
53
|
Requires-Dist: pyyaml (>=6.0.3)
|
|
54
|
+
Requires-Dist: rapidfuzz (>=3.9.0) ; extra == "full"
|
|
55
|
+
Requires-Dist: rapidfuzz (>=3.9.0) ; extra == "text"
|
|
47
56
|
Requires-Dist: rich (>=15.0.0) ; extra == "full"
|
|
48
57
|
Requires-Dist: rich (>=15.0.0) ; extra == "rich"
|
|
49
58
|
Requires-Dist: typing-extensions (>=4.15.0,<5.0.0)
|
|
@@ -217,10 +226,10 @@ To use this feature, install `watchdog`:
|
|
|
217
226
|
1. Configure and use the logger:
|
|
218
227
|
|
|
219
228
|
```python
|
|
220
|
-
from chutils import
|
|
229
|
+
from chutils import setup_logger_from_config, ChutilsLogger
|
|
221
230
|
|
|
222
231
|
# Automatically reads settings from [Logging] section in config.yml
|
|
223
|
-
logger: ChutilsLogger =
|
|
232
|
+
logger: ChutilsLogger = setup_logger_from_config()
|
|
224
233
|
|
|
225
234
|
logger.info("Application started.")
|
|
226
235
|
logger.devdebug("Deep debug message (level 9).")
|