Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

AIO-Conf

AIO-Conf is a tiny configuration system that unifies values from multiple sources: command-line arguments, environment variables, configuration files and defaults. Specifications are declared up front so each option knows how to be parsed and coerced into the correct Python type.

Installation

This project uses Poetry. From the project directory install dependencies with:

poetry install

Defining a specification

You can declare options programmatically using OptionSpec and ConfigSpec:

from aio_conf.core import ConfigSpec, OptionSpec

spec = ConfigSpec([
    OptionSpec("port", int, default=8000, env="APP_PORT", cli="--port"),
    OptionSpec("debug", bool, default=False, env="APP_DEBUG", cli="--debug"),
])

The spec can also be stored in JSON and loaded with ConfigSpec.from_json_file() or via AIOConfig.load_from_spec().

Loading configuration

AIOConfig merges all sources with the following precedence:

  1. CLI arguments
  2. Environment variables
  3. File values (json or yaml)
  4. Defaults defined in the spec
from aio_conf import AIOConfig

cfg = AIOConfig(spec)
cfg.load(
    cli_args=["--port", "9000"],
    env={"APP_DEBUG": "true"},
    file_path="config.json",
)
print(cfg.as_dict())

The env parameter accepts a mapping of environment variables and defaults to os.environ when omitted.

Configuration can be written to an INI file:

cfg.save_ini("settings.ini")

Testing

Run the test suite with:

pytest -q

Metadata

Release files for aio-conf 1.0.0.dev7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aio-conf 1.0.0.dev7
File Size Uploaded Provenance Actions
aio_conf-1.0.0.dev7.tar.gz 12.1 kB With provenance Details for aio_conf-1.0.0.dev7.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for aio-conf 1.0.0.dev7
File Interpreter ABI Platform Actions
aio_conf-1.0.0.dev7-py3-none-any.whl Python 3 none any Details for aio_conf-1.0.0.dev7-py3-none-any.whl

Total release size: 28.6 kB

Release files / aio_conf-1.0.0.dev7.tar.gz

Download URL aio_conf-1.0.0.dev7.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6244f4799df8f742f783cbe607708bd487af29ad64ae577dfb60e15e11c2cd25
BLAKE2b-256 checksum
How to use checksums
8f62f929ee09cc2a87f117955718d9cc967312963f57f18db02ab3370228fd2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 12, 2025.

Transparency log

Release files / aio_conf-1.0.0.dev7-py3-none-any.whl

Download URL aio_conf-1.0.0.dev7-py3-none-any.whl
Size 16.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f221f9aefc38c9e725a105addc94fdff060dae782b5478fd6a10c7520f67fc05
BLAKE2b-256 checksum
How to use checksums
9b783080634d5ab828ec3b0147dde7cf9b27f40a6f99ca56ae621bd94b1bc37b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Aug 12, 2025.

Transparency log

Security for aio-conf 1.0.0.dev7

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for aio_conf-1.0.0.dev7.tar.gz

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 Aug 12, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page