Base module for scraper modules within the [FIT Project], built using PySide6. Provides the entrypoint, shared utilities, and PySide6 UI components used to launch and orchestrate acquisition modules.
Main dependencies:
- Python >=3.11,<3.14
- Poetry (recommended for development)
- PySide6
fit-acquisition– Base utilities and classes for acquisition
See pyproject.toml for the full list and version details.
Run these commands before opening a PR, so failures are caught locally first.
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.
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"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 testsruff check fit_scraper tests
mypy fit_scraper
bandit -c pyproject.toml -r fit_scraper -q -ll -ii
PIPAPI_PYTHON_LOCATION="$(python -c 'import sys; print(sys.executable)')" \
python -m pip_audit --progress-spinner offNote: pip-audit may print a skip message for fit-acquisition, fit-assets, fit-cases, fit-common, fit-configurations and fit-scraper because they are a local packages and not published on PyPI.
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install poetry
poetry lock
poetry install
poetry run python main.py- 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.