logly 0.2.1__tar.gz → 0.2.2__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 (392) hide show
  1. {logly-0.2.1 → logly-0.2.2}/.github/workflows/pypi_publish.yml +13 -13
  2. {logly-0.2.1 → logly-0.2.2}/.github/workflows/testing.yml +16 -16
  3. {logly-0.2.1 → logly-0.2.2}/Cargo.lock +44 -44
  4. {logly-0.2.1 → logly-0.2.2}/Cargo.toml +2 -2
  5. {logly-0.2.1 → logly-0.2.2}/PKG-INFO +73 -4
  6. {logly-0.2.1 → logly-0.2.2}/README.md +72 -3
  7. {logly-0.2.1 → logly-0.2.2}/crates/color/src/lib.rs +548 -178
  8. {logly-0.2.1 → logly-0.2.2}/crates/config/src/lib.rs +1 -54
  9. {logly-0.2.1 → logly-0.2.2}/crates/format/src/lib.rs +44 -11
  10. {logly-0.2.1 → logly-0.2.2}/crates/levels/src/lib.rs +10 -10
  11. {logly-0.2.1 → logly-0.2.2}/crates/network/src/lib.rs +231 -0
  12. {logly-0.2.1 → logly-0.2.2}/docs/.vitepress/config.ts +29 -9
  13. {logly-0.2.1 → logly-0.2.2}/docs/api-reference/exceptions.md +2 -0
  14. logly-0.2.2/docs/api-reference/index.md +21 -0
  15. {logly-0.2.1 → logly-0.2.2}/docs/api-reference/integrations.md +149 -102
  16. {logly-0.2.1 → logly-0.2.2}/docs/api-reference/logger.md +27 -4
  17. {logly-0.2.1 → logly-0.2.2}/docs/examples/concurrency.md +4 -0
  18. {logly-0.2.1 → logly-0.2.2}/docs/examples/context-binding.md +2 -0
  19. {logly-0.2.1 → logly-0.2.2}/docs/examples/django-integration.md +1 -1
  20. {logly-0.2.1 → logly-0.2.2}/docs/examples/enable-disable.md +1 -1
  21. {logly-0.2.1 → logly-0.2.2}/docs/examples/exception-handling.md +2 -0
  22. {logly-0.2.1 → logly-0.2.2}/docs/examples/fastapi-integration.md +1 -1
  23. {logly-0.2.1 → logly-0.2.2}/docs/examples/file-logging.md +3 -0
  24. {logly-0.2.1 → logly-0.2.2}/docs/examples/filtering.md +2 -0
  25. {logly-0.2.1 → logly-0.2.2}/docs/examples/formatting.md +2 -0
  26. logly-0.2.2/docs/examples/integration-catalog.md +88 -0
  27. {logly-0.2.1 → logly-0.2.2}/docs/examples/integrations.md +1 -0
  28. {logly-0.2.1 → logly-0.2.2}/docs/examples/json-logging.md +2 -0
  29. {logly-0.2.1 → logly-0.2.2}/docs/examples/lazy-evaluation.md +2 -0
  30. {logly-0.2.1 → logly-0.2.2}/docs/examples/patching.md +6 -0
  31. {logly-0.2.1 → logly-0.2.2}/docs/examples/production-config.md +1 -0
  32. {logly-0.2.1 → logly-0.2.2}/docs/examples/rich-integration.md +1 -1
  33. {logly-0.2.1 → logly-0.2.2}/docs/examples/stdlib-integration.md +1 -1
  34. {logly-0.2.1 → logly-0.2.2}/docs/getting-started.md +1 -0
  35. {logly-0.2.1 → logly-0.2.2}/docs/guides/async-sinks.md +158 -8
  36. {logly-0.2.1 → logly-0.2.2}/docs/guides/callbacks.md +67 -11
  37. {logly-0.2.1 → logly-0.2.2}/docs/guides/celery.md +1 -0
  38. {logly-0.2.1 → logly-0.2.2}/docs/guides/color-markup.md +75 -0
  39. {logly-0.2.1 → logly-0.2.2}/docs/guides/color-operations.md +2 -0
  40. {logly-0.2.1 → logly-0.2.2}/docs/guides/concurrency.md +7 -0
  41. {logly-0.2.1 → logly-0.2.2}/docs/guides/configure.md +4 -3
  42. {logly-0.2.1 → logly-0.2.2}/docs/guides/console-output.md +3 -2
  43. {logly-0.2.1 → logly-0.2.2}/docs/guides/context-binding.md +15 -2
  44. {logly-0.2.1 → logly-0.2.2}/docs/guides/custom-levels.md +6 -6
  45. {logly-0.2.1 → logly-0.2.2}/docs/guides/django.md +1 -0
  46. {logly-0.2.1 → logly-0.2.2}/docs/guides/environment-variables.md +4 -0
  47. {logly-0.2.1 → logly-0.2.2}/docs/guides/exception-callbacks.md +61 -9
  48. {logly-0.2.1 → logly-0.2.2}/docs/guides/exception-handling.md +12 -0
  49. {logly-0.2.1 → logly-0.2.2}/docs/guides/faq.md +6 -8
  50. {logly-0.2.1 → logly-0.2.2}/docs/guides/fastapi.md +5 -0
  51. {logly-0.2.1 → logly-0.2.2}/docs/guides/file-directories.md +16 -16
  52. {logly-0.2.1 → logly-0.2.2}/docs/guides/file-logging.md +2 -0
  53. {logly-0.2.1 → logly-0.2.2}/docs/guides/filter-features.md +46 -26
  54. {logly-0.2.1 → logly-0.2.2}/docs/guides/filtering.md +12 -1
  55. {logly-0.2.1 → logly-0.2.2}/docs/guides/flask.md +3 -0
  56. {logly-0.2.1 → logly-0.2.2}/docs/guides/formatting.md +45 -2
  57. {logly-0.2.1 → logly-0.2.2}/docs/guides/gunicorn.md +4 -0
  58. {logly-0.2.1 → logly-0.2.2}/docs/guides/independent-loggers.md +6 -2
  59. {logly-0.2.1 → logly-0.2.2}/docs/guides/logging-handlers.md +12 -4
  60. {logly-0.2.1 → logly-0.2.2}/docs/guides/network-config.md +58 -17
  61. {logly-0.2.1 → logly-0.2.2}/docs/guides/network-logging.md +32 -0
  62. {logly-0.2.1 → logly-0.2.2}/docs/guides/parse.md +6 -6
  63. {logly-0.2.1 → logly-0.2.2}/docs/guides/queue-async.md +16 -0
  64. {logly-0.2.1 → logly-0.2.2}/docs/guides/rich-console.md +1 -0
  65. {logly-0.2.1 → logly-0.2.2}/docs/guides/scheduler.md +14 -0
  66. {logly-0.2.1 → logly-0.2.2}/docs/guides/sinks.md +8 -0
  67. {logly-0.2.1 → logly-0.2.2}/docs/guides/source-location-timestamps.md +4 -0
  68. {logly-0.2.1 → logly-0.2.2}/docs/guides/source-location.md +24 -6
  69. {logly-0.2.1 → logly-0.2.2}/docs/guides/stdlib-logging.md +1 -0
  70. {logly-0.2.1 → logly-0.2.2}/docs/guides/telemetry.md +8 -0
  71. {logly-0.2.1 → logly-0.2.2}/docs/guides/troubleshooting.md +2 -2
  72. {logly-0.2.1 → logly-0.2.2}/docs/guides/uvicorn.md +1 -0
  73. {logly-0.2.1 → logly-0.2.2}/docs/integrations/apscheduler.md +2 -0
  74. {logly-0.2.1 → logly-0.2.2}/docs/integrations/aws_cloudwatch.md +6 -4
  75. {logly-0.2.1 → logly-0.2.2}/docs/integrations/azure_monitor.md +1 -3
  76. {logly-0.2.1 → logly-0.2.2}/docs/integrations/celery.md +3 -0
  77. {logly-0.2.1 → logly-0.2.2}/docs/integrations/click.md +3 -0
  78. {logly-0.2.1 → logly-0.2.2}/docs/integrations/fastapi.md +2 -0
  79. {logly-0.2.1 → logly-0.2.2}/docs/integrations/flask.md +3 -0
  80. {logly-0.2.1 → logly-0.2.2}/docs/integrations/gunicorn.md +1 -0
  81. {logly-0.2.1 → logly-0.2.2}/docs/integrations/sqlalchemy.md +3 -0
  82. {logly-0.2.1 → logly-0.2.2}/docs/integrations/starlette.md +9 -4
  83. {logly-0.2.1 → logly-0.2.2}/docs/integrations/telemetry.md +2 -0
  84. {logly-0.2.1 → logly-0.2.2}/docs/integrations/typer.md +3 -0
  85. {logly-0.2.1 → logly-0.2.2}/docs/integrations/uvicorn.md +2 -0
  86. {logly-0.2.1 → logly-0.2.2}/logly/__init__.py +4 -0
  87. {logly-0.2.1 → logly-0.2.2}/logly/_logly.pyi +79 -0
  88. {logly-0.2.1 → logly-0.2.2}/logly/integrations/apscheduler.py +2 -0
  89. {logly-0.2.1 → logly-0.2.2}/logly/integrations/aws_cloudwatch.py +2 -0
  90. {logly-0.2.1 → logly-0.2.2}/logly/integrations/azure_monitor.py +2 -0
  91. {logly-0.2.1 → logly-0.2.2}/logly/integrations/celery.py +2 -0
  92. {logly-0.2.1 → logly-0.2.2}/logly/integrations/click.py +2 -0
  93. {logly-0.2.1 → logly-0.2.2}/logly/integrations/datadog.py +2 -0
  94. {logly-0.2.1 → logly-0.2.2}/logly/integrations/discord.py +2 -0
  95. {logly-0.2.1 → logly-0.2.2}/logly/integrations/django.py +2 -0
  96. {logly-0.2.1 → logly-0.2.2}/logly/integrations/elasticsearch.py +2 -0
  97. {logly-0.2.1 → logly-0.2.2}/logly/integrations/email.py +2 -0
  98. {logly-0.2.1 → logly-0.2.2}/logly/integrations/fastapi.py +2 -0
  99. {logly-0.2.1 → logly-0.2.2}/logly/integrations/flask.py +2 -0
  100. {logly-0.2.1 → logly-0.2.2}/logly/integrations/google_cloud_logging.py +2 -0
  101. {logly-0.2.1 → logly-0.2.2}/logly/integrations/graylog.py +2 -0
  102. {logly-0.2.1 → logly-0.2.2}/logly/integrations/gunicorn.py +2 -0
  103. {logly-0.2.1 → logly-0.2.2}/logly/integrations/http.py +2 -0
  104. {logly-0.2.1 → logly-0.2.2}/logly/integrations/kafka.py +2 -0
  105. {logly-0.2.1 → logly-0.2.2}/logly/integrations/logstash.py +2 -0
  106. {logly-0.2.1 → logly-0.2.2}/logly/integrations/loki.py +2 -0
  107. {logly-0.2.1 → logly-0.2.2}/logly/integrations/mongodb.py +2 -0
  108. {logly-0.2.1 → logly-0.2.2}/logly/integrations/newrelic.py +2 -0
  109. {logly-0.2.1 → logly-0.2.2}/logly/integrations/opentelemetry.py +2 -0
  110. {logly-0.2.1 → logly-0.2.2}/logly/integrations/postgresql.py +2 -0
  111. {logly-0.2.1 → logly-0.2.2}/logly/integrations/prometheus.py +2 -0
  112. {logly-0.2.1 → logly-0.2.2}/logly/integrations/propagate.py +2 -0
  113. {logly-0.2.1 → logly-0.2.2}/logly/integrations/pydantic.py +2 -0
  114. {logly-0.2.1 → logly-0.2.2}/logly/integrations/rabbitmq.py +2 -0
  115. {logly-0.2.1 → logly-0.2.2}/logly/integrations/redis.py +2 -0
  116. {logly-0.2.1 → logly-0.2.2}/logly/integrations/rich.py +2 -0
  117. {logly-0.2.1 → logly-0.2.2}/logly/integrations/rq.py +2 -0
  118. {logly-0.2.1 → logly-0.2.2}/logly/integrations/sentry.py +2 -0
  119. {logly-0.2.1 → logly-0.2.2}/logly/integrations/seq.py +2 -0
  120. {logly-0.2.1 → logly-0.2.2}/logly/integrations/slack.py +2 -0
  121. {logly-0.2.1 → logly-0.2.2}/logly/integrations/sqlalchemy.py +2 -0
  122. {logly-0.2.1 → logly-0.2.2}/logly/integrations/starlette.py +2 -0
  123. {logly-0.2.1 → logly-0.2.2}/logly/integrations/stdlib.py +2 -0
  124. {logly-0.2.1 → logly-0.2.2}/logly/integrations/structlog.py +2 -0
  125. {logly-0.2.1 → logly-0.2.2}/logly/integrations/telemetry.py +2 -0
  126. {logly-0.2.1 → logly-0.2.2}/logly/integrations/tqdm.py +2 -0
  127. {logly-0.2.1 → logly-0.2.2}/logly/integrations/typer.py +2 -0
  128. {logly-0.2.1 → logly-0.2.2}/logly/integrations/uvicorn.py +2 -0
  129. {logly-0.2.1 → logly-0.2.2}/logly/logger.py +54 -3
  130. {logly-0.2.1 → logly-0.2.2}/src/lib.rs +91 -0
  131. logly-0.2.2/tests/test_async_sinks.py +213 -0
  132. {logly-0.2.1 → logly-0.2.2}/tests/test_custom_levels.py +2 -2
  133. {logly-0.2.1 → logly-0.2.2}/tests/test_logly.py +3 -1
  134. logly-0.2.1/.github/release_drafter_template.yml +0 -121
  135. logly-0.2.1/.github/workflows/release_drafter.yml +0 -28
  136. logly-0.2.1/docs/examples/integration-catalog.md +0 -88
  137. logly-0.2.1/tests/test_async_sinks.py +0 -82
  138. {logly-0.2.1 → logly-0.2.2}/.github/FUNDING.yml +0 -0
  139. {logly-0.2.1 → logly-0.2.2}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  140. {logly-0.2.1 → logly-0.2.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  141. {logly-0.2.1 → logly-0.2.2}/.github/ISSUE_TEMPLATE/docs_issue.yml +0 -0
  142. {logly-0.2.1 → logly-0.2.2}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  143. {logly-0.2.1 → logly-0.2.2}/.github/ISSUE_TEMPLATE/help_wanted.yml +0 -0
  144. {logly-0.2.1 → logly-0.2.2}/.github/dependabot.yml +0 -0
  145. {logly-0.2.1 → logly-0.2.2}/.github/pull_request_template.md +0 -0
  146. {logly-0.2.1 → logly-0.2.2}/.github/workflows/docs_publish.yml +0 -0
  147. {logly-0.2.1 → logly-0.2.2}/.gitignore +0 -0
  148. {logly-0.2.1 → logly-0.2.2}/.pre-commit-config.yaml +0 -0
  149. {logly-0.2.1 → logly-0.2.2}/CODE_OF_CONDUCT.md +0 -0
  150. {logly-0.2.1 → logly-0.2.2}/CONTRIBUTING.md +0 -0
  151. {logly-0.2.1 → logly-0.2.2}/LICENSE +0 -0
  152. {logly-0.2.1 → logly-0.2.2}/crates/color/Cargo.toml +0 -0
  153. {logly-0.2.1 → logly-0.2.2}/crates/compress/Cargo.toml +0 -0
  154. {logly-0.2.1 → logly-0.2.2}/crates/compress/src/lib.rs +0 -0
  155. {logly-0.2.1 → logly-0.2.2}/crates/concurrency/Cargo.toml +0 -0
  156. {logly-0.2.1 → logly-0.2.2}/crates/concurrency/src/lib.rs +0 -0
  157. {logly-0.2.1 → logly-0.2.2}/crates/config/Cargo.toml +0 -0
  158. {logly-0.2.1 → logly-0.2.2}/crates/context/Cargo.toml +0 -0
  159. {logly-0.2.1 → logly-0.2.2}/crates/context/src/lib.rs +0 -0
  160. {logly-0.2.1 → logly-0.2.2}/crates/core/Cargo.toml +0 -0
  161. {logly-0.2.1 → logly-0.2.2}/crates/core/src/lib.rs +0 -0
  162. {logly-0.2.1 → logly-0.2.2}/crates/error/Cargo.toml +0 -0
  163. {logly-0.2.1 → logly-0.2.2}/crates/error/src/lib.rs +0 -0
  164. {logly-0.2.1 → logly-0.2.2}/crates/filter/Cargo.toml +0 -0
  165. {logly-0.2.1 → logly-0.2.2}/crates/filter/src/lib.rs +0 -0
  166. {logly-0.2.1 → logly-0.2.2}/crates/format/Cargo.toml +0 -0
  167. {logly-0.2.1 → logly-0.2.2}/crates/levels/Cargo.toml +0 -0
  168. {logly-0.2.1 → logly-0.2.2}/crates/network/Cargo.toml +0 -0
  169. {logly-0.2.1 → logly-0.2.2}/crates/record/Cargo.toml +0 -0
  170. {logly-0.2.1 → logly-0.2.2}/crates/record/src/lib.rs +0 -0
  171. {logly-0.2.1 → logly-0.2.2}/crates/rotate/Cargo.toml +0 -0
  172. {logly-0.2.1 → logly-0.2.2}/crates/rotate/src/lib.rs +0 -0
  173. {logly-0.2.1 → logly-0.2.2}/crates/sink/Cargo.toml +0 -0
  174. {logly-0.2.1 → logly-0.2.2}/crates/sink/src/lib.rs +0 -0
  175. {logly-0.2.1 → logly-0.2.2}/crates/source/Cargo.toml +0 -0
  176. {logly-0.2.1 → logly-0.2.2}/crates/source/src/lib.rs +0 -0
  177. {logly-0.2.1 → logly-0.2.2}/docs/.gitignore +0 -0
  178. {logly-0.2.1 → logly-0.2.2}/docs/.vitepress/theme/custom.css +0 -0
  179. {logly-0.2.1 → logly-0.2.2}/docs/.vitepress/theme/index.ts +0 -0
  180. {logly-0.2.1 → logly-0.2.2}/docs/CNAME +0 -0
  181. {logly-0.2.1 → logly-0.2.2}/docs/api-reference/models.md +0 -0
  182. {logly-0.2.1 → logly-0.2.2}/docs/comparison.md +0 -0
  183. {logly-0.2.1 → logly-0.2.2}/docs/css/custom.css +0 -0
  184. {logly-0.2.1 → logly-0.2.2}/docs/examples/basic-logging.md +0 -0
  185. {logly-0.2.1 → logly-0.2.2}/docs/examples/color-markup.md +0 -0
  186. {logly-0.2.1 → logly-0.2.2}/docs/examples/compression.md +0 -0
  187. {logly-0.2.1 → logly-0.2.2}/docs/examples/custom-levels.md +0 -0
  188. {logly-0.2.1 → logly-0.2.2}/docs/examples/multiple-sinks.md +0 -0
  189. {logly-0.2.1 → logly-0.2.2}/docs/examples/rotation.md +0 -0
  190. {logly-0.2.1 → logly-0.2.2}/docs/guides/compression-options.md +0 -0
  191. {logly-0.2.1 → logly-0.2.2}/docs/guides/custom-colors.md +0 -0
  192. {logly-0.2.1 → logly-0.2.2}/docs/guides/propagate.md +0 -0
  193. {logly-0.2.1 → logly-0.2.2}/docs/guides/rotation-retention-compression.md +0 -0
  194. {logly-0.2.1 → logly-0.2.2}/docs/guides/structlog.md +0 -0
  195. {logly-0.2.1 → logly-0.2.2}/docs/guides/switching-from-other-libraries.md +0 -0
  196. {logly-0.2.1 → logly-0.2.2}/docs/index.md +0 -0
  197. {logly-0.2.1 → logly-0.2.2}/docs/integrations/datadog.md +0 -0
  198. {logly-0.2.1 → logly-0.2.2}/docs/integrations/discord.md +0 -0
  199. {logly-0.2.1 → logly-0.2.2}/docs/integrations/django.md +0 -0
  200. {logly-0.2.1 → logly-0.2.2}/docs/integrations/elasticsearch.md +0 -0
  201. {logly-0.2.1 → logly-0.2.2}/docs/integrations/email.md +0 -0
  202. {logly-0.2.1 → logly-0.2.2}/docs/integrations/google_cloud_logging.md +0 -0
  203. {logly-0.2.1 → logly-0.2.2}/docs/integrations/graylog.md +0 -0
  204. {logly-0.2.1 → logly-0.2.2}/docs/integrations/http.md +0 -0
  205. {logly-0.2.1 → logly-0.2.2}/docs/integrations/index.md +0 -0
  206. {logly-0.2.1 → logly-0.2.2}/docs/integrations/kafka.md +0 -0
  207. {logly-0.2.1 → logly-0.2.2}/docs/integrations/logstash.md +0 -0
  208. {logly-0.2.1 → logly-0.2.2}/docs/integrations/loki.md +0 -0
  209. {logly-0.2.1 → logly-0.2.2}/docs/integrations/mongodb.md +0 -0
  210. {logly-0.2.1 → logly-0.2.2}/docs/integrations/newrelic.md +0 -0
  211. {logly-0.2.1 → logly-0.2.2}/docs/integrations/opentelemetry.md +0 -0
  212. {logly-0.2.1 → logly-0.2.2}/docs/integrations/postgresql.md +0 -0
  213. {logly-0.2.1 → logly-0.2.2}/docs/integrations/prometheus.md +0 -0
  214. {logly-0.2.1 → logly-0.2.2}/docs/integrations/propagate.md +0 -0
  215. {logly-0.2.1 → logly-0.2.2}/docs/integrations/pydantic.md +0 -0
  216. {logly-0.2.1 → logly-0.2.2}/docs/integrations/rabbitmq.md +0 -0
  217. {logly-0.2.1 → logly-0.2.2}/docs/integrations/redis.md +0 -0
  218. {logly-0.2.1 → logly-0.2.2}/docs/integrations/rich.md +0 -0
  219. {logly-0.2.1 → logly-0.2.2}/docs/integrations/rq.md +0 -0
  220. {logly-0.2.1 → logly-0.2.2}/docs/integrations/sentry.md +0 -0
  221. {logly-0.2.1 → logly-0.2.2}/docs/integrations/seq.md +0 -0
  222. {logly-0.2.1 → logly-0.2.2}/docs/integrations/slack.md +0 -0
  223. {logly-0.2.1 → logly-0.2.2}/docs/integrations/stdlib.md +0 -0
  224. {logly-0.2.1 → logly-0.2.2}/docs/integrations/structlog.md +0 -0
  225. {logly-0.2.1 → logly-0.2.2}/docs/integrations/tqdm.md +0 -0
  226. {logly-0.2.1 → logly-0.2.2}/docs/package.json +0 -0
  227. {logly-0.2.1 → logly-0.2.2}/docs/public/android-chrome-192x192.png +0 -0
  228. {logly-0.2.1 → logly-0.2.2}/docs/public/android-chrome-512x512.png +0 -0
  229. {logly-0.2.1 → logly-0.2.2}/docs/public/apple-touch-icon.png +0 -0
  230. {logly-0.2.1 → logly-0.2.2}/docs/public/cover.png +0 -0
  231. {logly-0.2.1 → logly-0.2.2}/docs/public/favicon-16x16.png +0 -0
  232. {logly-0.2.1 → logly-0.2.2}/docs/public/favicon-32x32.png +0 -0
  233. {logly-0.2.1 → logly-0.2.2}/docs/public/favicon.ico +0 -0
  234. {logly-0.2.1 → logly-0.2.2}/docs/public/logo.ico +0 -0
  235. {logly-0.2.1 → logly-0.2.2}/docs/public/logo.png +0 -0
  236. {logly-0.2.1 → logly-0.2.2}/docs/public/robots.txt +0 -0
  237. {logly-0.2.1 → logly-0.2.2}/docs/public/site.webmanifest +0 -0
  238. {logly-0.2.1 → logly-0.2.2}/examples/apscheduler_integration.py +0 -0
  239. {logly-0.2.1 → logly-0.2.2}/examples/aws_cloudwatch_integration.py +0 -0
  240. {logly-0.2.1 → logly-0.2.2}/examples/azure_monitor_integration.py +0 -0
  241. {logly-0.2.1 → logly-0.2.2}/examples/basic_logging.py +0 -0
  242. {logly-0.2.1 → logly-0.2.2}/examples/celery_integration.py +0 -0
  243. {logly-0.2.1 → logly-0.2.2}/examples/click_integration.py +0 -0
  244. {logly-0.2.1 → logly-0.2.2}/examples/color_markup.py +0 -0
  245. {logly-0.2.1 → logly-0.2.2}/examples/compression_example.py +0 -0
  246. {logly-0.2.1 → logly-0.2.2}/examples/concurrency.py +0 -0
  247. {logly-0.2.1 → logly-0.2.2}/examples/context_binding.py +0 -0
  248. {logly-0.2.1 → logly-0.2.2}/examples/custom_levels.py +0 -0
  249. {logly-0.2.1 → logly-0.2.2}/examples/datadog_integration.py +0 -0
  250. {logly-0.2.1 → logly-0.2.2}/examples/discord_integration.py +0 -0
  251. {logly-0.2.1 → logly-0.2.2}/examples/django_integration.py +0 -0
  252. {logly-0.2.1 → logly-0.2.2}/examples/elasticsearch_integration.py +0 -0
  253. {logly-0.2.1 → logly-0.2.2}/examples/email_integration.py +0 -0
  254. {logly-0.2.1 → logly-0.2.2}/examples/enable_disable.py +0 -0
  255. {logly-0.2.1 → logly-0.2.2}/examples/exception_handling.py +0 -0
  256. {logly-0.2.1 → logly-0.2.2}/examples/fastapi_integration.py +0 -0
  257. {logly-0.2.1 → logly-0.2.2}/examples/file_logging.py +0 -0
  258. {logly-0.2.1 → logly-0.2.2}/examples/filtering.py +0 -0
  259. {logly-0.2.1 → logly-0.2.2}/examples/flask_integration.py +0 -0
  260. {logly-0.2.1 → logly-0.2.2}/examples/formatting.py +0 -0
  261. {logly-0.2.1 → logly-0.2.2}/examples/google_cloud_logging_integration.py +0 -0
  262. {logly-0.2.1 → logly-0.2.2}/examples/graylog_integration.py +0 -0
  263. {logly-0.2.1 → logly-0.2.2}/examples/gunicorn_integration.py +0 -0
  264. {logly-0.2.1 → logly-0.2.2}/examples/http_integration.py +0 -0
  265. {logly-0.2.1 → logly-0.2.2}/examples/json_logging.py +0 -0
  266. {logly-0.2.1 → logly-0.2.2}/examples/kafka_integration.py +0 -0
  267. {logly-0.2.1 → logly-0.2.2}/examples/lazy_evaluation.py +0 -0
  268. {logly-0.2.1 → logly-0.2.2}/examples/logstash_integration.py +0 -0
  269. {logly-0.2.1 → logly-0.2.2}/examples/loki_integration.py +0 -0
  270. {logly-0.2.1 → logly-0.2.2}/examples/mongodb_integration.py +0 -0
  271. {logly-0.2.1 → logly-0.2.2}/examples/multiple_sinks.py +0 -0
  272. {logly-0.2.1 → logly-0.2.2}/examples/newrelic_integration.py +0 -0
  273. {logly-0.2.1 → logly-0.2.2}/examples/opentelemetry_integration.py +0 -0
  274. {logly-0.2.1 → logly-0.2.2}/examples/patching.py +0 -0
  275. {logly-0.2.1 → logly-0.2.2}/examples/postgresql_integration.py +0 -0
  276. {logly-0.2.1 → logly-0.2.2}/examples/production_config.py +0 -0
  277. {logly-0.2.1 → logly-0.2.2}/examples/prometheus_integration.py +0 -0
  278. {logly-0.2.1 → logly-0.2.2}/examples/propagate_integration.py +0 -0
  279. {logly-0.2.1 → logly-0.2.2}/examples/pydantic_integration.py +0 -0
  280. {logly-0.2.1 → logly-0.2.2}/examples/rabbitmq_integration.py +0 -0
  281. {logly-0.2.1 → logly-0.2.2}/examples/redis_integration.py +0 -0
  282. {logly-0.2.1 → logly-0.2.2}/examples/rich_integration.py +0 -0
  283. {logly-0.2.1 → logly-0.2.2}/examples/rotation_example.py +0 -0
  284. {logly-0.2.1 → logly-0.2.2}/examples/rq_integration.py +0 -0
  285. {logly-0.2.1 → logly-0.2.2}/examples/sentry_integration.py +0 -0
  286. {logly-0.2.1 → logly-0.2.2}/examples/seq_integration.py +0 -0
  287. {logly-0.2.1 → logly-0.2.2}/examples/slack_integration.py +0 -0
  288. {logly-0.2.1 → logly-0.2.2}/examples/sqlalchemy_integration.py +0 -0
  289. {logly-0.2.1 → logly-0.2.2}/examples/starlette_integration.py +0 -0
  290. {logly-0.2.1 → logly-0.2.2}/examples/stdlib_integration.py +0 -0
  291. {logly-0.2.1 → logly-0.2.2}/examples/structlog_integration.py +0 -0
  292. {logly-0.2.1 → logly-0.2.2}/examples/telemetry_integration.py +0 -0
  293. {logly-0.2.1 → logly-0.2.2}/examples/tqdm_integration.py +0 -0
  294. {logly-0.2.1 → logly-0.2.2}/examples/typer_integration.py +0 -0
  295. {logly-0.2.1 → logly-0.2.2}/examples/uvicorn_integration.py +0 -0
  296. {logly-0.2.1 → logly-0.2.2}/justfile +0 -0
  297. {logly-0.2.1 → logly-0.2.2}/logly/exceptions.py +0 -0
  298. {logly-0.2.1 → logly-0.2.2}/logly/integrations/__init__.py +0 -0
  299. {logly-0.2.1 → logly-0.2.2}/logly/integrations/_utils.py +0 -0
  300. {logly-0.2.1 → logly-0.2.2}/logly/models.py +0 -0
  301. {logly-0.2.1 → logly-0.2.2}/logly/py.typed +0 -0
  302. {logly-0.2.1 → logly-0.2.2}/logly/typing.py +0 -0
  303. {logly-0.2.1 → logly-0.2.2}/pyproject.toml +0 -0
  304. {logly-0.2.1 → logly-0.2.2}/tests/__init__.py +0 -0
  305. {logly-0.2.1 → logly-0.2.2}/tests/test_callable_format_filter.py +0 -0
  306. {logly-0.2.1 → logly-0.2.2}/tests/test_catch_exceptions.py +0 -0
  307. {logly-0.2.1 → logly-0.2.2}/tests/test_catch_exclude.py +0 -0
  308. {logly-0.2.1 → logly-0.2.2}/tests/test_color_functions.py +0 -0
  309. {logly-0.2.1 → logly-0.2.2}/tests/test_color_output.py +0 -0
  310. {logly-0.2.1 → logly-0.2.2}/tests/test_comprehensive.py +0 -0
  311. {logly-0.2.1 → logly-0.2.2}/tests/test_compression.py +0 -0
  312. {logly-0.2.1 → logly-0.2.2}/tests/test_concurrency_enqueue.py +0 -0
  313. {logly-0.2.1 → logly-0.2.2}/tests/test_configure.py +0 -0
  314. {logly-0.2.1 → logly-0.2.2}/tests/test_context_bind.py +0 -0
  315. {logly-0.2.1 → logly-0.2.2}/tests/test_copy.py +0 -0
  316. {logly-0.2.1 → logly-0.2.2}/tests/test_edge_cases.py +0 -0
  317. {logly-0.2.1 → logly-0.2.2}/tests/test_enable_disable.py +0 -0
  318. {logly-0.2.1 → logly-0.2.2}/tests/test_env_autoinit.py +0 -0
  319. {logly-0.2.1 → logly-0.2.2}/tests/test_exception_hierarchy.py +0 -0
  320. {logly-0.2.1 → logly-0.2.2}/tests/test_exception_method.py +0 -0
  321. {logly-0.2.1 → logly-0.2.2}/tests/test_exception_methods.py +0 -0
  322. {logly-0.2.1 → logly-0.2.2}/tests/test_filters.py +0 -0
  323. {logly-0.2.1 → logly-0.2.2}/tests/test_format_tokens.py +0 -0
  324. {logly-0.2.1 → logly-0.2.2}/tests/test_formatters.py +0 -0
  325. {logly-0.2.1 → logly-0.2.2}/tests/test_independent_loggers.py +0 -0
  326. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_apscheduler.py +0 -0
  327. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_aws_cloudwatch.py +0 -0
  328. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_azure_monitor.py +0 -0
  329. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_celery.py +0 -0
  330. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_click.py +0 -0
  331. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_datadog.py +0 -0
  332. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_discord.py +0 -0
  333. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_django.py +0 -0
  334. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_elasticsearch.py +0 -0
  335. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_email.py +0 -0
  336. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_fastapi.py +0 -0
  337. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_flask.py +0 -0
  338. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_google_cloud_logging.py +0 -0
  339. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_graylog.py +0 -0
  340. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_gunicorn.py +0 -0
  341. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_http.py +0 -0
  342. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_kafka.py +0 -0
  343. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_logstash.py +0 -0
  344. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_loki.py +0 -0
  345. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_mongodb.py +0 -0
  346. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_newrelic.py +0 -0
  347. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_opentelemetry.py +0 -0
  348. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_postgresql.py +0 -0
  349. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_prometheus.py +0 -0
  350. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_propagate.py +0 -0
  351. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_pydantic.py +0 -0
  352. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_rabbitmq.py +0 -0
  353. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_redis.py +0 -0
  354. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_rich.py +0 -0
  355. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_rq.py +0 -0
  356. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_sentry.py +0 -0
  357. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_seq.py +0 -0
  358. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_slack.py +0 -0
  359. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_sqlalchemy.py +0 -0
  360. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_starlette.py +0 -0
  361. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_stdlib.py +0 -0
  362. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_structlog.py +0 -0
  363. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_tqdm.py +0 -0
  364. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_typer.py +0 -0
  365. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_utils.py +0 -0
  366. {logly-0.2.1 → logly-0.2.2}/tests/test_integration_uvicorn.py +0 -0
  367. {logly-0.2.1 → logly-0.2.2}/tests/test_integrations.py +0 -0
  368. {logly-0.2.1 → logly-0.2.2}/tests/test_levels.py +0 -0
  369. {logly-0.2.1 → logly-0.2.2}/tests/test_logging_handler.py +0 -0
  370. {logly-0.2.1 → logly-0.2.2}/tests/test_models.py +0 -0
  371. {logly-0.2.1 → logly-0.2.2}/tests/test_opt.py +0 -0
  372. {logly-0.2.1 → logly-0.2.2}/tests/test_opt_depth_capture.py +0 -0
  373. {logly-0.2.1 → logly-0.2.2}/tests/test_opt_parameters.py +0 -0
  374. {logly-0.2.1 → logly-0.2.2}/tests/test_opt_record.py +0 -0
  375. {logly-0.2.1 → logly-0.2.2}/tests/test_parse.py +0 -0
  376. {logly-0.2.1 → logly-0.2.2}/tests/test_parse_static.py +0 -0
  377. {logly-0.2.1 → logly-0.2.2}/tests/test_patch.py +0 -0
  378. {logly-0.2.1 → logly-0.2.2}/tests/test_pydantic_config.py +0 -0
  379. {logly-0.2.1 → logly-0.2.2}/tests/test_python_sinks.py +0 -0
  380. {logly-0.2.1 → logly-0.2.2}/tests/test_raw_mode.py +0 -0
  381. {logly-0.2.1 → logly-0.2.2}/tests/test_reinstall.py +0 -0
  382. {logly-0.2.1 → logly-0.2.2}/tests/test_retention.py +0 -0
  383. {logly-0.2.1 → logly-0.2.2}/tests/test_root_dir.py +0 -0
  384. {logly-0.2.1 → logly-0.2.2}/tests/test_rotation.py +0 -0
  385. {logly-0.2.1 → logly-0.2.2}/tests/test_rotation_retention.py +0 -0
  386. {logly-0.2.1 → logly-0.2.2}/tests/test_serialize.py +0 -0
  387. {logly-0.2.1 → logly-0.2.2}/tests/test_sink_params.py +0 -0
  388. {logly-0.2.1 → logly-0.2.2}/tests/test_sinks_console.py +0 -0
  389. {logly-0.2.1 → logly-0.2.2}/tests/test_sinks_file.py +0 -0
  390. {logly-0.2.1 → logly-0.2.2}/tests/test_start_stop.py +0 -0
  391. {logly-0.2.1 → logly-0.2.2}/tests/test_telemetry.py +0 -0
  392. {logly-0.2.1 → logly-0.2.2}/tests/test_warn_alias.py +0 -0
@@ -27,7 +27,7 @@ jobs:
27
27
  flat: "cp313-cp313"
28
28
  - version: "3.14"
29
29
  flat: "cp314-cp314"
30
- - version: "3.15.0-beta.4"
30
+ - version: "3.15.0-rc.1"
31
31
  flat: "cp315-cp315"
32
32
  steps:
33
33
  - uses: actions/checkout@v7
@@ -65,7 +65,7 @@ jobs:
65
65
  flat: "cp313-cp313"
66
66
  - version: "3.14"
67
67
  flat: "cp314-cp314"
68
- - version: "3.15.0-beta.4"
68
+ - version: "3.15.0-rc.1"
69
69
  flat: "cp315-cp315"
70
70
  steps:
71
71
  - uses: actions/checkout@v7
@@ -104,7 +104,7 @@ jobs:
104
104
  flat: "cp313-cp313"
105
105
  - version: "3.14"
106
106
  flat: "cp314-cp314"
107
- - version: "3.15.0-beta.4"
107
+ - version: "3.15.0-rc.1"
108
108
  flat: "cp315-cp315"
109
109
  steps:
110
110
  - uses: actions/checkout@v7
@@ -133,10 +133,10 @@ jobs:
133
133
  matrix:
134
134
  target: [x64, x86]
135
135
  python-version:
136
- ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
136
+ ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
137
137
  steps:
138
138
  - uses: actions/checkout@v7
139
- - uses: actions/setup-python@v6
139
+ - uses: actions/setup-python@v7
140
140
  with:
141
141
  python-version: ${{ matrix.python-version }}
142
142
  architecture: ${{ matrix.target }}
@@ -165,10 +165,10 @@ jobs:
165
165
  strategy:
166
166
  matrix:
167
167
  python-version:
168
- ["3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
168
+ ["3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
169
169
  steps:
170
170
  - uses: actions/checkout@v7
171
- - uses: actions/setup-python@v6
171
+ - uses: actions/setup-python@v7
172
172
  with:
173
173
  python-version: ${{ matrix.python-version }}
174
174
  architecture: arm64
@@ -197,10 +197,10 @@ jobs:
197
197
  strategy:
198
198
  matrix:
199
199
  python-version:
200
- ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
200
+ ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
201
201
  steps:
202
202
  - uses: actions/checkout@v7
203
- - uses: actions/setup-python@v6
203
+ - uses: actions/setup-python@v7
204
204
  with:
205
205
  python-version: ${{ matrix.python-version }}
206
206
  - name: Set version from tag
@@ -225,7 +225,7 @@ jobs:
225
225
  timeout-minutes: 10
226
226
  steps:
227
227
  - uses: actions/checkout@v7
228
- - uses: actions/setup-python@v6
228
+ - uses: actions/setup-python@v7
229
229
  with:
230
230
  python-version: "3.13"
231
231
  - name: Set version from tag
@@ -253,7 +253,7 @@ jobs:
253
253
  name: pypi
254
254
  url: https://pypi.org/project/logly/
255
255
  steps:
256
- - uses: actions/download-artifact@v7
256
+ - uses: actions/download-artifact@v8
257
257
  with:
258
258
  pattern: wheels-*
259
259
  merge-multiple: true
@@ -261,7 +261,7 @@ jobs:
261
261
  - name: List artifacts
262
262
  run: ls -la dist/
263
263
  - name: Install uv
264
- uses: astral-sh/setup-uv@v8.2.0
264
+ uses: astral-sh/setup-uv@v9.0.0
265
265
  - name: Publish to PyPI
266
266
  run: uv publish --trusted-publishing always dist/*
267
267
 
@@ -271,7 +271,7 @@ jobs:
271
271
  runs-on: ubuntu-latest
272
272
  timeout-minutes: 10
273
273
  steps:
274
- - uses: actions/download-artifact@v7
274
+ - uses: actions/download-artifact@v8
275
275
  with:
276
276
  pattern: wheels-*
277
277
  merge-multiple: true
@@ -65,13 +65,13 @@ jobs:
65
65
  steps:
66
66
  - uses: actions/checkout@v7
67
67
  - name: Install uv
68
- uses: astral-sh/setup-uv@v8.2.0
68
+ uses: astral-sh/setup-uv@v9.0.0
69
69
  with:
70
70
  enable-cache: true
71
71
  cache-dependency-glob: pyproject.toml
72
72
  cache-suffix: lint
73
73
  - name: Set up Python
74
- uses: actions/setup-python@v6
74
+ uses: actions/setup-python@v7
75
75
  with:
76
76
  python-version: "3.13"
77
77
  - name: Cache Rust build
@@ -96,19 +96,19 @@ jobs:
96
96
  matrix:
97
97
  os: [ubuntu-latest, windows-latest, macos-26]
98
98
  python-version:
99
- ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
99
+ ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
100
100
  runs-on: ${{ matrix.os }}
101
101
  timeout-minutes: 30
102
102
  steps:
103
103
  - uses: actions/checkout@v7
104
104
  - name: Install uv
105
- uses: astral-sh/setup-uv@v8.2.0
105
+ uses: astral-sh/setup-uv@v9.0.0
106
106
  with:
107
107
  enable-cache: true
108
108
  cache-dependency-glob: pyproject.toml
109
109
  cache-suffix: test-${{ matrix.os }}-${{ matrix.python-version }}
110
110
  - name: Set up Python ${{ matrix.python-version }}
111
- uses: actions/setup-python@v6
111
+ uses: actions/setup-python@v7
112
112
  with:
113
113
  python-version: ${{ matrix.python-version }}
114
114
  - name: Cache Rust build
@@ -135,18 +135,18 @@ jobs:
135
135
  fail-fast: false
136
136
  matrix:
137
137
  python-version:
138
- ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
138
+ ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
139
139
  timeout-minutes: 30
140
140
  steps:
141
141
  - uses: actions/checkout@v7
142
142
  - name: Install uv
143
- uses: astral-sh/setup-uv@v8.2.0
143
+ uses: astral-sh/setup-uv@v9.0.0
144
144
  with:
145
145
  enable-cache: true
146
146
  cache-dependency-glob: pyproject.toml
147
147
  cache-suffix: test-windows-x86-${{ matrix.python-version }}
148
148
  - name: Set up Python ${{ matrix.python-version }}
149
- uses: actions/setup-python@v6
149
+ uses: actions/setup-python@v7
150
150
  with:
151
151
  python-version: ${{ matrix.python-version }}
152
152
  architecture: x86
@@ -171,18 +171,18 @@ jobs:
171
171
  fail-fast: false
172
172
  matrix:
173
173
  python-version:
174
- ["3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
174
+ ["3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
175
175
  timeout-minutes: 30
176
176
  steps:
177
177
  - uses: actions/checkout@v7
178
178
  - name: Install uv
179
- uses: astral-sh/setup-uv@v8.2.0
179
+ uses: astral-sh/setup-uv@v9.0.0
180
180
  with:
181
181
  enable-cache: true
182
182
  cache-dependency-glob: pyproject.toml
183
183
  cache-suffix: test-windows-arm64-${{ matrix.python-version }}
184
184
  - name: Set up Python ${{ matrix.python-version }}
185
- uses: actions/setup-python@v6
185
+ uses: actions/setup-python@v7
186
186
  with:
187
187
  python-version: ${{ matrix.python-version }}
188
188
  architecture: arm64
@@ -207,11 +207,11 @@ jobs:
207
207
  fail-fast: false
208
208
  matrix:
209
209
  python-version:
210
- ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
210
+ ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
211
211
  timeout-minutes: 30
212
212
  steps:
213
213
  - uses: actions/checkout@v7
214
- - uses: actions/setup-python@v6
214
+ - uses: actions/setup-python@v7
215
215
  with:
216
216
  python-version: ${{ matrix.python-version }}
217
217
  - name: Build wheel
@@ -231,18 +231,18 @@ jobs:
231
231
  fail-fast: false
232
232
  matrix:
233
233
  python-version:
234
- ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-beta.4"]
234
+ ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15.0-rc.1"]
235
235
  timeout-minutes: 30
236
236
  steps:
237
237
  - uses: actions/checkout@v7
238
238
  - name: Install uv
239
- uses: astral-sh/setup-uv@v8.2.0
239
+ uses: astral-sh/setup-uv@v9.0.0
240
240
  with:
241
241
  enable-cache: true
242
242
  cache-dependency-glob: pyproject.toml
243
243
  cache-suffix: test-linux-aarch64-${{ matrix.python-version }}
244
244
  - name: Set up Python ${{ matrix.python-version }}
245
- uses: actions/setup-python@v6
245
+ uses: actions/setup-python@v7
246
246
  with:
247
247
  python-version: ${{ matrix.python-version }}
248
248
  - name: Cache Rust build
@@ -10,9 +10,9 @@ checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa"
10
10
 
11
11
  [[package]]
12
12
  name = "android_system_properties"
13
- version = "0.1.5"
13
+ version = "0.1.6"
14
14
  source = "registry+https://github.com/rust-lang/crates.io-index"
15
- checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
15
+ checksum = "ae221649c9976a6f6c56ae1facf410f3ddb33cc661c4b7b61020a912d4237fbc"
16
16
  dependencies = [
17
17
  "libc",
18
18
  ]
@@ -52,9 +52,9 @@ dependencies = [
52
52
 
53
53
  [[package]]
54
54
  name = "cc"
55
- version = "1.3.0"
55
+ version = "1.4.0"
56
56
  source = "registry+https://github.com/rust-lang/crates.io-index"
57
- checksum = "c89588d05638b5b4594a3348a2d6c20277e43a7f5c5202b05cc56888475a47b8"
57
+ checksum = "5add81bb678e6cb321aff7fa0dc7689ad82b112dbc032cea19f91d6b8e3582b9"
58
58
  dependencies = [
59
59
  "find-msvc-tools",
60
60
  "jobserver",
@@ -81,14 +81,14 @@ dependencies = [
81
81
 
82
82
  [[package]]
83
83
  name = "color"
84
- version = "0.2.1"
84
+ version = "0.2.2"
85
85
  dependencies = [
86
86
  "levels",
87
87
  ]
88
88
 
89
89
  [[package]]
90
90
  name = "compress"
91
- version = "0.2.1"
91
+ version = "0.2.2"
92
92
  dependencies = [
93
93
  "bzip2",
94
94
  "error",
@@ -100,14 +100,14 @@ dependencies = [
100
100
 
101
101
  [[package]]
102
102
  name = "concurrency"
103
- version = "0.2.1"
103
+ version = "0.2.2"
104
104
  dependencies = [
105
105
  "error",
106
106
  ]
107
107
 
108
108
  [[package]]
109
109
  name = "config"
110
- version = "0.2.1"
110
+ version = "0.2.2"
111
111
  dependencies = [
112
112
  "color",
113
113
  "error",
@@ -115,7 +115,7 @@ dependencies = [
115
115
 
116
116
  [[package]]
117
117
  name = "context"
118
- version = "0.2.1"
118
+ version = "0.2.2"
119
119
 
120
120
  [[package]]
121
121
  name = "cookie"
@@ -148,7 +148,7 @@ dependencies = [
148
148
 
149
149
  [[package]]
150
150
  name = "core"
151
- version = "0.2.1"
151
+ version = "0.2.2"
152
152
  dependencies = [
153
153
  "error",
154
154
  "filter",
@@ -181,13 +181,13 @@ checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
181
181
 
182
182
  [[package]]
183
183
  name = "displaydoc"
184
- version = "0.2.6"
184
+ version = "0.2.7"
185
185
  source = "registry+https://github.com/rust-lang/crates.io-index"
186
- checksum = "1ac70aa55017e108007fbaf5aa0f54b021c98f92ff8af59d42eda9da96e3dd4f"
186
+ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8"
187
187
  dependencies = [
188
188
  "proc-macro2",
189
189
  "quote",
190
- "syn 2.0.119",
190
+ "syn 3.0.3",
191
191
  ]
192
192
 
193
193
  [[package]]
@@ -207,11 +207,11 @@ checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f"
207
207
 
208
208
  [[package]]
209
209
  name = "error"
210
- version = "0.2.1"
210
+ version = "0.2.2"
211
211
 
212
212
  [[package]]
213
213
  name = "filter"
214
- version = "0.2.1"
214
+ version = "0.2.2"
215
215
  dependencies = [
216
216
  "error",
217
217
  "levels",
@@ -246,7 +246,7 @@ dependencies = [
246
246
 
247
247
  [[package]]
248
248
  name = "format"
249
- version = "0.2.1"
249
+ version = "0.2.2"
250
250
  dependencies = [
251
251
  "chrono",
252
252
  "error",
@@ -326,9 +326,9 @@ dependencies = [
326
326
 
327
327
  [[package]]
328
328
  name = "http"
329
- version = "1.4.2"
329
+ version = "1.5.0"
330
330
  source = "registry+https://github.com/rust-lang/crates.io-index"
331
- checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
331
+ checksum = "918d3568bebf352712bc2ef3d46a8bcf1a75b373be6539de198e9105cbbf9ce0"
332
332
  dependencies = [
333
333
  "bytes",
334
334
  "itoa",
@@ -506,7 +506,7 @@ dependencies = [
506
506
 
507
507
  [[package]]
508
508
  name = "levels"
509
- version = "0.2.1"
509
+ version = "0.2.2"
510
510
  dependencies = [
511
511
  "error",
512
512
  ]
@@ -543,7 +543,7 @@ checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
543
543
 
544
544
  [[package]]
545
545
  name = "logly"
546
- version = "0.2.1"
546
+ version = "0.2.2"
547
547
  dependencies = [
548
548
  "color",
549
549
  "compress",
@@ -591,7 +591,7 @@ dependencies = [
591
591
 
592
592
  [[package]]
593
593
  name = "network"
594
- version = "0.2.1"
594
+ version = "0.2.2"
595
595
  dependencies = [
596
596
  "chrono",
597
597
  "error",
@@ -674,9 +674,9 @@ dependencies = [
674
674
 
675
675
  [[package]]
676
676
  name = "pyo3"
677
- version = "0.29.0"
677
+ version = "0.29.2"
678
678
  source = "registry+https://github.com/rust-lang/crates.io-index"
679
- checksum = "cd274650b21d4bfc26a0a47587962c1edb425f69287324355cd040c3ea66071c"
679
+ checksum = "4688ddedf473e32662b9b067670129a8afb8c18e351482c70d62ba4a88171e8b"
680
680
  dependencies = [
681
681
  "libc",
682
682
  "once_cell",
@@ -688,18 +688,18 @@ dependencies = [
688
688
 
689
689
  [[package]]
690
690
  name = "pyo3-build-config"
691
- version = "0.29.0"
691
+ version = "0.29.2"
692
692
  source = "registry+https://github.com/rust-lang/crates.io-index"
693
- checksum = "c5e2a7d2f0d013342f295c048ad19237add5154a55b1c5a254c0ec93d4109078"
693
+ checksum = "f41027e41b4bd03f6e60f9f417fe24a6341a6bb744edd62b6f709f2a52ea30e9"
694
694
  dependencies = [
695
695
  "target-lexicon",
696
696
  ]
697
697
 
698
698
  [[package]]
699
699
  name = "pyo3-ffi"
700
- version = "0.29.0"
700
+ version = "0.29.2"
701
701
  source = "registry+https://github.com/rust-lang/crates.io-index"
702
- checksum = "ca85c467da1bbc8d866eea5deff9cf29ea5f7785054a17da36e65bda9c05845b"
702
+ checksum = "e591a95526fead067432c3b3a33fc74770b87b1e04e73671090d9c2055a2b327"
703
703
  dependencies = [
704
704
  "libc",
705
705
  "pyo3-build-config",
@@ -707,9 +707,9 @@ dependencies = [
707
707
 
708
708
  [[package]]
709
709
  name = "pyo3-macros"
710
- version = "0.29.0"
710
+ version = "0.29.2"
711
711
  source = "registry+https://github.com/rust-lang/crates.io-index"
712
- checksum = "9ac53762fd065daa3194dd09337a38bd793a188100fd1a9304c4ab312d901771"
712
+ checksum = "73225868fc1cd84eef2c3c230ddb91273bf1de46aeb8a4248da76d32a0924a1c"
713
713
  dependencies = [
714
714
  "proc-macro2",
715
715
  "pyo3-macros-backend",
@@ -719,9 +719,9 @@ dependencies = [
719
719
 
720
720
  [[package]]
721
721
  name = "pyo3-macros-backend"
722
- version = "0.29.0"
722
+ version = "0.29.2"
723
723
  source = "registry+https://github.com/rust-lang/crates.io-index"
724
- checksum = "4ca3a1557399783172dc5bf39cfca835157732532cba56b71d2292161e53b362"
724
+ checksum = "571575aa3749fa6216757dd47d2a3e7ef360f329a40f0666a9fbd14889024952"
725
725
  dependencies = [
726
726
  "heck",
727
727
  "proc-macro2",
@@ -746,7 +746,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
746
746
 
747
747
  [[package]]
748
748
  name = "record"
749
- version = "0.2.1"
749
+ version = "0.2.2"
750
750
  dependencies = [
751
751
  "levels",
752
752
  ]
@@ -767,7 +767,7 @@ dependencies = [
767
767
 
768
768
  [[package]]
769
769
  name = "rotate"
770
- version = "0.2.1"
770
+ version = "0.2.2"
771
771
  dependencies = [
772
772
  "chrono",
773
773
  "config",
@@ -776,9 +776,9 @@ dependencies = [
776
776
 
777
777
  [[package]]
778
778
  name = "rustls"
779
- version = "0.23.42"
779
+ version = "0.23.43"
780
780
  source = "registry+https://github.com/rust-lang/crates.io-index"
781
- checksum = "3c54fcab019b409d04215d3a17cb438fd7fbf192ee61461f20f4fe18704bc138"
781
+ checksum = "0283386ce02abc0151e1761d08802dfe86c173b0b494af5cbc086574e453da06"
782
782
  dependencies = [
783
783
  "log",
784
784
  "once_cell",
@@ -791,9 +791,9 @@ dependencies = [
791
791
 
792
792
  [[package]]
793
793
  name = "rustls-pki-types"
794
- version = "1.15.0"
794
+ version = "1.15.1"
795
795
  source = "registry+https://github.com/rust-lang/crates.io-index"
796
- checksum = "764899a24af3980067ee14bc143654f297b22eaebfe3c7b6b211920a5a59b046"
796
+ checksum = "2f4925028c7eb5d1fcdaf196971378ed9d2c1c4efc7dc5d011256f76c99c0a96"
797
797
  dependencies = [
798
798
  "zeroize",
799
799
  ]
@@ -817,7 +817,7 @@ checksum = "cf54715a573b99ac80df0bc206da022bcd442c974952c7b9720069370852e21f"
817
817
 
818
818
  [[package]]
819
819
  name = "schedule"
820
- version = "0.2.1"
820
+ version = "0.2.2"
821
821
  dependencies = [
822
822
  "error",
823
823
  ]
@@ -879,7 +879,7 @@ checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea"
879
879
 
880
880
  [[package]]
881
881
  name = "sink"
882
- version = "0.2.1"
882
+ version = "0.2.2"
883
883
  dependencies = [
884
884
  "color",
885
885
  "compress",
@@ -907,7 +907,7 @@ checksum = "8ed6a63f02c8539c91a8685a86f4099661ba3da017932f6ebbea6de3f0fa7c90"
907
907
 
908
908
  [[package]]
909
909
  name = "source"
910
- version = "0.2.1"
910
+ version = "0.2.2"
911
911
 
912
912
  [[package]]
913
913
  name = "stable_deref_trait"
@@ -962,9 +962,9 @@ checksum = "adb6935a6f5c20170eeceb1a3835a49e12e19d792f6dd344ccc76a985ca5a6ca"
962
962
 
963
963
  [[package]]
964
964
  name = "time"
965
- version = "0.3.54"
965
+ version = "0.3.55"
966
966
  source = "registry+https://github.com/rust-lang/crates.io-index"
967
- checksum = "3e1d5e639ff6bab73cb6885cc7e7b1de96c3f32c68ec55f3952614bec1092244"
967
+ checksum = "cdb87b95ec50ddfa440816d227a17b2ccbdda963a316a727fda0fc4334f7d134"
968
968
  dependencies = [
969
969
  "deranged",
970
970
  "num-conv",
@@ -1386,9 +1386,9 @@ dependencies = [
1386
1386
 
1387
1387
  [[package]]
1388
1388
  name = "zlib-rs"
1389
- version = "0.6.6"
1389
+ version = "0.6.7"
1390
1390
  source = "registry+https://github.com/rust-lang/crates.io-index"
1391
- checksum = "b142a20ec14a91d5bc708c1dc21b080c550113d8aa77afa29635673a65dd02c5"
1391
+ checksum = "34b31d188d9d685a4f9c7b46d6e36631b07058d2cfe190267adce54dc230bf12"
1392
1392
 
1393
1393
  [[package]]
1394
1394
  name = "zmij"
@@ -3,7 +3,7 @@ members = ["crates/color", "crates/compress", "crates/concurrency", "crates/conf
3
3
  resolver = "2"
4
4
 
5
5
  [workspace.package]
6
- version = "0.2.1"
6
+ version = "0.2.2"
7
7
  edition = "2024"
8
8
  license = "MIT"
9
9
  readme = "README.md"
@@ -30,7 +30,7 @@ sink = { path = "crates/sink" }
30
30
  source = { path = "crates/source" }
31
31
 
32
32
  # Third-party
33
- pyo3 = { version = "0.29.0", features = ["extension-module"] }
33
+ pyo3 = { version = "0.29.2", features = ["extension-module"] }
34
34
  chrono = { version = "0.4", default-features = false, features = ["clock", "std"] }
35
35
  serde = { version = "1", features = ["derive"] }
36
36
  serde_json = "1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: logly
3
- Version: 0.2.1
3
+ Version: 0.2.2
4
4
  Requires-Dist: pydantic>=2.12.5
5
5
  Requires-Dist: typing-extensions>=4.0 ; python_full_version < '3.11'
6
6
  Requires-Dist: rich>=14.2.0 ; extra == 'all'
@@ -189,14 +189,17 @@ A Rust-powered, high-performance logging library for Python with structured sink
189
189
  | **Multiple sinks** | Console, file, callable, and network outputs simultaneously | [Docs](https://muhammad-fiaz.github.io/logly/guides/sinks/) |
190
190
  | **File rotation** | Size-based, time-based, clock-based, and weekday rotation | [Docs](https://muhammad-fiaz.github.io/logly/guides/rotation-retention-compression/) |
191
191
  | **Compression** | gzip, zip, bz2, xz, zstd with tar-compatible aliases | [Docs](https://muhammad-fiaz.github.io/logly/guides/rotation-retention-compression/) |
192
- | **JSON logging** | Structured JSON output for storage and analysis | [Docs](https://muhammad-fiaz.github.io/logly/guides/formatting/) |
192
+ | **JSON logging** | Structured JSON output with file, line, function, module fields | [Docs](https://muhammad-fiaz.github.io/logly/guides/formatting/) |
193
193
  | **Context binding** | Attach persistent key-value pairs to logs | [Docs](https://muhammad-fiaz.github.io/logly/guides/context-binding/) |
194
194
  | **Exception catching** | `catch()` decorator and context manager | [Docs](https://muhammad-fiaz.github.io/logly/guides/exception-handling/) |
195
195
  | **Background workers** | Non-blocking writes with `enqueue=True` | [Docs](https://muhammad-fiaz.github.io/logly/guides/queue-async/) |
196
+ | **Async sinks** | Async functions, class-based async callables, functools.partial | [Docs](https://muhammad-fiaz.github.io/logly/guides/async-sinks/) |
197
+ | **Rich markup** | Parse `<tag>` and `[tag]` syntax into ANSI escape codes | [Docs](https://muhammad-fiaz.github.io/logly/guides/color-markup/) |
198
+ | **Batch HTTP sink** | Rust-native batched HTTP JSON for high-throughput logging | [Docs](https://muhammad-fiaz.github.io/logly/guides/async-sinks/) |
199
+ | **Network sinks** | HTTP, TCP, UDP, Syslog (RFC 3164/5424) | [Docs](https://muhammad-fiaz.github.io/logly/guides/network-logging/) |
200
+ | **Source location** | Automatic capture of file, line, function, module | [Docs](https://muhammad-fiaz.github.io/logly/guides/source-location/) |
196
201
  | **40+ integrations** | FastAPI, Django, Flask, Rich, Redis, Kafka, and more | [Docs](https://muhammad-fiaz.github.io/logly/integrations/) |
197
202
  | **Thread-safe** | Safe concurrent logging from multiple threads | [Docs](https://muhammad-fiaz.github.io/logly/guides/concurrency/) |
198
- | **Source location** | Optional clickable `file:line` output | [Docs](https://muhammad-fiaz.github.io/logly/guides/source-location/) |
199
- | **Network logging** | HTTP, TCP, UDP, Syslog sinks | [Docs](https://muhammad-fiaz.github.io/logly/guides/network-logging/) |
200
203
  | **Color themes** | Custom ANSI color themes per level | [Docs](https://muhammad-fiaz.github.io/logly/guides/custom-colors/) |
201
204
  | **Independent loggers** | Separate sink sets per logger instance | [Docs](https://muhammad-fiaz.github.io/logly/guides/independent-loggers/) |
202
205
 
@@ -497,6 +500,72 @@ from logly import logger
497
500
  logger.opt(lazy=True).debug("Result: {}", lambda: expensive_computation())
498
501
  ```
499
502
 
503
+ ### Async Sinks
504
+
505
+ ```python
506
+ import asyncio
507
+ from logly import logger
508
+
509
+
510
+ # Async function sink
511
+ async def cloud_sink(message: str) -> None:
512
+ await send_to_cloud(message)
513
+
514
+
515
+ # Async class-based sink
516
+ class AsyncDBSink:
517
+ def __init__(self, db_url: str):
518
+ self.db_url = db_url
519
+
520
+ async def __call__(self, message: str) -> None:
521
+ await insert_into_db(self.db_url, message)
522
+
523
+
524
+ async def main():
525
+ logger.add(cloud_sink, level="WARNING")
526
+ logger.add(AsyncDBSink("postgresql://localhost/logs"), level="ERROR")
527
+ logger.warning("Sent to cloud")
528
+ logger.error("Sent to both cloud and database")
529
+ logger.complete()
530
+
531
+
532
+ asyncio.run(main())
533
+ ```
534
+
535
+ ### Rich Markup
536
+
537
+ ```python
538
+ from logly import logger, parse_rich_markup
539
+
540
+ # Loguru-style angle bracket syntax
541
+ logger.info("<bold>Important</bold> message")
542
+ logger.error("<red>Error:</red> something went wrong")
543
+ logger.info("<bold, cyan>Combined styles</bold, cyan>")
544
+
545
+ # Rich-style bracket syntax
546
+ logger.info("[red]Error[/red] occurred")
547
+ logger.info("[bold green on white]Success[/bold green on white]")
548
+
549
+ # Parse markup manually
550
+ text = parse_rich_markup("<bold>hello</bold>", colorize=True)
551
+ ```
552
+
553
+ ### Batch HTTP Sink
554
+
555
+ ```python
556
+ from logly import BatchHttpJsonSink, logger
557
+
558
+ sink = BatchHttpJsonSink(
559
+ url="https://logs.example.com/ingest",
560
+ batch_size=100,
561
+ flush_interval=5.0,
562
+ headers={"Authorization": "Bearer token"},
563
+ )
564
+
565
+ logger.add(sink, level="INFO")
566
+ logger.info("This will be batched and sent efficiently")
567
+ ```
568
+
500
569
  For more examples, see the [documentation](https://muhammad-fiaz.github.io/logly/).
501
570
 
502
571
  ---