Skip to content

Feat/modernize packaging qa docs#2

Open
twardoch wants to merge 6 commits intomatandd:masterfrom
twardoch:feat/modernize-packaging-qa-docs
Open

Feat/modernize packaging qa docs#2
twardoch wants to merge 6 commits intomatandd:masterfrom
twardoch:feat/modernize-packaging-qa-docs

Conversation

@twardoch
Copy link

No description provided.

google-labs-jules bot and others added 6 commits June 23, 2025 11:28
This commit introduces a series of modernizations and improvements:

- Packaging:
  - Migrated Python CLI packaging to `pyproject.toml` using Hatch.
  - Added `hatch-vcs` for versioning from git tags.
  - Python code for the CLI moved to `src/veertu_cli`.
  - Vendored dependencies (`click`, `tabulate`) removed in favor of explicit dependencies in `pyproject.toml`.

- Code Modernization (Python CLI):
  - Applied Python 3 compatibility updates (e.g., `items()`, `configparser`, `plistlib.load`).
  - Added type hints to Python source files (`utils.py`, `formatter.py`, `cli_interface.py`, `veertu_manager.py`) on a best-effort basis due to sandbox limitations with linting/type-checking tools.

- Quality Assurance:
  - Added `ruff` for linting and formatting, and `mypy` for type checking, configured in `pyproject.toml`.
  - Created a GitHub Actions workflow (`.github/workflows/python_qa.yml`) to run linting, type checking, tests, and build for Python 3.8-3.12 on pushes/PRs.
  - Set up pre-commit hooks (`.pre-commit-config.yaml`) for `ruff`, `mypy`, and standard file checks.

- Testing:
  - Added a basic test structure in `tests/` with `tests/test_cli_interface.py` using `click.testing.CliRunner`.
  - Test execution within the development sandbox was not possible due to environment limitations.

- Documentation (README.md):
  - Updated project overview to include the Python CLI.
  - Added sections for Python CLI installation, usage, packaging, and publishing.
  - Added a comprehensive "Contributing" section covering codebase structure (high-level for C/Obj-C, detailed for Python), Python CLI development environment setup, running QA checks, and commit message guidelines.

- Build System:
  - Added Hatch scripts for building (`hatch run default:build`) and publishing (`hatch run default:publish`) the Python CLI.
  - Build verification for the C/Objective-C parts (Xcode) and full Python CLI runtime could not be performed in the sandbox. Hatch build commands for Python also faced sandbox execution issues, but package configuration is complete.
This commit introduces a series of modernizations and improvements:

- Packaging:
  - Migrated Python CLI packaging to `pyproject.toml` using Hatch.
  - Added `hatch-vcs` for versioning from git tags.
  - Python code for the CLI moved to `src/veertu_cli`.
  - Vendored dependencies (`click`, `tabulate`) removed in favor of explicit dependencies in `pyproject.toml`.

- Code Modernization (Python CLI):
  - Applied Python 3 compatibility updates (e.g., `items()`, `configparser`, `plistlib.load`).
  - Added type hints to Python source files (`utils.py`, `formatter.py`, `cli_interface.py`, `veertu_manager.py`) on a best-effort basis due to sandbox limitations with linting/type-checking tools.

- Quality Assurance:
  - Added `ruff` for linting and formatting, and `mypy` for type checking, configured in `pyproject.toml`.
  - Created a GitHub Actions workflow (`.github/workflows/python_qa.yml`) to run linting, type checking, tests, and build for Python 3.8-3.12 on pushes/PRs.
  - Set up pre-commit hooks (`.pre-commit-config.yaml`) for `ruff`, `mypy`, and standard file checks.

- Testing:
  - Added a basic test structure in `tests/` with `tests/test_cli_interface.py` using `click.testing.CliRunner`.
  - Test execution within the development sandbox was not possible due to environment limitations.

- Documentation (README.md):
  - Updated project overview to include the Python CLI.
  - Added sections for Python CLI installation, usage, packaging, and publishing.
  - Added a comprehensive "Contributing" section covering codebase structure (high-level for C/Obj-C, detailed for Python), Python CLI development environment setup, running QA checks, and commit message guidelines.

- Build System:
  - Added Hatch scripts for building (`hatch run default:build`) and publishing (`hatch run default:publish`) the Python CLI.
  - Build verification for the C/Objective-C parts (Xcode) and full Python CLI runtime could not be performed in the sandbox. Hatch build commands for Python also faced sandbox execution issues, but package configuration is complete.
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant