Contributing
This repository is deprecated (bugfix-only). The canonical implementation of the office suite has moved to the Rust workspace in
gtk-office-suite. New features belong there β see ROADMAP.md for this repository's retirement/compatibility plan before proposing anything beyond a bugfix.
What this isβ
Shared Python/GTK4/libadwaita scaffold (suite_common/) that was consumed by
the former Letters/Tables/Decks Python apps as a Meson subproject. See
README.md for the module map and SPEC.md for the
architecture rationale.
Building / running testsβ
There's no build step beyond byte-compiling the package. Tests are plain Python scripts (no pytest runner) that can be executed directly:
python -m compileall suite_common # what CI runs first
python tests/test_fileio.py
python3 tests/test_shortcuts_presets.py
python3 tests/test_oracles.py
CI (.github/workflows/ci.yml) runs compileall and tests/test_fileio.py
on every push and pull request.
Code styleβ
Lint with ruff using the repository's
ruff.toml:
ruff check .
Note the config intentionally excludes import-sorting (I) rules: this
codebase's GTK/GObject-Introspection modules call gi.require_version(...)
before from gi.repository import ..., and reordering those would break at
runtime.
Making a changeβ
- Keep changes scoped to bugfixes and maintenance β see the "current state" note above.
- Match the existing module style (plain functions,
SPDX-License-Identifierheader, tests as importable scripts undertests/). - Open a pull request against
main; CI must pass.
Reporting issuesβ
File an issue in this repository at
https://github.com/tuna-os/suite-common/issues. If the report concerns the
active office suite rather than this legacy library, it likely belongs in
gtk-office-suite instead.
Licenseβ
GPL-3.0-or-later. Test fixtures under tests/fixtures/ are sourced from
LibreOffice (qa/) under MPL-2.0 β see tests/fixtures/PROVENANCE.md.