Copier template for fUSI analysis projects using ConfUSIus.
uvx copier copy gh:sdiebolt/copier-fusi my-project
cd my-project
git init
uv run pre-commit installmy-project/
├── src/my_project/
│ ├── config.py # load_config() + CONFIG singleton
│ ├── io/ # data loading utilities
│ ├── preprocessing/ # signal preprocessing
│ └── analysis/ # analysis functions
├── scripts/
│ └── 00_example.py # minimal script showing CONFIG import
├── results/ # output directory; contents are not committed
├── config.toml # project configuration (paths, parameters, etc.)
├── pyproject.toml
└── justfile
If include_docs=true, the generated project also includes:
docs/
zensical.toml
uvx copier updateThe generated project uses grouped dataclasses for configuration. PathsConfig is just
one example section. As your project grows, you can add new config groups such as
PreprocessingConfig or AnalysisConfig, add matching sections to config.toml, and
wire them into the top-level Config object in src/<package>/config.py.
If you generate the project with include_docs=true, it comes with a minimal
Zensical setup and a docs/ directory.