log-foundry 0.1.0__tar.gz → 0.1.1.dev1__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 (51) hide show
  1. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/PKG-INFO +49 -13
  2. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/README.md +48 -12
  3. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/pyproject.toml +1 -1
  4. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/LICENSE +0 -0
  5. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/__init__.py +0 -0
  6. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/api.py +0 -0
  7. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/config.py +0 -0
  8. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/console.py +0 -0
  9. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/context.py +0 -0
  10. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/decorator.py +0 -0
  11. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/ids.py +0 -0
  12. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/model.py +0 -0
  13. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/py.typed +0 -0
  14. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/__init__.py +0 -0
  15. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/_chunk.py +0 -0
  16. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/_socket.py +0 -0
  17. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/_time.py +0 -0
  18. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/base.py +0 -0
  19. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/callback.py +0 -0
  20. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/clickhouse.py +0 -0
  21. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/datadog.py +0 -0
  22. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/elasticsearch.py +0 -0
  23. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/eventhubs.py +0 -0
  24. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/file.py +0 -0
  25. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/filtering.py +0 -0
  26. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/firehose.py +0 -0
  27. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/honeycomb.py +0 -0
  28. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/http.py +0 -0
  29. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/kafka.py +0 -0
  30. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/kinesis.py +0 -0
  31. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/logging_sink.py +0 -0
  32. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/logstash.py +0 -0
  33. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/loki.py +0 -0
  34. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/mongodb.py +0 -0
  35. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/multi.py +0 -0
  36. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/nats.py +0 -0
  37. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/newrelic.py +0 -0
  38. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/postgres.py +0 -0
  39. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/pubsub.py +0 -0
  40. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/rabbitmq.py +0 -0
  41. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/redis.py +0 -0
  42. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/sentry.py +0 -0
  43. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/sns.py +0 -0
  44. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/splunk.py +0 -0
  45. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/sqlite.py +0 -0
  46. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/sqs.py +0 -0
  47. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/stdout.py +0 -0
  48. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/syslog.py +0 -0
  49. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/transform.py +0 -0
  50. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/sinks/util.py +0 -0
  51. {log_foundry-0.1.0 → log_foundry-0.1.1.dev1}/src/log_forge/worker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: log-foundry
3
- Version: 0.1.0
3
+ Version: 0.1.1.dev1
4
4
  Summary: Generate logs for your console and JSON events for downstream consumption.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -60,27 +60,33 @@ calls form a tree you can query later.
60
60
 
61
61
  ## Installation
62
62
 
63
- `log-forge` is not yet published to PyPI. Install from source:
63
+ Published on PyPI as **[`log-foundry`](https://pypi.org/project/log-foundry/)**:
64
64
 
65
65
  ```bash
66
- # from a clone of this repo
67
- poetry install # or: pip install .
66
+ pip install log-foundry # core, zero dependencies
67
+ pip install 'log-foundry[aws]' # + boto3 for the SQS/SNS/Kinesis/Firehose sinks
68
+ ```
69
+
70
+ > **The install name and the import name differ.** You `pip install log-foundry`, then
71
+ > `import log_forge`. PyPI rejects `log-forge` as too similar to the unrelated, pre-existing
72
+ > [`logforge`](https://pypi.org/project/logforge/) project — its similarity check collapses
73
+ > separators, so `log-forge` and `logforge` count as the same name. Only the distribution name
74
+ > moved; no module or API was renamed.
75
+
76
+ ```python
77
+ import log_forge
68
78
 
69
- # with an optional sink extra (e.g. the AWS sinks)
70
- poetry install -E aws # or: pip install '.[aws]'
79
+ print(log_forge.__version__) # the installed version
71
80
  ```
72
81
 
73
- Once published, the intended install will be:
82
+ To work on the library itself, install from a clone:
74
83
 
75
84
  ```bash
76
- pip install log-foundry # core, zero dependencies
77
- pip install 'log-foundry[aws]' # + boto3 for the SQS/SNS/Kinesis/Firehose sinks
85
+ # the version is derived from Git tags, so clone with history (not --depth 1)
86
+ poetry self add "poetry-dynamic-versioning[plugin]" # one-time, resolves the version locally
87
+ poetry install --with dev # or: pip install -e .
78
88
  ```
79
89
 
80
- > **Note the name split.** The distribution is **`log-foundry`** on PyPI, but the import name
81
- > stays **`log_forge`** — `pip install log-foundry`, then `import log_forge`. PyPI rejects
82
- > `log-forge` as too similar to the unrelated, pre-existing `logforge` project.
83
-
84
90
  ### Optional extras
85
91
 
86
92
  The core is dependency-free. Each sink built on a third-party client lives behind its own extra
@@ -531,6 +537,36 @@ The library uses a src layout (`src/log_forge/`) with a single concept per modul
531
537
  `base` protocol, `stdout`, and one module per sink family — see [Sinks](#sinks)).
532
538
  Deeper design docs live in [`docs/`](docs/) — start with [`docs/architecture.md`](docs/architecture.md).
533
539
 
540
+ ## Releasing
541
+
542
+ **The version is never hand-edited.** It is derived from Git tags at build time by
543
+ `poetry-dynamic-versioning`, so `pyproject.toml` carries no literal version and the published
544
+ number can't drift from what Git says.
545
+
546
+ [`release.yml`](.github/workflows/release.yml) reuses the CI suite as a gate, then builds an
547
+ sdist and a wheel:
548
+
549
+ | Trigger | Version built | Published to PyPI as |
550
+ |---|---|---|
551
+ | merge to `main` | `0.1.1.devN` | dev pre-release |
552
+ | push tag `v0.1.0` | `0.1.0` | stable release |
553
+
554
+ Dev pre-releases keep the upload path exercised on every merge, so a real release is never the
555
+ first time it runs. `pip install log-foundry` still resolves to the latest **stable** version —
556
+ pip ignores pre-releases unless you pass `--pre`.
557
+
558
+ Cutting a release is one tag:
559
+
560
+ ```bash
561
+ git tag -a v0.2.0 -m "log-forge 0.2.0"
562
+ git push origin v0.2.0
563
+ ```
564
+
565
+ Uploads authenticate with PyPI [Trusted Publishing](https://docs.pypi.org/trusted-publishers/)
566
+ (OIDC) through the `pypi` GitHub Environment — there is no API token stored in the repository.
567
+ A tagged build refuses to publish if the derived version doesn't match the tag, and the tagged
568
+ job deliberately omits `skip-existing` so re-pushing an already-published version fails loudly.
569
+
534
570
  ## License
535
571
 
536
572
  [MIT](LICENSE) © Andrew Griffith
@@ -25,27 +25,33 @@ calls form a tree you can query later.
25
25
 
26
26
  ## Installation
27
27
 
28
- `log-forge` is not yet published to PyPI. Install from source:
28
+ Published on PyPI as **[`log-foundry`](https://pypi.org/project/log-foundry/)**:
29
29
 
30
30
  ```bash
31
- # from a clone of this repo
32
- poetry install # or: pip install .
31
+ pip install log-foundry # core, zero dependencies
32
+ pip install 'log-foundry[aws]' # + boto3 for the SQS/SNS/Kinesis/Firehose sinks
33
+ ```
34
+
35
+ > **The install name and the import name differ.** You `pip install log-foundry`, then
36
+ > `import log_forge`. PyPI rejects `log-forge` as too similar to the unrelated, pre-existing
37
+ > [`logforge`](https://pypi.org/project/logforge/) project — its similarity check collapses
38
+ > separators, so `log-forge` and `logforge` count as the same name. Only the distribution name
39
+ > moved; no module or API was renamed.
40
+
41
+ ```python
42
+ import log_forge
33
43
 
34
- # with an optional sink extra (e.g. the AWS sinks)
35
- poetry install -E aws # or: pip install '.[aws]'
44
+ print(log_forge.__version__) # the installed version
36
45
  ```
37
46
 
38
- Once published, the intended install will be:
47
+ To work on the library itself, install from a clone:
39
48
 
40
49
  ```bash
41
- pip install log-foundry # core, zero dependencies
42
- pip install 'log-foundry[aws]' # + boto3 for the SQS/SNS/Kinesis/Firehose sinks
50
+ # the version is derived from Git tags, so clone with history (not --depth 1)
51
+ poetry self add "poetry-dynamic-versioning[plugin]" # one-time, resolves the version locally
52
+ poetry install --with dev # or: pip install -e .
43
53
  ```
44
54
 
45
- > **Note the name split.** The distribution is **`log-foundry`** on PyPI, but the import name
46
- > stays **`log_forge`** — `pip install log-foundry`, then `import log_forge`. PyPI rejects
47
- > `log-forge` as too similar to the unrelated, pre-existing `logforge` project.
48
-
49
55
  ### Optional extras
50
56
 
51
57
  The core is dependency-free. Each sink built on a third-party client lives behind its own extra
@@ -496,6 +502,36 @@ The library uses a src layout (`src/log_forge/`) with a single concept per modul
496
502
  `base` protocol, `stdout`, and one module per sink family — see [Sinks](#sinks)).
497
503
  Deeper design docs live in [`docs/`](docs/) — start with [`docs/architecture.md`](docs/architecture.md).
498
504
 
505
+ ## Releasing
506
+
507
+ **The version is never hand-edited.** It is derived from Git tags at build time by
508
+ `poetry-dynamic-versioning`, so `pyproject.toml` carries no literal version and the published
509
+ number can't drift from what Git says.
510
+
511
+ [`release.yml`](.github/workflows/release.yml) reuses the CI suite as a gate, then builds an
512
+ sdist and a wheel:
513
+
514
+ | Trigger | Version built | Published to PyPI as |
515
+ |---|---|---|
516
+ | merge to `main` | `0.1.1.devN` | dev pre-release |
517
+ | push tag `v0.1.0` | `0.1.0` | stable release |
518
+
519
+ Dev pre-releases keep the upload path exercised on every merge, so a real release is never the
520
+ first time it runs. `pip install log-foundry` still resolves to the latest **stable** version —
521
+ pip ignores pre-releases unless you pass `--pre`.
522
+
523
+ Cutting a release is one tag:
524
+
525
+ ```bash
526
+ git tag -a v0.2.0 -m "log-forge 0.2.0"
527
+ git push origin v0.2.0
528
+ ```
529
+
530
+ Uploads authenticate with PyPI [Trusted Publishing](https://docs.pypi.org/trusted-publishers/)
531
+ (OIDC) through the `pypi` GitHub Environment — there is no API token stored in the repository.
532
+ A tagged build refuses to publish if the derived version doesn't match the tag, and the tagged
533
+ job deliberately omits `skip-existing` so re-pushing an already-published version fails loudly.
534
+
499
535
  ## License
500
536
 
501
537
  [MIT](LICENSE) © Andrew Griffith
@@ -16,7 +16,7 @@ dependencies = [
16
16
  ]
17
17
 
18
18
  # Optional features. Install with: pip install log-foundry[aws]
19
- version = "0.1.0"
19
+ version = "0.1.1.dev1"
20
20
 
21
21
  [project.optional-dependencies]
22
22
  aws = ["boto3>=1.34"] # SQSSink, SNSSink, KinesisSink, FirehoseSink
File without changes