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.
- {log_foundry-0.0.2.dev2.dist-info → log_foundry-0.1.1.dev1.dist-info}/METADATA +49 -13
- {log_foundry-0.0.2.dev2.dist-info → log_foundry-0.1.1.dev1.dist-info}/RECORD +4 -4
- {log_foundry-0.0.2.dev2.dist-info → log_foundry-0.1.1.dev1.dist-info}/WHEEL +0 -0
- {log_foundry-0.0.2.dev2.dist-info → log_foundry-0.1.1.dev1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: log-foundry
|
|
3
|
-
Version: 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-
|
|
63
|
+
Published on PyPI as **[`log-foundry`](https://pypi.org/project/log-foundry/)**:
|
|
64
64
|
|
|
65
65
|
```bash
|
|
66
|
-
|
|
67
|
-
|
|
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
|
-
|
|
70
|
-
poetry install -E aws # or: pip install '.[aws]'
|
|
79
|
+
print(log_forge.__version__) # the installed version
|
|
71
80
|
```
|
|
72
81
|
|
|
73
|
-
|
|
82
|
+
To work on the library itself, install from a clone:
|
|
74
83
|
|
|
75
84
|
```bash
|
|
76
|
-
|
|
77
|
-
|
|
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.
|
|
49
|
-
log_foundry-0.
|
|
50
|
-
log_foundry-0.
|
|
51
|
-
log_foundry-0.
|
|
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,,
|
|
File without changes
|
|
File without changes
|