Skip to content

Address #15; Lay Validation Foundation; Light Cleanup Work#17

Draft
olivia-banks wants to merge 2 commits intoEpiForeSITE:mainfrom
olivia-banks:ob-organize
Draft

Address #15; Lay Validation Foundation; Light Cleanup Work#17
olivia-banks wants to merge 2 commits intoEpiForeSITE:mainfrom
olivia-banks:ob-organize

Conversation

@olivia-banks
Copy link
Member

@olivia-banks olivia-banks commented Mar 18, 2026

Address #15 and lay foundation for validation; light cleanup work. Running list of changes:

  • Move code into the structure recommended by various pieces of tooling (e.g., ./app.py./src/epicc/).
  • Move file access to using importlib.resources for increased flexibility under differing deployment conditions (necessary for when we package with micropip for WASM/stlite).
  • Fixing typing errors, make sure we cleanly lint under standard type checking.
  • Implement format read/write (FRW) interface for Define YAML schema and write a validation tool validate_yaml #15 for dealing with arbitrary opaque dictionaries in various formats (YAML/XLSX) while preserving non-semantic (trivia) elements.
  • Create a standard validation layer for unstructured data through Pydantic (for both config and model parameters).
  • Wire FRW interface into the configuration layer (remove one-off logic).
  • Wire FRW interface into the model parameter layer (remove one-off logic).
  • Allow generation of "template" files for each Pydantic data model (BaseModel).
  • Write unit tests for the FRW interface with pytest.
  • Rename from epicc (Epi Cost Calculator) to the new project name, once decided upon.

We're introducing some dependencies here, but they are already baked into pyodide, which is what stlite uses under the hood, so there's no extra overhead!

Discussion for the FRW may be found here.

@olivia-banks olivia-banks self-assigned this Mar 18, 2026
@olivia-banks olivia-banks added this to the MVP milestone Mar 18, 2026
@olivia-banks olivia-banks linked an issue Mar 18, 2026 that may be closed by this pull request
@olivia-banks olivia-banks added the enhancement New feature or request label Mar 18, 2026
@olivia-banks
Copy link
Member Author

There's still some more cleanup I have to do on the YAML side.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Define YAML schema and write a validation tool validate_yaml

1 participant