runspec-webops-core 0.3.0__tar.gz → 0.3.1__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 (19) hide show
  1. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/.gitignore +3 -0
  2. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/CHANGELOG.md +6 -0
  3. runspec_webops_core-0.3.1/PKG-INFO +56 -0
  4. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/README.md +1 -1
  5. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/pyproject.toml +2 -1
  6. runspec_webops_core-0.3.0/PKG-INFO +0 -13
  7. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/runspec_webops_core/__init__.py +0 -0
  8. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/runspec_webops_core/dns.py +0 -0
  9. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/runspec_webops_core/errors.py +0 -0
  10. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/runspec_webops_core/http.py +0 -0
  11. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/runspec_webops_core/openapi.py +0 -0
  12. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/runspec_webops_core/proxy.py +0 -0
  13. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/runspec_webops_core/tls.py +0 -0
  14. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/tests/__init__.py +0 -0
  15. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/tests/test_dns.py +0 -0
  16. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/tests/test_http.py +0 -0
  17. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/tests/test_openapi.py +0 -0
  18. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/tests/test_proxy.py +0 -0
  19. {runspec_webops_core-0.3.0 → runspec_webops_core-0.3.1}/tests/test_tls.py +0 -0
@@ -59,3 +59,6 @@ chainlit-docs/
59
59
 
60
60
  # Stray committed test venv (removed from tracking)
61
61
  .venv-test/
62
+
63
+ # Private gitleaks rules (see .gitleaks.toml)
64
+ .gitleaks.local.toml
@@ -1,5 +1,11 @@
1
1
  # runspec-webops-core Changelog
2
2
 
3
+ ## [0.3.1] — 2026-11-05
4
+
5
+ ### Fixed
6
+
7
+ - The PyPI page shows the README (`pyproject.toml` didn't declare it).
8
+
3
9
  ## [0.3.0] — 2026-09-01
4
10
 
5
11
  ### Added — custom CA bundle for TLS verification
@@ -0,0 +1,56 @@
1
+ Metadata-Version: 2.5
2
+ Name: runspec-webops-core
3
+ Version: 0.3.1
4
+ Summary: Pure-Python HTTPS/TLS certificate + web-endpoint helpers — the importable core behind the runspec web runnables (no runspec dependency, no runnables)
5
+ Requires-Python: >=3.10
6
+ Provides-Extra: dev
7
+ Requires-Dist: mypy; extra == 'dev'
8
+ Requires-Dist: pytest>=8.0; extra == 'dev'
9
+ Requires-Dist: pyyaml>=6.0; extra == 'dev'
10
+ Requires-Dist: ruff==0.15.20; extra == 'dev'
11
+ Requires-Dist: types-pyyaml; extra == 'dev'
12
+ Provides-Extra: yaml
13
+ Requires-Dist: pyyaml>=6.0; extra == 'yaml'
14
+ Description-Content-Type: text/markdown
15
+
16
+ # runspec-webops-core
17
+
18
+ Pure-Python HTTPS/TLS certificate + web-endpoint helpers — the importable logic
19
+ core behind the cross-platform web runnables in
20
+ [`runspec-linux`](https://pypi.org/project/runspec-linux/) and [`runspec-windows`](https://pypi.org/project/runspec-windows/).
21
+
22
+ Stdlib only (`ssl` / `socket` / `http.client`) — **no `runspec` dependency, no
23
+ `runspec.toml`, and no entry points**, so installing it exposes the helper
24
+ functions for import without surfacing any runnables (it is invisible to
25
+ `runspec local` / `runspec serve` discovery).
26
+
27
+ ```python
28
+ from runspec_webops_core import connect_peer, leaf_report, probe, resolve
29
+
30
+ peer = connect_peer("example.com", 443, 10)
31
+ print(leaf_report(peer, warn_days=30)) # days-to-expiry, issuer, SANs, trust
32
+ print(probe("https://example.com", 10)) # status, timing, redirect target
33
+ print(resolve("example.com", want_reverse=True))
34
+ ```
35
+
36
+ | Function | What it does |
37
+ |---|---|
38
+ | `connect_peer` / `leaf_report` / `chain_report` | TLS certificate inspection — expiry, issuer, SANs, fingerprint, full chain, trust result |
39
+ | `probe` / `classify` | Single HTTP(S) request — status, response time, redirect target |
40
+ | `fetch_headers` | Response headers + a security-header report (HSTS, CSP, …) |
41
+ | `trace_redirects` | Walk the redirect chain, hop by hop, with loop detection |
42
+ | `resolve` | Forward (A/AAAA) and reverse (PTR) DNS lookups |
43
+ | `load_document` / `summarize_spec` / `describe_operation` | Read an OpenAPI/Swagger spec (URL or file) and condense its shape — operations, params, request/response schemas — to bounded JSON |
44
+
45
+ OpenAPI/Swagger specs in JSON parse with the stdlib; YAML needs the optional
46
+ `yaml` extra (`pip install runspec-webops-core[yaml]`).
47
+
48
+ Each function returns plain data and *raises* on failure (`ConnectError`,
49
+ `ResolveError` — both subclasses of `WebopsCoreError`).
50
+
51
+ ## Corporate wrapping
52
+
53
+ Depend on `runspec-webops-core` alone, import the helpers, and ship your own
54
+ private package with its own `runspec.toml` that bakes in corporate defaults
55
+ (proxies, allowed hosts, redaction) as plain params — only your wrapped
56
+ runnables surface in the venv, the generic published code stays clean.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Pure-Python HTTPS/TLS certificate + web-endpoint helpers — the importable logic
4
4
  core behind the cross-platform web runnables in
5
- [`runspec-linux`](../runspec-linux) and [`runspec-windows`](../runspec-windows).
5
+ [`runspec-linux`](https://pypi.org/project/runspec-linux/) and [`runspec-windows`](https://pypi.org/project/runspec-windows/).
6
6
 
7
7
  Stdlib only (`ssl` / `socket` / `http.client`) — **no `runspec` dependency, no
8
8
  `runspec.toml`, and no entry points**, so installing it exposes the helper
@@ -4,9 +4,10 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "runspec-webops-core"
7
- version = "0.3.0"
7
+ version = "0.3.1"
8
8
  requires-python = ">=3.10"
9
9
  description = "Pure-Python HTTPS/TLS certificate + web-endpoint helpers — the importable core behind the runspec web runnables (no runspec dependency, no runnables)"
10
+ readme = "README.md"
10
11
  dependencies = []
11
12
 
12
13
  [project.optional-dependencies]
@@ -1,13 +0,0 @@
1
- Metadata-Version: 2.5
2
- Name: runspec-webops-core
3
- Version: 0.3.0
4
- Summary: Pure-Python HTTPS/TLS certificate + web-endpoint helpers — the importable core behind the runspec web runnables (no runspec dependency, no runnables)
5
- Requires-Python: >=3.10
6
- Provides-Extra: dev
7
- Requires-Dist: mypy; extra == 'dev'
8
- Requires-Dist: pytest>=8.0; extra == 'dev'
9
- Requires-Dist: pyyaml>=6.0; extra == 'dev'
10
- Requires-Dist: ruff==0.15.20; extra == 'dev'
11
- Requires-Dist: types-pyyaml; extra == 'dev'
12
- Provides-Extra: yaml
13
- Requires-Dist: pyyaml>=6.0; extra == 'yaml'