Migrate from NOX-based multi-Python testing to mise tasks. Calcipy should become a thin library while project-level tooling moves to calcipy-template.
Already configured with:
test,test:310,test:311,test:312taskstest:allandtest:all-verbosefor multi-version testing- Python versions defined in
[tools]section - Uses
uv run --group ci pytest tests/
_noxfile.py: Singletestssession using uv backend- Reads Python versions from mise.lock/mise.toml/.tool-versions
- Installed via
calcipy[nox]extra
from calcipy.noxfile import tests- Confirm mise tasks match nox session behavior
- Test
mise run test:allacross Python versions - Verify CI can use mise instead of nox
- Add noxfile.py to calcipy-template (for projects that prefer nox)
- Make calcipy's noxfile a deprecated optional import
- Document mise as the recommended approach
Per ideas.txt:
- Identify CLI commands that are wrappers (lint, test, docs)
- Add equivalent mise tasks to calcipy-template
- Keep only first-party tooling in calcipy (code_tag_collector, custom validators)
- Audit calcipy modules: which are library vs tooling?
- Move tooling modules to template-distributed mise tasks
- Update documentation boundaries
| Feature | NOX | Mise |
|---|---|---|
| Isolation | Creates venv per session | Uses specified Python version |
| Parallelism | -j flag |
depends for sequential, parallel by default |
| Reuse | reuse_venv=True |
Inherent (no venv creation) |
| Discovery | Programmatic via calcipy | Declarative in mise.toml |
- Simpler tooling stack (mise replaces asdf + nox)
- Faster execution (no venv creation overhead)
- Template-distributed configuration (users customize mise.toml)
- Reduced calcipy surface area
- Should calcipy retain a minimal noxfile module for backwards compatibility?
- How to handle projects that need custom pytest configuration per Python version?
- Timeline for deprecating
calcipy[nox]extra?