PyAutoConf
🧬 PyAutoScientist → https://github.com/PyAutoLabs/PyAutoScientist — this repo is one organ of the PyAuto organism.
📖 Full documentation → https://pyautoscientist.readthedocs.io — the whole PyAutoScientist organism, including how to fork and run your own.
PyAutoConf (package autoconf) is the configuration, serialization, and
I/O foundation of the PyAuto ecosystem. It
provides a layered configuration system with workspace overrides, dict / JSON /
CSV serialization of arbitrary objects, and FITS I/O.
PyAutoFit, PyAutoArray, PyAutoGalaxy, and PyAutoLens all depend on
autoconf: it supplies their packaged default config, the object-serialization
used to persist models and results, and shared utilities (test_mode,
jax_wrapper). Centralising these here keeps a single, consistent config and
I/O layer beneath every library. Within the
PyAutoScientist organism it is the
Nerves — the layer connecting the workspace's conventions to every library.
Install
pip install autoconf
Examples
Layered config — read a directory of YAML into a queryable Config:
from autoconf.conf import Config
config = Config("path/to/config") # directory of YAML files
value = config["general"]["model"]["section"]["value"]
JSON serialization — round-trip arbitrary Python objects:
from autoconf.dictable import output_to_json, from_json
data = {"sersic_index": 4.0, "centre": [0.0, 0.0]}
output_to_json(data, "model.json")
restored = from_json("model.json") # == data
FITS I/O — write and read a NumPy array:
import numpy as np
from autoconf.fitsable import output_to_fits, ndarray_via_fits_from
arr = np.arange(12.0).reshape(3, 4)
output_to_fits(values=arr, file_path="demo.fits", overwrite=True)
loaded = ndarray_via_fits_from(file_path="demo.fits", hdu=0) # np.allclose(arr, loaded)
Links
- Source & tests:
autoconf/,test_autoconf/ - Agent/contributor instructions:
AGENTS.md - Ecosystem: PyAutoLabs on GitHub
Metadata
Release files for autoconf 2026.7.15.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autoconf-2026.7.15.1.tar.gz | 44.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autoconf-2026.7.15.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 82.1 kB
Release files / autoconf-2026.7.15.1.tar.gz
| Download URL | autoconf-2026.7.15.1.tar.gz |
|---|---|
| Size | 44.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ad1d542108aa9c22e9c4755b3897044426d60ac1abedfaf990b8ff523995004
|
|
BLAKE2b-256 checksum How to use checksums |
ccd9e9835d8ad9a174f013052442380bb1eb5bfd33a05b06232dcb310c3e8ad2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.13
|
Release files / autoconf-2026.7.15.1-py3-none-any.whl
| Download URL | autoconf-2026.7.15.1-py3-none-any.whl |
|---|---|
| Size | 38.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8107de15f8c1fea7eb3c5effe8eae6fcf40d1f35724598a994c14799a7e85843
|
|
BLAKE2b-256 checksum How to use checksums |
417f7bf1c1f255e5eb23ebd03294b8a8ef78ff278645bace4d94011486fc927c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.13
|