This release is a pre-release and may not be stable for production use.
Aeterna Config YAML
aeterna-config-yaml is the optional PyYAML adapter for aeterna-config. It loads a
single YAML mapping document through the standard configuration-provider interface.
Features
- Reads and parses YAML files in a worker thread so the async event loop is not blocked.
- Accepts one mapping document or an empty document, which becomes an empty mapping.
- Rejects duplicate keys, multiple documents, sequence roots, and other non-mapping roots.
- Keeps YAML and its dependency outside the core
aeterna-configpackage.
Requirements
- Python 3.12 or later.
aeterna-config.- PyYAML 6.0 or later.
Both dependencies are installed automatically with this package.
Installation
With pip:
pip install aeterna-config-yaml
With uv:
uv add aeterna-config-yaml
Basic usage
Given a settings.yaml file:
service:
host: localhost
port: 8080
load it into an Aeterna configuration snapshot:
import asyncio
from aeterna.config import ConfigurationBuilder
from aeterna.config_yaml import YamlProvider
async def main() -> None:
configuration = await ConfigurationBuilder().add(YamlProvider("settings.yaml")).build()
print(configuration.require("service:port")) # 8080
asyncio.run(main())
Integration details
YamlProvider implements aeterna.config.ConfigurationProvider, so it can be added to
ConfigurationBuilder alongside mapping, environment, or other providers. Its provider
name is yaml:<path> and its encoding defaults to "utf-8".
Multiple documents and non-mapping roots raise aeterna.config.MergeError; duplicate
keys are rejected by the YAML loader. When loaded through ConfigurationBuilder, unsafe
parse or I/O failures cross the public boundary as aeterna.config.ProviderError.
Public API
YamlProvider(path, encoding="utf-8"): asynchronous provider for one YAML mapping document.
The package defines no public exceptions; it uses errors from aeterna.config.
Tests
From the repository root:
uv sync --locked
uv run pytest tests/test_yaml.py
Release files for aeterna-config-yaml 1.0.0.dev1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aeterna_config_yaml-1.0.0.dev1.tar.gz | 4.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aeterna_config_yaml-1.0.0.dev1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.7 kB
Release files / aeterna_config_yaml-1.0.0.dev1.tar.gz
| Download URL | aeterna_config_yaml-1.0.0.dev1.tar.gz |
|---|---|
| Size | 4.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22e023f2216e2910d46f1768d5fa4f2b8c671e26f88ede5565d1d1ef98ee5e87
|
|
BLAKE2b-256 checksum How to use checksums |
84ae1778331e3fb2b14eb0d2a307bc41b995936e410f080e3468abb5ab870f85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency logRelease files / aeterna_config_yaml-1.0.0.dev1-py3-none-any.whl
| Download URL | aeterna_config_yaml-1.0.0.dev1-py3-none-any.whl |
|---|---|
| Size | 3.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2667cfed78d57ac0bd2e6da37e5eb5ac7e6f750adcf5ec30b025d530415b8e49
|
|
BLAKE2b-256 checksum How to use checksums |
bd9a71930edd1582838fc90b7230a46048f580e9225cb090ddcea14c64ea33f3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.
Transparency log