log-foundry 0.10.2.dev86__tar.gz → 0.10.2.dev87__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.
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/PKG-INFO +18 -9
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/README.md +17 -8
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/pyproject.toml +8 -1
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/LICENSE +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/__init__.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/_diag.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/_fork.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/_lifecycle.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/api.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/config.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/console.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/context.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/decorator.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/ids.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/model.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/py.typed +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/results.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sanitize.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/__init__.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/_batch.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/_chunk.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/_retry.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/_socket.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/_time.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/base.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/callback.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/clickhouse.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/datadog.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/elasticsearch.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/eventhubs.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/file.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/filtering.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/firehose.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/honeycomb.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/http.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/kafka.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/kinesis.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/logging_sink.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/logstash.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/loki.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/memory.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/mongodb.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/multi.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/nats.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/newrelic.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/null.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/postgres.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/pubsub.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/rabbitmq.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/redis.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/sentry.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/sns.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/splunk.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/sqlite.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/sqs.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/stdout.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/syslog.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/transform.py +0 -0
- {log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/worker.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: log-foundry
|
|
3
|
-
Version: 0.10.2.
|
|
3
|
+
Version: 0.10.2.dev87
|
|
4
4
|
Summary: Generate logs for your console and JSON events for downstream consumption.
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -1308,15 +1308,24 @@ Deeper design docs live in [`docs/`](docs/) — start with [`docs/architecture.m
|
|
|
1308
1308
|
|
|
1309
1309
|
### Continuous integration
|
|
1310
1310
|
|
|
1311
|
-
Every pull request
|
|
1311
|
+
Every pull request runs the checks below. A check whose verdict cannot change on the tree in
|
|
1312
|
+
front of it is path-filtered rather than run to the same answer twice, so the *When* column is
|
|
1313
|
+
part of the contract:
|
|
1312
1314
|
|
|
1313
|
-
| Check | Does | Fails the build |
|
|
1314
|
-
|
|
1315
|
-
| [`ci.yml`](.github/workflows/ci.yml) | ruff → mypy → pytest, on 3.12 **and** 3.13 | yes |
|
|
1316
|
-
| [`spec-lint.yml`](.github/workflows/spec-lint.yml) | lints the design specs under `docs/specs/` | yes |
|
|
1317
|
-
| [`dependency-review.yml`](.github/workflows/dependency-review.yml) | fails a PR that *introduces* a dependency with a known advisory (`moderate`+) | yes |
|
|
1318
|
-
| [`zizmor.yml`](.github/workflows/zizmor.yml) | static analysis of the workflow files themselves | no — reports to code scanning |
|
|
1319
|
-
| CodeQL | `python` + `actions`, `extended` query suite; also weekly | no — reports to code scanning |
|
|
1315
|
+
| Check | Does | When | Fails the build |
|
|
1316
|
+
|---|---|---|---|
|
|
1317
|
+
| [`ci.yml`](.github/workflows/ci.yml) | ruff → mypy → pytest, on 3.12 **and** 3.13 | every PR | yes |
|
|
1318
|
+
| [`spec-lint.yml`](.github/workflows/spec-lint.yml) | lints the design specs under `docs/specs/` | specs touched | yes |
|
|
1319
|
+
| [`dependency-review.yml`](.github/workflows/dependency-review.yml) | fails a PR that *introduces* a dependency with a known advisory (`moderate`+) | every PR | yes |
|
|
1320
|
+
| [`zizmor.yml`](.github/workflows/zizmor.yml) | static analysis of the workflow files themselves | workflow, action, dependabot or zizmor config touched; also weekly | no — reports to code scanning |
|
|
1321
|
+
| CodeQL | `python` + `actions`, `extended` query suite; also weekly | every PR | no — reports to code scanning |
|
|
1322
|
+
|
|
1323
|
+
On a push to `main` the full `ci.yml` matrix still runs, but as the first job of
|
|
1324
|
+
[`release.yml`](.github/workflows/release.yml), which `uses:` this same workflow before it is
|
|
1325
|
+
allowed to publish — so on main the checks are listed under the *Release* workflow, named
|
|
1326
|
+
`test / test (py3.12)` and `test / test (py3.13)`. `ci.yml` deliberately carries no `push`
|
|
1327
|
+
trigger of its own; it had one, and the result was that every merge ran the identical matrix
|
|
1328
|
+
twice. A `v*` tag is gated the same way, by that same reusable call.
|
|
1320
1329
|
|
|
1321
1330
|
CodeQL runs as GitHub's **default setup** — a repository setting, not a workflow file, which is
|
|
1322
1331
|
why there is no `codeql.yml` here (adding one would disable the default setup and silently stop
|
|
@@ -1272,15 +1272,24 @@ Deeper design docs live in [`docs/`](docs/) — start with [`docs/architecture.m
|
|
|
1272
1272
|
|
|
1273
1273
|
### Continuous integration
|
|
1274
1274
|
|
|
1275
|
-
Every pull request
|
|
1275
|
+
Every pull request runs the checks below. A check whose verdict cannot change on the tree in
|
|
1276
|
+
front of it is path-filtered rather than run to the same answer twice, so the *When* column is
|
|
1277
|
+
part of the contract:
|
|
1276
1278
|
|
|
1277
|
-
| Check | Does | Fails the build |
|
|
1278
|
-
|
|
1279
|
-
| [`ci.yml`](.github/workflows/ci.yml) | ruff → mypy → pytest, on 3.12 **and** 3.13 | yes |
|
|
1280
|
-
| [`spec-lint.yml`](.github/workflows/spec-lint.yml) | lints the design specs under `docs/specs/` | yes |
|
|
1281
|
-
| [`dependency-review.yml`](.github/workflows/dependency-review.yml) | fails a PR that *introduces* a dependency with a known advisory (`moderate`+) | yes |
|
|
1282
|
-
| [`zizmor.yml`](.github/workflows/zizmor.yml) | static analysis of the workflow files themselves | no — reports to code scanning |
|
|
1283
|
-
| CodeQL | `python` + `actions`, `extended` query suite; also weekly | no — reports to code scanning |
|
|
1279
|
+
| Check | Does | When | Fails the build |
|
|
1280
|
+
|---|---|---|---|
|
|
1281
|
+
| [`ci.yml`](.github/workflows/ci.yml) | ruff → mypy → pytest, on 3.12 **and** 3.13 | every PR | yes |
|
|
1282
|
+
| [`spec-lint.yml`](.github/workflows/spec-lint.yml) | lints the design specs under `docs/specs/` | specs touched | yes |
|
|
1283
|
+
| [`dependency-review.yml`](.github/workflows/dependency-review.yml) | fails a PR that *introduces* a dependency with a known advisory (`moderate`+) | every PR | yes |
|
|
1284
|
+
| [`zizmor.yml`](.github/workflows/zizmor.yml) | static analysis of the workflow files themselves | workflow, action, dependabot or zizmor config touched; also weekly | no — reports to code scanning |
|
|
1285
|
+
| CodeQL | `python` + `actions`, `extended` query suite; also weekly | every PR | no — reports to code scanning |
|
|
1286
|
+
|
|
1287
|
+
On a push to `main` the full `ci.yml` matrix still runs, but as the first job of
|
|
1288
|
+
[`release.yml`](.github/workflows/release.yml), which `uses:` this same workflow before it is
|
|
1289
|
+
allowed to publish — so on main the checks are listed under the *Release* workflow, named
|
|
1290
|
+
`test / test (py3.12)` and `test / test (py3.13)`. `ci.yml` deliberately carries no `push`
|
|
1291
|
+
trigger of its own; it had one, and the result was that every merge ran the identical matrix
|
|
1292
|
+
twice. A `v*` tag is gated the same way, by that same reusable call.
|
|
1284
1293
|
|
|
1285
1294
|
CodeQL runs as GitHub's **default setup** — a repository setting, not a workflow file, which is
|
|
1286
1295
|
why there is no `codeql.yml` here (adding one would disable the default setup and silently stop
|
|
@@ -20,7 +20,7 @@ dependencies = [
|
|
|
20
20
|
]
|
|
21
21
|
|
|
22
22
|
# Optional features. Install with: pip install log-foundry[aws]
|
|
23
|
-
version = "0.10.2.
|
|
23
|
+
version = "0.10.2.dev87"
|
|
24
24
|
|
|
25
25
|
[project.optional-dependencies]
|
|
26
26
|
aws = ["boto3>=1.43.61"] # SQSSink, SNSSink, KinesisSink, FirehoseSink
|
|
@@ -63,6 +63,13 @@ exclude = [
|
|
|
63
63
|
pytest = "^9.0"
|
|
64
64
|
pytest-asyncio = "^1.4.0" # for testing async @trace (guide Phase 8)
|
|
65
65
|
pytest-cov = "^7.1.0"
|
|
66
|
+
# The suite is sleep-bound, not CPU-bound: 1,871 tests spend ~116 s of wall clock at 7%
|
|
67
|
+
# CPU, because the bounds this library promises (a 30 s shutdown budget, a backoff, a
|
|
68
|
+
# wedged drain) are proved by waiting for them. Two tests block 30 s each. Distributing
|
|
69
|
+
# across processes therefore buys almost the whole wall clock back — measured 125.9 s ->
|
|
70
|
+
# 40.8 s at `-n 8 --dist load` — where caching the dependency install could only ever
|
|
71
|
+
# save the 18 s that install takes.
|
|
72
|
+
pytest-xdist = "^3.8"
|
|
66
73
|
# Bounded to a minor, not left open. Ruff's DEFAULT rule set is not stable across minors —
|
|
67
74
|
# 0.16.0 widened it from 59 rules to 413 — so an open constraint lets a release change what
|
|
68
75
|
# CI enforces. `[tool.ruff.lint] select` below is the other half: the bound makes the change
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{log_foundry-0.10.2.dev86 → log_foundry-0.10.2.dev87}/src/log_foundry/sinks/elasticsearch.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|