without-configmap
A without behavior source backed by a Kubernetes ConfigMap mount: the first
context that actually changes, proving the context-updated-by-a-stream half of
the model end to end. Where without-env loads a static value
once, this one re-parses on every mount change.
watch_config(mount, parse) is a Stream that yields the parsed config now and a
freshly parsed value every time the mount changes. It watches the mount
directory, not the file, so it catches the atomic ..data symlink swap that
projected ConfigMaps
use. Feed the stream through without.sample to read the latest value as a
Context:
from pathlib import Path
from pydantic import BaseModel
from without import sample
from without_configmap import read_yaml_file, watch_config
class MyConfig(BaseModel):
model_config = {"frozen": True}
default_mode: str
max_bytes: int
source = watch_config(Path("/etc/config"), read_yaml_file(MyConfig, "config.yaml"))
async with sample(source) as config:
config.current() # always the latest reloaded value, never blocks
await config.updated() # block until the next reload lands, then return it
See the
without-configmap guide
(with the API reference)
for the full surface.
Release files for without-configmap 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| without_configmap-0.0.5.tar.gz | 2.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| without_configmap-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 6.7 kB
Release files / without_configmap-0.0.5.tar.gz
| Download URL | without_configmap-0.0.5.tar.gz |
|---|---|
| Size | 2.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6212a6da2acbd7251579ee793c343739d056bf25b8f5cd4566641c49b2e02c52
|
|
BLAKE2b-256 checksum How to use checksums |
3b4ec7fcaebce0497cb32c5d3a1899c52bb7986e378e4b36b248238b18169bf0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / without_configmap-0.0.5-py3-none-any.whl
| Download URL | without_configmap-0.0.5-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87d8ce4fa0b81b22369079a7ef43e2c2a9959dcc151be493b388e9a1ce53948b
|
|
BLAKE2b-256 checksum How to use checksums |
e1e5121de011a7c26683949b36f05d9a24b2e0f67c6158cea3abb36b6523ce4e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|