PyAutoConf is the configuration management library for the PyAuto ecosystem. It handles object serialization/deserialization via YAML, JSON-based priors and configuration generation, and provides utility tools for scientific Python applications.
- Package name:
autoconf - Requires Python >= 3.12
autoconf/— Main packageconf.py— Core configuration systemdictable.py— Dictionary/serialization supportfitsable.py— FITS file handlingjson_prior/— JSON-based configuration priorstools/— Utility decorators and helpersmock/— Mock objects for testing
test_autoconf/— Test suite (pytest)
pip install -e ".[dev]"python -m pytest test_autoconf/
python -m pytest test_autoconf/ -sWhen running Python from Codex or any restricted environment, set writable cache directories:
NUMBA_CACHE_DIR=/tmp/numba_cache MPLCONFIGDIR=/tmp/matplotlib python -m pytest test_autoconf/All files must use Unix line endings (LF, \n). Never write \r\n line endings.
NEVER perform these operations on any repo with a remote:
git initin a directory already tracked by gitrm -rf .git && git init- Commit with subject "Initial commit", "Fresh start", "Start fresh", "Reset for AI workflow", or any equivalent message on a branch with a remote
git push --forcetomain(or any branch tracked asorigin/HEAD)git filter-repo/git filter-branchon shared branchesgit rebase -irewriting commits already pushed to a shared branch
If the working tree needs a clean state, the only correct sequence is:
git fetch origin
git reset --hard origin/main
git clean -fd
This applies equally to humans, local Claude Code, cloud Claude agents, Codex, and any other agent. The "Initial commit — fresh start for AI workflow" pattern that appeared independently on origin and local for three workspace repos is exactly what this rule prevents — it costs ~40 commits of redundant local work every time it happens.