log-foundry 0.0.2.dev2__py3-none-any.whl → 0.1.1.dev1__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: log-foundry
3
- Version: 0.0.2.dev2
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
@@ -45,7 +45,7 @@ log_forge/sinks/syslog.py,sha256=-R07BvJOMy2NvWIn230ITliBvs9AKEAh7XtVsG00lUY,337
45
45
  log_forge/sinks/transform.py,sha256=23JPfHF_4bHLuwBRkimuJAX1W0qnmkzcUFtL0zbpTNY,1609
46
46
  log_forge/sinks/util.py,sha256=2-p1ufDFKDaKrCGj-oSrGbzFq7XqgEpelAn9gThspsU,2751
47
47
  log_forge/worker.py,sha256=3TVAeap50AazKXzZ120zpJy5uEzMZAhwQH_k0vh_RyI,6683
48
- log_foundry-0.0.2.dev2.dist-info/METADATA,sha256=wJmiToJgDSETBeFaWxIAMr17MW0lpoKo8In99kxfUbM,28764
49
- log_foundry-0.0.2.dev2.dist-info/WHEEL,sha256=eY7nduwzv-ldUxpzbRlxwvC693Hg6PX8bWDjEHjZ_dk,88
50
- log_foundry-0.0.2.dev2.dist-info/licenses/LICENSE,sha256=HaCckyCX8P6TR8gY5xyEsFi050Hs2kl-JqaO9Vi0Sw0,1072
51
- log_foundry-0.0.2.dev2.dist-info/RECORD,,
48
+ log_foundry-0.1.1.dev1.dist-info/METADATA,sha256=fRPFtiV_mqMZI7OEgg0bC8mn3Jq-iNKj6uJtMuycOFE,30327
49
+ log_foundry-0.1.1.dev1.dist-info/WHEEL,sha256=eY7nduwzv-ldUxpzbRlxwvC693Hg6PX8bWDjEHjZ_dk,88
50
+ log_foundry-0.1.1.dev1.dist-info/licenses/LICENSE,sha256=HaCckyCX8P6TR8gY5xyEsFi050Hs2kl-JqaO9Vi0Sw0,1072
51
+ log_foundry-0.1.1.dev1.dist-info/RECORD,,