No description
Find a file
Braxton Fair e3dd029f3f
All checks were successful
CI / ci (push) Successful in 47s
feat: swap pandas for polars, add mlflow dependency (#2)
Reviewed-on: #2
2026-04-11 17:00:45 -05:00
.forgejo/workflows ci: install uv via shell script to avoid Node.js 20 requirement 2026-04-11 16:49:53 -05:00
src/mauth chore: add ruff, mypy, pytest, and Forgejo CI scaffolding 2026-04-11 16:38:33 -05:00
tests fix: strip ANSI codes in test output and set NO_COLOR in CI 2026-04-11 16:47:09 -05:00
.gitignore chore: add ruff, mypy, pytest, and Forgejo CI scaffolding 2026-04-11 16:38:33 -05:00
.python-version chore: init project 2026-04-11 16:30:43 -05:00
pyproject.toml feat: swap pandas for polars, add mlflow dependency 2026-04-11 16:59:28 -05:00
README.md docs: add dev setup and CLI usage to README 2026-04-11 16:40:56 -05:00
TODO.md feat: swap pandas for polars, add mlflow dependency 2026-04-11 16:59:28 -05:00
uv.lock feat: swap pandas for polars, add mlflow dependency 2026-04-11 16:59:28 -05:00

mauth-reloaded

A complete rewrite of my research project from college, utilizing a modern toolchain, dependencies, and practices.

Requirements

  • uv for dependency management
  • Python 3.14 (installed automatically by uv)

Setup

uv sync --group dev

CLI

# preprocess raw CSVs into per-subject feature Parquet files
uv run mauth preprocess --in data/raw --out data/features --seq-len 128

# train models against a combined feature file
uv run mauth train --models knn,dt,svc --feature-file data/features/all.parquet

# plot ROC curve from a results file
uv run mauth plot roc --results results/run.json

Development

Run the full CI check suite locally:

uv run ruff check src tests       # lint
uv run ruff format src tests      # format (drop --check to apply)
uv run mypy src                   # type check
uv run pytest                     # tests + coverage

All four must be clean before opening a PR. The Forgejo CI workflow (.forgejo/workflows/ci.yml) runs the same commands on every push.