logeverything 0.1.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. logeverything-0.1.3/LICENSE +21 -0
  2. logeverything-0.1.3/PKG-INFO +484 -0
  3. logeverything-0.1.3/README.md +385 -0
  4. logeverything-0.1.3/benchmarks/_profile_hotpath.py +93 -0
  5. logeverything-0.1.3/benchmarks/async_logging.py +280 -0
  6. logeverything-0.1.3/benchmarks/check_baseline.py +263 -0
  7. logeverything-0.1.3/benchmarks/compare.py +250 -0
  8. logeverything-0.1.3/benchmarks/context_managers.py +213 -0
  9. logeverything-0.1.3/benchmarks/core_logging.py +193 -0
  10. logeverything-0.1.3/benchmarks/decorators.py +259 -0
  11. logeverything-0.1.3/benchmarks/external_loggers.py +208 -0
  12. logeverything-0.1.3/benchmarks/optimize.py +435 -0
  13. logeverything-0.1.3/benchmarks/print_capture.py +242 -0
  14. logeverything-0.1.3/benchmarks/run_benchmarks.py +131 -0
  15. logeverything-0.1.3/benchmarks/test_integration.py +148 -0
  16. logeverything-0.1.3/benchmarks/utils.py +311 -0
  17. logeverything-0.1.3/benchmarks/visualize.py +532 -0
  18. logeverything-0.1.3/docs/source/_extensions/__init__.py +1 -0
  19. logeverything-0.1.3/docs/source/_extensions/executable_code.py +462 -0
  20. logeverything-0.1.3/docs/source/conf.py +114 -0
  21. logeverything-0.1.3/examples/01_getting_started/basic_usage.py +185 -0
  22. logeverything-0.1.3/examples/01_getting_started/cheatsheet.py +259 -0
  23. logeverything-0.1.3/examples/01_getting_started/logger_creation_methods.py +136 -0
  24. logeverything-0.1.3/examples/01_getting_started/logger_creation_shared.py +274 -0
  25. logeverything-0.1.3/examples/01_getting_started/modernized_usage.py +175 -0
  26. logeverything-0.1.3/examples/01_getting_started/simple_visual_alignment.py +72 -0
  27. logeverything-0.1.3/examples/01_getting_started/simplified_config_example.py +83 -0
  28. logeverything-0.1.3/examples/01_getting_started/simplified_imports.py +99 -0
  29. logeverything-0.1.3/examples/01_getting_started/unified_logger_example.py +361 -0
  30. logeverything-0.1.3/examples/02_core_features/comprehensive_decorators_example.py +320 -0
  31. logeverything-0.1.3/examples/02_core_features/custom_handlers_example.py +220 -0
  32. logeverything-0.1.3/examples/02_core_features/decorator_enhancement_examples.py +287 -0
  33. logeverything-0.1.3/examples/02_core_features/decorator_imports_example.py +0 -0
  34. logeverything-0.1.3/examples/02_core_features/decorator_visual_alignment.py +134 -0
  35. logeverything-0.1.3/examples/02_core_features/hierarchy_fields_example.py +254 -0
  36. logeverything-0.1.3/examples/02_core_features/logger_hierarchy_example.py +207 -0
  37. logeverything-0.1.3/examples/02_core_features/print_capture_example.py +90 -0
  38. logeverything-0.1.3/examples/02_core_features/profiles_demo.py +242 -0
  39. logeverything-0.1.3/examples/02_core_features/rotation_handlers_example.py +175 -0
  40. logeverything-0.1.3/examples/02_core_features/smart_decorator_basic.py +86 -0
  41. logeverything-0.1.3/examples/02_core_features/smart_decorator_example.py +94 -0
  42. logeverything-0.1.3/examples/02_core_features/visual_formatting_example.py +300 -0
  43. logeverything-0.1.3/examples/02_core_features/visual_vs_standard_comparison.py +173 -0
  44. logeverything-0.1.3/examples/03_async_logging/async_context_demo.py +51 -0
  45. logeverything-0.1.3/examples/03_async_logging/async_context_explanation.py +134 -0
  46. logeverything-0.1.3/examples/03_async_logging/async_context_test.py +47 -0
  47. logeverything-0.1.3/examples/03_async_logging/async_log_class_example.py +78 -0
  48. logeverything-0.1.3/examples/03_async_logging/async_logger_example.py +0 -0
  49. logeverything-0.1.3/examples/03_async_logging/async_web_app_example.py +445 -0
  50. logeverything-0.1.3/examples/03_async_logging/high_performance_async_example.py +273 -0
  51. logeverything-0.1.3/examples/03_async_logging/logger_comparison.py +67 -0
  52. logeverything-0.1.3/examples/04_async_services/clean_async_services.py +143 -0
  53. logeverything-0.1.3/examples/04_async_services/minimal_clean_example.py +113 -0
  54. logeverything-0.1.3/examples/04_async_services/production_grade_example.py +508 -0
  55. logeverything-0.1.3/examples/04_context_managers/advanced_context_managers_example.py +355 -0
  56. logeverything-0.1.3/examples/04_context_managers/context_managers_comprehensive.py +327 -0
  57. logeverything-0.1.3/examples/04_context_managers/context_managers_example.py +193 -0
  58. logeverything-0.1.3/examples/04_context_managers/django_context_managers.py +391 -0
  59. logeverything-0.1.3/examples/04_context_managers/fastapi_context_managers.py +424 -0
  60. logeverything-0.1.3/examples/04_context_managers/pytorch_context_managers.py +796 -0
  61. logeverything-0.1.3/examples/04_context_managers/sqlalchemy_context_managers.py +393 -0
  62. logeverything-0.1.3/examples/04_context_managers/tensorflow_context_managers.py +488 -0
  63. logeverything-0.1.3/examples/05_web_frameworks/django_integration.py +102 -0
  64. logeverything-0.1.3/examples/05_web_frameworks/fastapi_example.py +129 -0
  65. logeverything-0.1.3/examples/05_web_frameworks/fastapi_integration.py +144 -0
  66. logeverything-0.1.3/examples/05_web_frameworks/fastapi_integration_example.py +497 -0
  67. logeverything-0.1.3/examples/05_web_frameworks/flask_integration_contexts.py +331 -0
  68. logeverything-0.1.3/examples/06_data_science/data_science_pipeline_example.py +502 -0
  69. logeverything-0.1.3/examples/06_data_science/datascience_contexts.py +335 -0
  70. logeverything-0.1.3/examples/06_data_science/datascience_pipeline.py +251 -0
  71. logeverything-0.1.3/examples/07_integrations/common_loggers_configuration.py +214 -0
  72. logeverything-0.1.3/examples/07_integrations/external_loggers_example.py +103 -0
  73. logeverything-0.1.3/examples/07_integrations/integration_demo.py +299 -0
  74. logeverything-0.1.3/examples/07_integrations/monitoring_integration_example.py +284 -0
  75. logeverything-0.1.3/examples/08_advanced/base_logger_architecture.py +122 -0
  76. logeverything-0.1.3/examples/08_advanced/intelligent_type_casting.py +502 -0
  77. logeverything-0.1.3/examples/08_advanced/intelligent_type_casting_demo.py +291 -0
  78. logeverything-0.1.3/examples/08_advanced/modernized_usage.py +308 -0
  79. logeverything-0.1.3/examples/08_advanced/multi_level_visual_alignment.py +181 -0
  80. logeverything-0.1.3/examples/08_advanced/optional_dependencies_example.py +67 -0
  81. logeverything-0.1.3/examples/08_advanced/production_logging_architecture.py +734 -0
  82. logeverything-0.1.3/examples/08_advanced/simple_type_casting_demo.py +164 -0
  83. logeverything-0.1.3/examples/09_migration/api_migration_guide.py +0 -0
  84. logeverything-0.1.3/examples/09_migration/fixed_async_services.py +256 -0
  85. logeverything-0.1.3/logeverything/__init__.py +136 -0
  86. logeverything-0.1.3/logeverything/__main__.py +5 -0
  87. logeverything-0.1.3/logeverything/asyncio/__init__.py +70 -0
  88. logeverything-0.1.3/logeverything/asyncio/async_logger.py +889 -0
  89. logeverything-0.1.3/logeverything/asyncio/async_logging.py +1133 -0
  90. logeverything-0.1.3/logeverything/base/__init__.py +10 -0
  91. logeverything-0.1.3/logeverything/base/base_logger.py +366 -0
  92. logeverything-0.1.3/logeverything/capture/__init__.py +39 -0
  93. logeverything-0.1.3/logeverything/capture/print_capture.py +427 -0
  94. logeverything-0.1.3/logeverything/cli.py +188 -0
  95. logeverything-0.1.3/logeverything/contexts/__init__.py +55 -0
  96. logeverything-0.1.3/logeverything/contexts/contexts.py +455 -0
  97. logeverything-0.1.3/logeverything/core.py +1649 -0
  98. logeverything-0.1.3/logeverything/correlation.py +142 -0
  99. logeverything-0.1.3/logeverything/decorators/__init__.py +61 -0
  100. logeverything-0.1.3/logeverything/decorators/decorators.py +709 -0
  101. logeverything-0.1.3/logeverything/decorators/smart_decorator.py +155 -0
  102. logeverything-0.1.3/logeverything/external/__init__.py +47 -0
  103. logeverything-0.1.3/logeverything/external/external.py +508 -0
  104. logeverything-0.1.3/logeverything/handlers/__init__.py +33 -0
  105. logeverything-0.1.3/logeverything/handlers/handlers.py +1491 -0
  106. logeverything-0.1.3/logeverything/hierarchy.py +46 -0
  107. logeverything-0.1.3/logeverything/indent_manager.py +575 -0
  108. logeverything-0.1.3/logeverything/integrations/__init__.py +15 -0
  109. logeverything-0.1.3/logeverything/integrations/asgi.py +107 -0
  110. logeverything-0.1.3/logeverything/integrations/celery.py +105 -0
  111. logeverything-0.1.3/logeverything/integrations/django.py +112 -0
  112. logeverything-0.1.3/logeverything/integrations/fastapi.py +107 -0
  113. logeverything-0.1.3/logeverything/integrations/flask.py +124 -0
  114. logeverything-0.1.3/logeverything/integrations/wsgi.py +79 -0
  115. logeverything-0.1.3/logeverything/logger.py +844 -0
  116. logeverything-0.1.3/logeverything/monitoring/__init__.py +59 -0
  117. logeverything-0.1.3/logeverything/monitoring/api_server.py +365 -0
  118. logeverything-0.1.3/logeverything/monitoring/core.py +207 -0
  119. logeverything-0.1.3/logeverything/monitoring/logger.py +279 -0
  120. logeverything-0.1.3/logeverything/monitoring/metrics.py +348 -0
  121. logeverything-0.1.3/logeverything/monitoring/storage.py +587 -0
  122. logeverything-0.1.3/logeverything/profiles/__init__.py +9 -0
  123. logeverything-0.1.3/logeverything/profiles/profiles.py +237 -0
  124. logeverything-0.1.3/logeverything/py.typed +0 -0
  125. logeverything-0.1.3/logeverything/transport/__init__.py +12 -0
  126. logeverything-0.1.3/logeverything/transport/buffer.py +138 -0
  127. logeverything-0.1.3/logeverything/transport/http.py +117 -0
  128. logeverything-0.1.3/logeverything/transport/tcp.py +137 -0
  129. logeverything-0.1.3/logeverything/transport/udp.py +112 -0
  130. logeverything-0.1.3/logeverything/utils/__init__.py +37 -0
  131. logeverything-0.1.3/logeverything/utils/format_utils.py +71 -0
  132. logeverything-0.1.3/logeverything/utils/levels.py +11 -0
  133. logeverything-0.1.3/logeverything/utils/monitoring.py +179 -0
  134. logeverything-0.1.3/logeverything/utils/path_utils.py +72 -0
  135. logeverything-0.1.3/logeverything/utils/platform_utils.py +52 -0
  136. logeverything-0.1.3/logeverything-dashboard/dashboard/__init__.py +10 -0
  137. logeverything-0.1.3/logeverything-dashboard/dashboard/cli.py +100 -0
  138. logeverything-0.1.3/logeverything-dashboard/dashboard/compile_scss.py +91 -0
  139. logeverything-0.1.3/logeverything-dashboard/dashboard/config.py +191 -0
  140. logeverything-0.1.3/logeverything-dashboard/dashboard/connection_routes.py +110 -0
  141. logeverything-0.1.3/logeverything-dashboard/dashboard/connections.py +122 -0
  142. logeverything-0.1.3/logeverything-dashboard/dashboard/main.py +559 -0
  143. logeverything-0.1.3/logeverything-dashboard/dashboard/models.py +87 -0
  144. logeverything-0.1.3/logeverything-dashboard/dashboard/py.typed +0 -0
  145. logeverything-0.1.3/logeverything-dashboard/dashboard/services.py +1397 -0
  146. logeverything-0.1.3/logeverything-dashboard/dashboard/templates.py +259 -0
  147. logeverything-0.1.3/logeverything-dashboard/run_dashboard.py +97 -0
  148. logeverything-0.1.3/logeverything.egg-info/PKG-INFO +484 -0
  149. logeverything-0.1.3/logeverything.egg-info/SOURCES.txt +226 -0
  150. logeverything-0.1.3/logeverything.egg-info/dependency_links.txt +1 -0
  151. logeverything-0.1.3/logeverything.egg-info/not-zip-safe +1 -0
  152. logeverything-0.1.3/logeverything.egg-info/requires.txt +80 -0
  153. logeverything-0.1.3/logeverything.egg-info/top_level.txt +7 -0
  154. logeverything-0.1.3/pyproject.toml +223 -0
  155. logeverything-0.1.3/setup.cfg +131 -0
  156. logeverything-0.1.3/setup.py +4 -0
  157. logeverything-0.1.3/tests/test_additional_integrations.py +430 -0
  158. logeverything-0.1.3/tests/test_async_logging.py +164 -0
  159. logeverything-0.1.3/tests/test_async_logging_enhanced.py +682 -0
  160. logeverything-0.1.3/tests/test_base_logger.py +253 -0
  161. logeverything-0.1.3/tests/test_basics.py +435 -0
  162. logeverything-0.1.3/tests/test_buffer.py +254 -0
  163. logeverything-0.1.3/tests/test_cli.py +51 -0
  164. logeverything-0.1.3/tests/test_configuration.py +312 -0
  165. logeverything-0.1.3/tests/test_contexts.py +283 -0
  166. logeverything-0.1.3/tests/test_core_enhanced.py +573 -0
  167. logeverything-0.1.3/tests/test_decorator_integration.py +316 -0
  168. logeverything-0.1.3/tests/test_decorator_logger_selection.py +510 -0
  169. logeverything-0.1.3/tests/test_decorators_enhanced.py +467 -0
  170. logeverything-0.1.3/tests/test_enhanced_visuals.py +442 -0
  171. logeverything-0.1.3/tests/test_environment_detection.py +47 -0
  172. logeverything-0.1.3/tests/test_external_loggers.py +664 -0
  173. logeverything-0.1.3/tests/test_fastapi_integration.py +378 -0
  174. logeverything-0.1.3/tests/test_handlers.py +286 -0
  175. logeverything-0.1.3/tests/test_integration_pipeline.py +116 -0
  176. logeverything-0.1.3/tests/test_intelligent_type_casting.py +498 -0
  177. logeverything-0.1.3/tests/test_jsonl_formatter.py +189 -0
  178. logeverything-0.1.3/tests/test_library_integrations.py +523 -0
  179. logeverything-0.1.3/tests/test_logger_class.py +183 -0
  180. logeverything-0.1.3/tests/test_logger_deletion_cleanup.py +424 -0
  181. logeverything-0.1.3/tests/test_mlflow_integration.py +396 -0
  182. logeverything-0.1.3/tests/test_monitoring_storage.py +703 -0
  183. logeverything-0.1.3/tests/test_print_capture.py +307 -0
  184. logeverything-0.1.3/tests/test_profiles.py +131 -0
  185. logeverything-0.1.3/tests/test_rotation_handlers.py +222 -0
  186. logeverything-0.1.3/tests/test_simplified_config.py +159 -0
  187. logeverything-0.1.3/tests/test_smart_decorator.py +836 -0
  188. logeverything-0.1.3/tests/test_thread_leak_detection.py +230 -0
  189. logeverything-0.1.3/tests/test_transport_http.py +142 -0
  190. logeverything-0.1.3/tests/test_transport_tcp.py +126 -0
  191. logeverything-0.1.3/tests/test_transport_udp.py +84 -0
  192. logeverything-0.1.3/tests/test_unicode_compatibility.py +326 -0
  193. logeverything-0.1.3/tests/test_visual_output.py +564 -0
  194. logeverything-0.1.3/tests/visual/analyze_alignment.py +0 -0
  195. logeverything-0.1.3/tests/visual/analyze_info_emoji.py +0 -0
  196. logeverything-0.1.3/tests/visual/clean_output_test.py +59 -0
  197. logeverything-0.1.3/tests/visual/clean_pipe_test.py +0 -0
  198. logeverything-0.1.3/tests/visual/compact_hierarchy_demo.py +0 -0
  199. logeverything-0.1.3/tests/visual/debug_pipes.py +0 -0
  200. logeverything-0.1.3/tests/visual/enhanced_hierarchy_demo.py +0 -0
  201. logeverything-0.1.3/tests/visual/enhancement_proposals.py +0 -0
  202. logeverything-0.1.3/tests/visual/final_alignment_solution.py +104 -0
  203. logeverything-0.1.3/tests/visual/final_pipe_test.py +0 -0
  204. logeverything-0.1.3/tests/visual/improved_hierarchy_demo.py +0 -0
  205. logeverything-0.1.3/tests/visual/interactive_inspector.py +0 -0
  206. logeverything-0.1.3/tests/visual/investigate_info_emoji.py +0 -0
  207. logeverything-0.1.3/tests/visual/real_hierarchy_demo.py +0 -0
  208. logeverything-0.1.3/tests/visual/test_alignment_issue.py +62 -0
  209. logeverything-0.1.3/tests/visual/test_builtin_pipes.py +0 -0
  210. logeverything-0.1.3/tests/visual/test_emoji_fixes.py +0 -0
  211. logeverything-0.1.3/tests/visual/test_emoji_padding.py +0 -0
  212. logeverything-0.1.3/tests/visual/test_fixed_info_alignment.py +0 -0
  213. logeverything-0.1.3/tests/visual/test_hierarchical_clean.py +110 -0
  214. logeverything-0.1.3/tests/visual/test_hierarchy.py +0 -0
  215. logeverything-0.1.3/tests/visual/test_improved_handlers.py +0 -0
  216. logeverything-0.1.3/tests/visual/test_monospace_alignment.py +0 -0
  217. logeverything-0.1.3/tests/visual/test_new_logger.py +49 -0
  218. logeverything-0.1.3/tests/visual/test_no_emoji_alignment.py +0 -0
  219. logeverything-0.1.3/tests/visual/test_optimal_tabs.py +0 -0
  220. logeverything-0.1.3/tests/visual/test_pipe_emoji_approach.py +0 -0
  221. logeverything-0.1.3/tests/visual/test_real_hierarchical.py +0 -0
  222. logeverything-0.1.3/tests/visual/test_simple_pipes.py +0 -0
  223. logeverything-0.1.3/tests/visual/test_tab_formatter.py +0 -0
  224. logeverything-0.1.3/tests/visual/test_tabs_alignment.py +0 -0
  225. logeverything-0.1.3/tests/visual/visual_prototypes.py +0 -0
  226. logeverything-0.1.3/tests/visual/visual_test_suite.py +442 -0
  227. logeverything-0.1.3/tests/visual/working_hierarchy_demo.py +0 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 LogEverything Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,484 @@
1
+ Metadata-Version: 2.4
2
+ Name: logeverything
3
+ Version: 0.1.3
4
+ Summary: A comprehensive logging library for Python applications with minimal code changes
5
+ Home-page: https://github.com/RamishSiddiqui/logeverything
6
+ Author: Muhammad Ramish Siddiqui
7
+ Author-email: Muhammad Ramish Siddiqui <ramishsiddique46@gmail.com>
8
+ License: MIT
9
+ Project-URL: Documentation, https://logeverything.readthedocs.io/
10
+ Project-URL: Source, https://github.com/RamishSiddiqui/logeverything
11
+ Project-URL: Tracker, https://github.com/RamishSiddiqui/logeverything/issues
12
+ Keywords: logging,log,debug,tracing,performance,monitoring,visualization,hierarchical,decorators
13
+ Platform: unix
14
+ Platform: linux
15
+ Platform: osx
16
+ Platform: cygwin
17
+ Platform: win32
18
+ Classifier: Development Status :: 3 - Alpha
19
+ Classifier: Intended Audience :: Developers
20
+ Classifier: License :: OSI Approved :: MIT License
21
+ Classifier: Programming Language :: Python :: 3
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Classifier: Topic :: System :: Logging
28
+ Requires-Python: >=3.9
29
+ Description-Content-Type: text/markdown
30
+ License-File: LICENSE
31
+ Requires-Dist: colorama>=0.4.4
32
+ Provides-Extra: dev
33
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
34
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
35
+ Requires-Dist: pytest-xdist>=3.0.0; extra == "dev"
36
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
37
+ Requires-Dist: ruff>=0.1.6; extra == "dev"
38
+ Requires-Dist: mypy>=0.971; extra == "dev"
39
+ Requires-Dist: bandit>=1.7.0; extra == "dev"
40
+ Requires-Dist: sphinx>=5.0.0; extra == "dev"
41
+ Requires-Dist: furo>=2023.5.20; extra == "dev"
42
+ Requires-Dist: sphinx-autodoc-typehints>=1.18.0; extra == "dev"
43
+ Requires-Dist: myst-parser>=2.0.0; extra == "dev"
44
+ Requires-Dist: build>=0.8.0; extra == "dev"
45
+ Requires-Dist: twine>=4.0.0; extra == "dev"
46
+ Requires-Dist: wheel>=0.38.0; extra == "dev"
47
+ Requires-Dist: pre-commit>=3.3.2; extra == "dev"
48
+ Provides-Extra: test
49
+ Requires-Dist: pytest>=7.0.0; extra == "test"
50
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
51
+ Requires-Dist: pytest-xdist>=3.0.0; extra == "test"
52
+ Provides-Extra: docs
53
+ Requires-Dist: sphinx>=5.0.0; extra == "docs"
54
+ Requires-Dist: furo>=2023.5.20; extra == "docs"
55
+ Requires-Dist: sphinx-autodoc-typehints>=1.18.0; extra == "docs"
56
+ Requires-Dist: myst-parser>=2.0.0; extra == "docs"
57
+ Provides-Extra: full
58
+ Requires-Dist: rich>=10.0.0; extra == "full"
59
+ Requires-Dist: orjson>=3.5.0; extra == "full"
60
+ Requires-Dist: fastapi>=0.68.0; extra == "full"
61
+ Requires-Dist: requests>=2.25.0; extra == "full"
62
+ Requires-Dist: sqlalchemy>=1.4.0; extra == "full"
63
+ Requires-Dist: pydantic>=1.8.0; extra == "full"
64
+ Requires-Dist: prometheus-client>=0.12.0; extra == "full"
65
+ Requires-Dist: elasticsearch>=7.0.0; extra == "full"
66
+ Requires-Dist: mlflow>=1.0.0; extra == "full"
67
+ Requires-Dist: pillow>=9.0.0; extra == "full"
68
+ Provides-Extra: web
69
+ Requires-Dist: fastapi>=0.68.0; extra == "web"
70
+ Requires-Dist: starlette>=0.14.0; extra == "web"
71
+ Requires-Dist: flask>=2.0.0; extra == "web"
72
+ Requires-Dist: django>=3.2.0; extra == "web"
73
+ Provides-Extra: fastapi
74
+ Requires-Dist: fastapi>=0.68.0; extra == "fastapi"
75
+ Requires-Dist: starlette>=0.14.0; extra == "fastapi"
76
+ Provides-Extra: flask
77
+ Requires-Dist: flask>=2.0.0; extra == "flask"
78
+ Provides-Extra: django
79
+ Requires-Dist: django>=3.2.0; extra == "django"
80
+ Provides-Extra: visual
81
+ Requires-Dist: rich>=10.0.0; extra == "visual"
82
+ Requires-Dist: pillow>=9.0.0; extra == "visual"
83
+ Provides-Extra: json
84
+ Requires-Dist: orjson>=3.5.0; extra == "json"
85
+ Provides-Extra: db
86
+ Requires-Dist: sqlalchemy>=1.4.0; extra == "db"
87
+ Provides-Extra: metrics
88
+ Requires-Dist: prometheus-client>=0.12.0; extra == "metrics"
89
+ Provides-Extra: ml
90
+ Requires-Dist: mlflow>=1.0.0; extra == "ml"
91
+ Requires-Dist: numpy>=1.20.0; extra == "ml"
92
+ Requires-Dist: pandas>=1.3.0; extra == "ml"
93
+ Provides-Extra: cloud
94
+ Requires-Dist: boto3>=1.17.0; extra == "cloud"
95
+ Requires-Dist: google-cloud-logging>=2.0.0; extra == "cloud"
96
+ Requires-Dist: azure-monitor-opentelemetry>=1.0.0; extra == "cloud"
97
+ Dynamic: license-file
98
+
99
+ <p align="center">
100
+ <h1 align="center">LogEverything</h1>
101
+ <p align="center">
102
+ <strong>High-performance Python logging with zero configuration.</strong>
103
+ </p>
104
+ <p align="center">
105
+ <a href="https://pypi.org/project/logeverything/"><img src="https://img.shields.io/pypi/v/logeverything.svg" alt="PyPI"></a>
106
+ <a href="https://pypi.org/project/logeverything/"><img src="https://img.shields.io/pypi/pyversions/logeverything.svg" alt="Python"></a>
107
+ <a href="https://github.com/RamishSiddiqui/logeverything/actions"><img src="https://img.shields.io/github/actions/workflow/status/RamishSiddiqui/logeverything/python-ci.yml?branch=main" alt="Build"></a>
108
+ <a href="https://codecov.io/gh/RamishSiddiqui/logeverything"><img src="https://codecov.io/gh/RamishSiddiqui/logeverything/branch/main/graph/badge.svg" alt="Coverage"></a>
109
+ <a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License"></a>
110
+ <a href="https://pypi.org/project/logeverything/"><img src="https://img.shields.io/pypi/dm/logeverything.svg?label=downloads" alt="Downloads"></a>
111
+ <a href="https://github.com/RamishSiddiqui/logeverything"><img src="https://img.shields.io/github/repo-size/RamishSiddiqui/logeverything?label=code%20size" alt="Code Size"></a>
112
+ <a href="https://github.com/RamishSiddiqui/logeverything/commits/main"><img src="https://img.shields.io/github/last-commit/RamishSiddiqui/logeverything" alt="Last Commit"></a>
113
+ <a href="https://github.com/RamishSiddiqui/logeverything/issues"><img src="https://img.shields.io/github/issues/RamishSiddiqui/logeverything" alt="Issues"></a>
114
+ <a href="https://github.com/RamishSiddiqui/logeverything/stargazers"><img src="https://img.shields.io/github/stars/RamishSiddiqui/logeverything?style=social" alt="Stars"></a>
115
+ </p>
116
+ </p>
117
+
118
+ Add decorators to your functions for automatic, comprehensive logging. LogEverything captures inputs, outputs, execution times, and call hierarchy — with thread safety, async isolation, and beautiful formatting out of the box.
119
+
120
+ <table>
121
+ <tr>
122
+ <td align="center"><strong><h3>10k ops/sec</h3></strong><sub>Core Logging Throughput</sub></td>
123
+ <td align="center"><strong><h3>&lt;0.5ms</h3></strong><sub>Decorator Overhead</sub></td>
124
+ <td align="center"><strong><h3>7.9k ops/sec</h3></strong><sub>Print Capture</sub></td>
125
+ <td align="center"><strong><h3>395 tests</h3></strong><sub>65% coverage</sub></td>
126
+ </tr>
127
+ </table>
128
+
129
+ ---
130
+
131
+ ## Why LogEverything?
132
+
133
+ Most Python logging libraries make you choose: simple but limited (`logging`), fast but
134
+ opinionated (`loguru`), or structured but complex (`structlog`). LogEverything combines
135
+ decorator-based function tracing, native async support, structured JSON output, file
136
+ rotation, and a companion monitoring dashboard — all with zero-config defaults and
137
+ production-grade performance.
138
+
139
+ | Feature | `logging` | `loguru` | `structlog` | **LogEverything** |
140
+ |---|:---:|:---:|:---:|:---:|
141
+ | Zero-config decorators | | | | :white_check_mark: |
142
+ | Hierarchical call tracing | | | | :white_check_mark: |
143
+ | Async-native with task isolation | | | :white_check_mark: | :white_check_mark: |
144
+ | Structured JSON output | | :white_check_mark: | :white_check_mark: | :white_check_mark: |
145
+ | File rotation + gzip compression | :white_check_mark: | :white_check_mark: | | :white_check_mark: |
146
+ | Print capture (stdout redirect) | | | | :white_check_mark: |
147
+ | Monitoring dashboard | | | | :white_check_mark: |
148
+ | Configuration profiles | | | | :white_check_mark: |
149
+
150
+ ---
151
+
152
+ ## Install
153
+
154
+ ```bash
155
+ pip install logeverything
156
+ ```
157
+
158
+ ## Quick Start
159
+
160
+ ### Logger
161
+
162
+ ```python
163
+ from logeverything import Logger
164
+
165
+ log = Logger("my_app")
166
+ log.info("Application started")
167
+ log.warning("Disk usage high")
168
+ log.error("Connection failed")
169
+ ```
170
+
171
+ ### Decorators
172
+
173
+ ```python
174
+ from logeverything import Logger
175
+ from logeverything.decorators import log
176
+
177
+ app_log = Logger("my_app")
178
+
179
+ @log # auto-detect context
180
+ def process(items):
181
+ return sum(items)
182
+
183
+ @log(using="my_app") # target a specific logger
184
+ def validate(data):
185
+ return len(data) > 0
186
+
187
+ process([1, 2, 3])
188
+ validate("hello")
189
+ ```
190
+
191
+ **Output:**
192
+ ```
193
+ -> process(items=[1, 2, 3]) [app.py:7]
194
+ <- process (0.03ms) -> 6
195
+ -> validate(data='hello') [app.py:11]
196
+ <- validate (0.01ms) -> True
197
+ ```
198
+
199
+ ### Hierarchical Call Tracing
200
+
201
+ ```python
202
+ from logeverything.decorators import log_function
203
+
204
+ @log_function
205
+ def main():
206
+ step1()
207
+
208
+ @log_function
209
+ def step1():
210
+ step2()
211
+
212
+ @log_function
213
+ def step2():
214
+ print("Processing...")
215
+
216
+ main()
217
+ ```
218
+
219
+ ```
220
+ -> main() [app.py:3]
221
+ | -> step1() [app.py:7]
222
+ | | -> step2() [app.py:11]
223
+ | | | Processing...
224
+ | | <- step2 (0.12ms)
225
+ | <- step1 (0.45ms)
226
+ <- main (1.02ms)
227
+ ```
228
+
229
+ ### Async
230
+
231
+ ```python
232
+ from logeverything import AsyncLogger
233
+ import asyncio
234
+
235
+ log = AsyncLogger("worker")
236
+
237
+ async def fetch(url):
238
+ log.info(f"GET {url}")
239
+ await asyncio.sleep(0.1)
240
+ log.info("Done")
241
+
242
+ asyncio.run(fetch("https://api.example.com"))
243
+ ```
244
+
245
+ ### Profiles
246
+
247
+ ```python
248
+ from logeverything import Logger
249
+
250
+ log = Logger("my_app")
251
+ log.configure(profile="production") # minimal overhead, structured output
252
+ log.configure(profile="development") # rich colors and visual hierarchy
253
+ log.configure(profile="api") # optimized for web services
254
+ ```
255
+
256
+ ### CLI Tool
257
+
258
+ ```bash
259
+ $ logeverything version
260
+ logeverything 0.1.0
261
+ Python 3.11.9
262
+ Platform: Windows-10-10.0.26100-SP0
263
+
264
+ $ logeverything doctor
265
+ logeverything doctor
266
+ [✓] Python 3.11.9
267
+ [✓] psutil 5.9.5
268
+ [✗] celery (not installed)
269
+ [✓] py.typed marker present
270
+ [✗] Dashboard at localhost:8999 (not reachable)
271
+
272
+ $ logeverything init
273
+ Select environment type:
274
+ 1) web 2) script 3) notebook
275
+ → Creates logging_config.py with sensible defaults
276
+ ```
277
+
278
+ Also available as `python -m logeverything`.
279
+
280
+ ### File Rotation
281
+
282
+ ```python
283
+ from logeverything.handlers import TimedRotatingFileHandler
284
+
285
+ handler = TimedRotatingFileHandler(
286
+ "logs/app.log",
287
+ when="midnight", # rotate daily at midnight
288
+ retention_days=30, # keep 30 days of logs
289
+ compress=True, # gzip old files
290
+ )
291
+ ```
292
+
293
+ Size-based rotation with compression is also supported via `FileHandler`:
294
+
295
+ ```python
296
+ from logeverything.handlers import FileHandler
297
+
298
+ handler = FileHandler(
299
+ "logs/app.log",
300
+ max_size=10_485_760, # 10 MB
301
+ backup_count=5,
302
+ compress=True, # gzip rotated files
303
+ )
304
+ ```
305
+
306
+ For dashboard-compatible structured output, attach `JSONLineFormatter` to any handler:
307
+
308
+ ```python
309
+ from logeverything.handlers import FileHandler, JSONLineFormatter
310
+
311
+ handler = FileHandler("logs/app.jsonl", max_size=10_485_760, backup_count=5)
312
+ handler.setFormatter(JSONLineFormatter(source="my_service"))
313
+ ```
314
+
315
+ ---
316
+
317
+ ## Architecture
318
+
319
+ ```mermaid
320
+ graph TD
321
+ A["Your Code"] -->|"@log decorator"| B["Decorators"]
322
+ B --> C["Logger / AsyncLogger"]
323
+ C --> D["ConsoleHandler"]
324
+ C --> E["FileHandler + Rotation"]
325
+ C --> F["JSONHandler"]
326
+ C --> G["HTTP / TCP / UDP Transport"]
327
+ G --> H["Dashboard"]
328
+ E -->|"JSONL files"| H
329
+ ```
330
+
331
+ ---
332
+
333
+ ## Features
334
+
335
+ <table>
336
+ <tr>
337
+ <td width="50%" valign="top">
338
+
339
+ **Core**
340
+ - Unified `@log` decorator — functions, classes, async
341
+ - Smart logger selection with `using` parameter
342
+ - Auto-discovery and registration of logger instances
343
+ - Structured binding: `log.bind(user_id=123)`
344
+ - Context managers: `log.verbose()`, `log.quiet()`
345
+
346
+ </td>
347
+ <td width="50%" valign="top">
348
+
349
+ **Performance & Safety**
350
+ - 10k ops/sec core logging, 7.9k ops/sec print capture
351
+ - Async-native with 454 ops/sec task-isolated logging
352
+ - Zero overhead when logging is disabled
353
+ - Automatic thread-safe context isolation
354
+ - 395 tests, 65% coverage
355
+ - Cross-platform (Windows, macOS, Linux)
356
+
357
+ </td>
358
+ </tr>
359
+ <tr>
360
+ <td width="50%" valign="top">
361
+
362
+ **Output**
363
+ - Console, file, JSON, and JSONL (`JSONLineFormatter`) handlers
364
+ - Time-based and size-based file rotation with gzip
365
+ - Color themes with Unicode symbols
366
+ - Hierarchical indentation and aligned columns
367
+ - Automatic UTF-8 encoding on Windows
368
+ - 7.9k ops/sec `capture_print()` for stdout
369
+
370
+ </td>
371
+ <td width="50%" valign="top">
372
+
373
+ **Integrations**
374
+ - ASGI/WSGI middleware (FastAPI, Flask, Django)
375
+ - Celery task logging with correlation propagation
376
+ - Correlation IDs across requests and threads
377
+ - Log transports: HTTP, TCP, UDP
378
+ - CLI tool (`logeverything doctor`, `init`)
379
+ - Monitoring API with WebSocket streaming
380
+
381
+ </td>
382
+ </tr>
383
+ </table>
384
+
385
+ ---
386
+
387
+ ## Monitoring Dashboard
388
+
389
+ A companion web dashboard for exploring logs, operations, and system metrics in real time. The dashboard is **not included** in the base `pip install logeverything` — install it separately using one of the methods below.
390
+
391
+ ![Dashboard](docs/source/_static/screenshots/dashboard_overview.png)
392
+
393
+ ### Install from PyPI
394
+
395
+ ```bash
396
+ pip install logeverything-dashboard
397
+
398
+ # Start the dashboard
399
+ logeverything-dashboard # http://localhost:3001
400
+
401
+ # Point it at your log directory
402
+ logeverything-dashboard --data-dir ./logs
403
+
404
+ # Or connect to a remote LogEverything API
405
+ logeverything-dashboard --api-url http://localhost:8080/api/v1
406
+ ```
407
+
408
+ ### Install from Source
409
+
410
+ If you cloned the LogEverything repo, the dashboard is included in the `logeverything-dashboard/` directory:
411
+
412
+ ```bash
413
+ cd logeverything-dashboard
414
+ pip install -r requirements.txt
415
+
416
+ # (Optional) Copy and edit the config file
417
+ cp config/settings.example.yaml config/settings.yaml
418
+
419
+ # Start the dashboard
420
+ python run_dashboard.py # http://localhost:3001
421
+ ```
422
+
423
+ <table>
424
+ <tr>
425
+ <td width="50%" valign="top">
426
+
427
+ **Pages**
428
+ - **Overview** — summary cards, CPU/memory trends, log distribution, operation analytics
429
+ - **Logs** — filterable table with multi-select level pills, pagination, flat + tree view
430
+ - **Operations** — analytics with failure rates and duration tracking
431
+ - **System** — detailed process/resource metrics, session info
432
+
433
+ </td>
434
+ <td width="50%" valign="top">
435
+
436
+ **Capabilities**
437
+ - Hierarchical tree view with expand/collapse and duration badges
438
+ - Time-range filtering (1h / 6h / 24h / 7d)
439
+ - Full-text log search and correlation ID tracing
440
+ - Dark and light themes
441
+ - Keyboard shortcuts, auto-refresh, JSON export
442
+ - Real-time updates via WebSocket
443
+
444
+ </td>
445
+ </tr>
446
+ </table>
447
+
448
+ [Dashboard Guide](docs/source/user-guide/dashboard.rst) — full documentation with screenshots, API endpoints, and customisation.
449
+
450
+ ---
451
+
452
+ ## Documentation
453
+
454
+ | | |
455
+ |---|---|
456
+ | [Installation](https://logeverything.readthedocs.io/en/latest/installation.html) | Setup and optional extras |
457
+ | [Quick Start](https://logeverything.readthedocs.io/en/latest/quickstart.html) | First steps with LogEverything |
458
+ | [User Guide](https://logeverything.readthedocs.io/en/latest/user-guide/logger-classes.html) | Logger classes, decorators, profiles, handlers, async, integrations |
459
+ | [Dashboard](https://logeverything.readthedocs.io/en/latest/user-guide/dashboard.html) | Monitoring dashboard setup and usage |
460
+ | [API Reference](https://logeverything.readthedocs.io/en/latest/api/core.html) | Complete module and class reference |
461
+ | [Advanced](https://logeverything.readthedocs.io/en/latest/advanced/performance.html) | Performance tuning and production deployment |
462
+
463
+ ---
464
+
465
+ ## Contributing
466
+
467
+ Contributions welcome. See the [Contributing Guide](https://logeverything.readthedocs.io/en/latest/contributing.html).
468
+
469
+ ```bash
470
+ pip install -e ".[dev]"
471
+ logeverything doctor # check environment and optional deps
472
+ make test # run tests with coverage
473
+ make lint # flake8, black, isort, mypy, bandit
474
+ make format # auto-format
475
+ ```
476
+
477
+ ## License
478
+
479
+ MIT License. See [LICENSE](LICENSE) for details.
480
+
481
+ <p align="center"><sub>Built for developers who believe every function call tells a story.</sub></p>
482
+
483
+
484
+