Skip to content

Latest commit

 

History

History
61 lines (39 loc) · 2.13 KB

File metadata and controls

61 lines (39 loc) · 2.13 KB

Development

Source layout

Mark src/ as Sources Root in your IDE so imports resolve correctly.

See project-structure.md for the full tree.

Installing dev dependencies

The project uses pyproject.toml (PEP 621). To set up a development venv:

python -m venv venv
venv/Scripts/activate          # Windows
source venv/bin/activate       # Linux/macOS
pip install -e .[dev]

The [dev] extra pulls in pytest and pyinstaller. The runtime dependencies (pandas, PySide6, chardet) are always installed.

Run configurations

IDE run configurations are stored in the .run/ folder:

  • Direct launch of the app via src/gui.py
  • Test runs

Running tests

Tests live under tests/. Configuration is in pyproject.toml ([tool.pytest.ini_options]). Run from the project root:

pytest                                  # entire suite (59 tests)
pytest tests/unit/                      # unit tests only
pytest tests/import_test.py             # one integration suite
pytest tests/transaction_decorator_test.py
pytest -W error                         # strict — fail on any warning (use after dependency bumps)

For end-to-end manual checks the automated suite cannot reach (live GUI, packaged binaries, encoding edge cases), see testing-strategy.md.

Building

Architecture

For ADRs and component/sequence diagrams, see architecture/index.md.

Releasing

Bump the version in lockstep across all release artifacts:

python scripts/bump_version.py 1.1.0           # write the change
python scripts/bump_version.py --check 1.1.0   # dry-run preview

The script updates: pyproject.toml, linux/createDebFile.sh, windows/installer/windowsInstallScript.iss, snapcraft.yaml, linux/snap/transaction_decorator.desktop. After running it, commit, tag, and push — CI builds the Windows installer / deb / snap artifacts. See testing-strategy.md for the per-platform smoke checklist.