log-foundry 0.8.1.dev10__tar.gz → 0.8.1.dev12__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.8.1.dev10/README.md → log_foundry-0.8.1.dev12/PKG-INFO +85 -6
- log_foundry-0.8.1.dev10/PKG-INFO → log_foundry-0.8.1.dev12/README.md +48 -43
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/pyproject.toml +4 -4
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/LICENSE +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/__init__.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/api.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/config.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/console.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/context.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/decorator.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/ids.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/model.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/py.typed +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sanitize.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/__init__.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/_batch.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/_chunk.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/_socket.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/_time.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/base.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/callback.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/clickhouse.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/datadog.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/elasticsearch.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/eventhubs.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/file.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/filtering.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/firehose.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/honeycomb.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/http.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/kafka.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/kinesis.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/logging_sink.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/logstash.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/loki.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/mongodb.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/multi.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/nats.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/newrelic.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/postgres.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/pubsub.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/rabbitmq.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/redis.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/sentry.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/sns.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/splunk.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/sqlite.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/sqs.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/stdout.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/syslog.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/transform.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/sinks/util.py +0 -0
- {log_foundry-0.8.1.dev10 → log_foundry-0.8.1.dev12}/src/log_foundry/worker.py +0 -0
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: log-foundry
|
|
3
|
+
Version: 0.8.1.dev12
|
|
4
|
+
Summary: Generate logs for your console and JSON events for downstream consumption.
|
|
5
|
+
License-Expression: MIT
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Author: Andrew Griffith
|
|
8
|
+
Requires-Python: >=3.12
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
+
Provides-Extra: amqp
|
|
14
|
+
Provides-Extra: aws
|
|
15
|
+
Provides-Extra: azure-eventhubs
|
|
16
|
+
Provides-Extra: clickhouse
|
|
17
|
+
Provides-Extra: gcp-pubsub
|
|
18
|
+
Provides-Extra: kafka
|
|
19
|
+
Provides-Extra: mongo
|
|
20
|
+
Provides-Extra: nats
|
|
21
|
+
Provides-Extra: postgres
|
|
22
|
+
Provides-Extra: redis
|
|
23
|
+
Provides-Extra: sentry
|
|
24
|
+
Requires-Dist: azure-eventhub (>=5.11) ; extra == "azure-eventhubs"
|
|
25
|
+
Requires-Dist: boto3 (>=1.43.61) ; extra == "aws"
|
|
26
|
+
Requires-Dist: clickhouse-connect (>=0.7) ; (python_version < "3.15") and (extra == "clickhouse")
|
|
27
|
+
Requires-Dist: confluent-kafka (>=2.0) ; extra == "kafka"
|
|
28
|
+
Requires-Dist: google-cloud-pubsub (>=2.18) ; extra == "gcp-pubsub"
|
|
29
|
+
Requires-Dist: nats-py (>=2.6) ; extra == "nats"
|
|
30
|
+
Requires-Dist: pika (>=1.4.2) ; extra == "amqp"
|
|
31
|
+
Requires-Dist: psycopg[binary] (>=3.1) ; extra == "postgres"
|
|
32
|
+
Requires-Dist: pymongo (>=4.6) ; extra == "mongo"
|
|
33
|
+
Requires-Dist: redis (>=5.0) ; extra == "redis"
|
|
34
|
+
Requires-Dist: sentry-sdk (>=2.66.1) ; extra == "sentry"
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
|
|
1
37
|
# Log Foundry
|
|
2
38
|
|
|
3
39
|
Consistent, structured (JSON) logs for every decorated function call — correlated by shared
|
|
@@ -762,15 +798,52 @@ poetry run ruff check . # lint (line-length 100)
|
|
|
762
798
|
poetry run mypy # typecheck (strict, over src/)
|
|
763
799
|
```
|
|
764
800
|
|
|
765
|
-
**CI** ([`.github/workflows/ci.yml`](.github/workflows/ci.yml)) runs ruff → mypy → pytest on
|
|
766
|
-
every pull request and on push to `main`. A second workflow
|
|
767
|
-
([`spec-lint.yml`](.github/workflows/spec-lint.yml)) lints the design specs under `docs/specs/`.
|
|
768
|
-
|
|
769
801
|
The library uses a src layout (`src/log_foundry/`) with a single concept per module: `config`,
|
|
770
802
|
`ids`, `model`, `context`, `decorator`, `api`, `console`, `worker`, and the `sinks/` package (the
|
|
771
803
|
`base` protocol, `stdout`, and one module per sink family — see [Sinks](#sinks)).
|
|
772
804
|
Deeper design docs live in [`docs/`](docs/) — start with [`docs/architecture.md`](docs/architecture.md).
|
|
773
805
|
|
|
806
|
+
### Continuous integration
|
|
807
|
+
|
|
808
|
+
Every pull request and every push to `main` runs the same set of checks:
|
|
809
|
+
|
|
810
|
+
| Check | Does | Fails the build |
|
|
811
|
+
|---|---|---|
|
|
812
|
+
| [`ci.yml`](.github/workflows/ci.yml) | ruff → mypy → pytest, on 3.12 **and** 3.13 | yes |
|
|
813
|
+
| [`spec-lint.yml`](.github/workflows/spec-lint.yml) | lints the design specs under `docs/specs/` | yes |
|
|
814
|
+
| [`dependency-review.yml`](.github/workflows/dependency-review.yml) | fails a PR that *introduces* a dependency with a known advisory (`moderate`+) | yes |
|
|
815
|
+
| [`zizmor.yml`](.github/workflows/zizmor.yml) | static analysis of the workflow files themselves | no — reports to code scanning |
|
|
816
|
+
| CodeQL | `python` + `actions`, `extended` query suite; also weekly | no — reports to code scanning |
|
|
817
|
+
|
|
818
|
+
CodeQL runs as GitHub's **default setup** — a repository setting, not a workflow file, which is
|
|
819
|
+
why there is no `codeql.yml` here (adding one would disable the default setup and silently stop
|
|
820
|
+
the uploads). The two scanners that don't fail a build report findings to code scanning
|
|
821
|
+
deliberately: the alert count is the verdict there, not the green check mark.
|
|
822
|
+
|
|
823
|
+
[`dependabot.yml`](.github/dependabot.yml) opens scheduled version updates for `pip` and
|
|
824
|
+
`github-actions` on top of the security updates GitHub raises against advisories. Both ecosystems
|
|
825
|
+
use a cooldown so a freshly published release isn't adopted within hours of appearing, and `pip`
|
|
826
|
+
uses `increase-if-necessary` so an update never narrows a floor this library publishes to its
|
|
827
|
+
consumers.
|
|
828
|
+
|
|
829
|
+
## Security
|
|
830
|
+
|
|
831
|
+
Please report a vulnerability through GitHub's **private** reporting rather than a public issue:
|
|
832
|
+
[**open a draft advisory**](https://github.com/agriffi10/log-forge/security/advisories/new).
|
|
833
|
+
[`SECURITY.md`](SECURITY.md) covers what to include and what to expect — an acknowledgement
|
|
834
|
+
within 7 days, an assessment within 30. Fixes land on the latest released minor; there are no
|
|
835
|
+
long-term support branches.
|
|
836
|
+
|
|
837
|
+
Three properties of the supply chain are worth stating, since a logging library sits inside
|
|
838
|
+
everything it instruments:
|
|
839
|
+
|
|
840
|
+
- **Zero runtime dependencies in the core.** A default `pip install log-foundry` pulls in no
|
|
841
|
+
third-party code at all; every sink needing a client sits behind an extra you opt into.
|
|
842
|
+
- **Every action is pinned to a commit SHA**, Dependabot maintains the pins, and every workflow
|
|
843
|
+
declares least-privilege `permissions` instead of inheriting the repository default.
|
|
844
|
+
- **Releases publish over OIDC**, so no PyPI token is stored in the repository — see
|
|
845
|
+
[Releasing](#releasing).
|
|
846
|
+
|
|
774
847
|
## Releasing
|
|
775
848
|
|
|
776
849
|
**The version is never hand-edited.** It is derived from Git tags at build time by
|
|
@@ -792,8 +865,8 @@ pip ignores pre-releases unless you pass `--pre`.
|
|
|
792
865
|
Cutting a release is one tag:
|
|
793
866
|
|
|
794
867
|
```bash
|
|
795
|
-
git tag -a v0.
|
|
796
|
-
git push origin v0.
|
|
868
|
+
git tag -a v0.9.0 -m "log-foundry 0.9.0"
|
|
869
|
+
git push origin v0.9.0
|
|
797
870
|
```
|
|
798
871
|
|
|
799
872
|
Uploads authenticate with PyPI [Trusted Publishing](https://docs.pypi.org/trusted-publishers/)
|
|
@@ -801,6 +874,12 @@ Uploads authenticate with PyPI [Trusted Publishing](https://docs.pypi.org/truste
|
|
|
801
874
|
A tagged build refuses to publish if the derived version doesn't match the tag, and the tagged
|
|
802
875
|
job deliberately omits `skip-existing` so re-pushing an already-published version fails loudly.
|
|
803
876
|
|
|
877
|
+
Every action on this path is pinned to a commit SHA, `pypa/gh-action-pypi-publish` included —
|
|
878
|
+
deliberately off the rolling `release/v1` branch PyPA recommends, because this is the job holding
|
|
879
|
+
`id-token: write` against PyPI and a mutable reference there reaches every consumer's
|
|
880
|
+
`pip install`. Dependabot moves the pins, so they stay maintained rather than frozen.
|
|
881
|
+
|
|
804
882
|
## License
|
|
805
883
|
|
|
806
884
|
[MIT](LICENSE) © Andrew Griffith
|
|
885
|
+
|
|
@@ -1,39 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: log-foundry
|
|
3
|
-
Version: 0.8.1.dev10
|
|
4
|
-
Summary: Generate logs for your console and JSON events for downstream consumption.
|
|
5
|
-
License-Expression: MIT
|
|
6
|
-
License-File: LICENSE
|
|
7
|
-
Author: Andrew Griffith
|
|
8
|
-
Requires-Python: >=3.12
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
-
Provides-Extra: amqp
|
|
14
|
-
Provides-Extra: aws
|
|
15
|
-
Provides-Extra: azure-eventhubs
|
|
16
|
-
Provides-Extra: clickhouse
|
|
17
|
-
Provides-Extra: gcp-pubsub
|
|
18
|
-
Provides-Extra: kafka
|
|
19
|
-
Provides-Extra: mongo
|
|
20
|
-
Provides-Extra: nats
|
|
21
|
-
Provides-Extra: postgres
|
|
22
|
-
Provides-Extra: redis
|
|
23
|
-
Provides-Extra: sentry
|
|
24
|
-
Requires-Dist: azure-eventhub (>=5.11) ; extra == "azure-eventhubs"
|
|
25
|
-
Requires-Dist: boto3 (>=1.34) ; extra == "aws"
|
|
26
|
-
Requires-Dist: clickhouse-connect (>=0.7) ; (python_version < "3.15") and (extra == "clickhouse")
|
|
27
|
-
Requires-Dist: confluent-kafka (>=2.0) ; extra == "kafka"
|
|
28
|
-
Requires-Dist: google-cloud-pubsub (>=2.18) ; extra == "gcp-pubsub"
|
|
29
|
-
Requires-Dist: nats-py (>=2.6) ; extra == "nats"
|
|
30
|
-
Requires-Dist: pika (>=1.3) ; extra == "amqp"
|
|
31
|
-
Requires-Dist: psycopg[binary] (>=3.1) ; extra == "postgres"
|
|
32
|
-
Requires-Dist: pymongo (>=4.6) ; extra == "mongo"
|
|
33
|
-
Requires-Dist: redis (>=5.0) ; extra == "redis"
|
|
34
|
-
Requires-Dist: sentry-sdk (>=2.0) ; extra == "sentry"
|
|
35
|
-
Description-Content-Type: text/markdown
|
|
36
|
-
|
|
37
1
|
# Log Foundry
|
|
38
2
|
|
|
39
3
|
Consistent, structured (JSON) logs for every decorated function call — correlated by shared
|
|
@@ -798,15 +762,52 @@ poetry run ruff check . # lint (line-length 100)
|
|
|
798
762
|
poetry run mypy # typecheck (strict, over src/)
|
|
799
763
|
```
|
|
800
764
|
|
|
801
|
-
**CI** ([`.github/workflows/ci.yml`](.github/workflows/ci.yml)) runs ruff → mypy → pytest on
|
|
802
|
-
every pull request and on push to `main`. A second workflow
|
|
803
|
-
([`spec-lint.yml`](.github/workflows/spec-lint.yml)) lints the design specs under `docs/specs/`.
|
|
804
|
-
|
|
805
765
|
The library uses a src layout (`src/log_foundry/`) with a single concept per module: `config`,
|
|
806
766
|
`ids`, `model`, `context`, `decorator`, `api`, `console`, `worker`, and the `sinks/` package (the
|
|
807
767
|
`base` protocol, `stdout`, and one module per sink family — see [Sinks](#sinks)).
|
|
808
768
|
Deeper design docs live in [`docs/`](docs/) — start with [`docs/architecture.md`](docs/architecture.md).
|
|
809
769
|
|
|
770
|
+
### Continuous integration
|
|
771
|
+
|
|
772
|
+
Every pull request and every push to `main` runs the same set of checks:
|
|
773
|
+
|
|
774
|
+
| Check | Does | Fails the build |
|
|
775
|
+
|---|---|---|
|
|
776
|
+
| [`ci.yml`](.github/workflows/ci.yml) | ruff → mypy → pytest, on 3.12 **and** 3.13 | yes |
|
|
777
|
+
| [`spec-lint.yml`](.github/workflows/spec-lint.yml) | lints the design specs under `docs/specs/` | yes |
|
|
778
|
+
| [`dependency-review.yml`](.github/workflows/dependency-review.yml) | fails a PR that *introduces* a dependency with a known advisory (`moderate`+) | yes |
|
|
779
|
+
| [`zizmor.yml`](.github/workflows/zizmor.yml) | static analysis of the workflow files themselves | no — reports to code scanning |
|
|
780
|
+
| CodeQL | `python` + `actions`, `extended` query suite; also weekly | no — reports to code scanning |
|
|
781
|
+
|
|
782
|
+
CodeQL runs as GitHub's **default setup** — a repository setting, not a workflow file, which is
|
|
783
|
+
why there is no `codeql.yml` here (adding one would disable the default setup and silently stop
|
|
784
|
+
the uploads). The two scanners that don't fail a build report findings to code scanning
|
|
785
|
+
deliberately: the alert count is the verdict there, not the green check mark.
|
|
786
|
+
|
|
787
|
+
[`dependabot.yml`](.github/dependabot.yml) opens scheduled version updates for `pip` and
|
|
788
|
+
`github-actions` on top of the security updates GitHub raises against advisories. Both ecosystems
|
|
789
|
+
use a cooldown so a freshly published release isn't adopted within hours of appearing, and `pip`
|
|
790
|
+
uses `increase-if-necessary` so an update never narrows a floor this library publishes to its
|
|
791
|
+
consumers.
|
|
792
|
+
|
|
793
|
+
## Security
|
|
794
|
+
|
|
795
|
+
Please report a vulnerability through GitHub's **private** reporting rather than a public issue:
|
|
796
|
+
[**open a draft advisory**](https://github.com/agriffi10/log-forge/security/advisories/new).
|
|
797
|
+
[`SECURITY.md`](SECURITY.md) covers what to include and what to expect — an acknowledgement
|
|
798
|
+
within 7 days, an assessment within 30. Fixes land on the latest released minor; there are no
|
|
799
|
+
long-term support branches.
|
|
800
|
+
|
|
801
|
+
Three properties of the supply chain are worth stating, since a logging library sits inside
|
|
802
|
+
everything it instruments:
|
|
803
|
+
|
|
804
|
+
- **Zero runtime dependencies in the core.** A default `pip install log-foundry` pulls in no
|
|
805
|
+
third-party code at all; every sink needing a client sits behind an extra you opt into.
|
|
806
|
+
- **Every action is pinned to a commit SHA**, Dependabot maintains the pins, and every workflow
|
|
807
|
+
declares least-privilege `permissions` instead of inheriting the repository default.
|
|
808
|
+
- **Releases publish over OIDC**, so no PyPI token is stored in the repository — see
|
|
809
|
+
[Releasing](#releasing).
|
|
810
|
+
|
|
810
811
|
## Releasing
|
|
811
812
|
|
|
812
813
|
**The version is never hand-edited.** It is derived from Git tags at build time by
|
|
@@ -828,8 +829,8 @@ pip ignores pre-releases unless you pass `--pre`.
|
|
|
828
829
|
Cutting a release is one tag:
|
|
829
830
|
|
|
830
831
|
```bash
|
|
831
|
-
git tag -a v0.
|
|
832
|
-
git push origin v0.
|
|
832
|
+
git tag -a v0.9.0 -m "log-foundry 0.9.0"
|
|
833
|
+
git push origin v0.9.0
|
|
833
834
|
```
|
|
834
835
|
|
|
835
836
|
Uploads authenticate with PyPI [Trusted Publishing](https://docs.pypi.org/trusted-publishers/)
|
|
@@ -837,7 +838,11 @@ Uploads authenticate with PyPI [Trusted Publishing](https://docs.pypi.org/truste
|
|
|
837
838
|
A tagged build refuses to publish if the derived version doesn't match the tag, and the tagged
|
|
838
839
|
job deliberately omits `skip-existing` so re-pushing an already-published version fails loudly.
|
|
839
840
|
|
|
841
|
+
Every action on this path is pinned to a commit SHA, `pypa/gh-action-pypi-publish` included —
|
|
842
|
+
deliberately off the rolling `release/v1` branch PyPA recommends, because this is the job holding
|
|
843
|
+
`id-token: write` against PyPI and a mutable reference there reaches every consumer's
|
|
844
|
+
`pip install`. Dependabot moves the pins, so they stay maintained rather than frozen.
|
|
845
|
+
|
|
840
846
|
## License
|
|
841
847
|
|
|
842
848
|
[MIT](LICENSE) © Andrew Griffith
|
|
843
|
-
|
|
@@ -20,14 +20,14 @@ dependencies = [
|
|
|
20
20
|
]
|
|
21
21
|
|
|
22
22
|
# Optional features. Install with: pip install log-foundry[aws]
|
|
23
|
-
version = "0.8.1.
|
|
23
|
+
version = "0.8.1.dev12"
|
|
24
24
|
|
|
25
25
|
[project.optional-dependencies]
|
|
26
|
-
aws = ["boto3>=1.
|
|
27
|
-
sentry = ["sentry-sdk>=2.
|
|
26
|
+
aws = ["boto3>=1.43.61"] # SQSSink, SNSSink, KinesisSink, FirehoseSink
|
|
27
|
+
sentry = ["sentry-sdk>=2.66.1"]
|
|
28
28
|
kafka = ["confluent-kafka>=2.0"]
|
|
29
29
|
redis = ["redis>=5.0"]
|
|
30
|
-
amqp = ["pika>=1.
|
|
30
|
+
amqp = ["pika>=1.4.2"]
|
|
31
31
|
nats = ["nats-py>=2.6"]
|
|
32
32
|
gcp-pubsub = ["google-cloud-pubsub>=2.18"]
|
|
33
33
|
azure-eventhubs = ["azure-eventhub>=5.11"]
|
|
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
|
|
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
|