fit-cases
February 25, 2026 ยท View on GitHub
Case management module for the FIT Project, built using PySide6.
This module provides the graphical interface to modify case information used by the FIT application.
Dependencies
Main dependencies are:
- Python >=3.11,<3.14
- Poetry (recommended for development)
PySide66.9.0SQLAlchemy^2.0.40Pillow>=12.1.1,<13.0.0fit-configurationsโ Configuration settings
See pyproject.toml for full details.
Local checks (same as CI)
Run these commands before opening a PR, so failures are caught locally first.
What each tool does
pytest: runs automated tests (unit,contract,integrationande2esuites).ruff: checks code style and common static issues (lint).mypy: performs static type checking on annotated Python code.bandit: scans source code for common security anti-patterns.pip-audit: checks installed dependencies for known CVEs.
1) Base setup
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
pip install . pytest ruff mypy "bandit[toml]" pip-audit
python -m pip install --upgrade "setuptools>=78.1.1"
2) Test suite
export QT_QPA_PLATFORM=offscreen
# unit tests
pytest -m unit -q tests
# contract tests
pytest -m contract -q tests
# integration tests
pytest -m integration -q tests
# end-to-end smoke tests
pytest -m e2e -q tests
3) Quality and security checks
ruff check fit_acquisition tests
mypy fit_acquisition
bandit -c pyproject.toml -r fit_acquisition -q -ll -ii
PIPAPI_PYTHON_LOCATION="$(python -c 'import sys; print(sys.executable)')" \
python -m pip_audit --progress-spinner off
Note: pip-audit may print a skip message for fit-assets, fit-cases, fit-common and fit-configurations because they are a local packages and not published on PyPI.
Installation
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install poetry
poetry lock
poetry install
poetry run python main.py
Contributing
- Fork this repository.
- Create a new branch (
git checkout -b feat/my-feature). - Commit your changes using Conventional Commits.
- Submit a Pull Request describing your modification.