Weblate モジュールへの貢献

メインのリポジトリに加えて、Weblate は複数の Python モジュールで構成されています。これらはすべて同じ構造をしており、このドキュメントの内容は全てに当てはまります。

例えば、次のものが対象です。

コーディングのガイドライン

Weblate のコードはすべて、 セキュリティ設計原則 を念頭に記述してください。

すべてのコードには、動作を説明するドキュメントが付属しています。メソッド、複雑なコードブロック、またはユーザーに表示される機能は文書化することを忘れないでください。

新しいコードでは、PEP 484 型のヒントを使用してください。既存のコードにはまだ含まれていないため、CI ではまだ検査できていません。

テストの実行

テストは、py.test を使用して実行します。まず、テストに必要なパッケージをインストール:

pip install -e '.[test,lint]'

そのあと、チェックアウトしたリポジトリでテストスイートを実行:

py.test

参考

CI 統合は、Weblate テストスイートと継続的な連携 と非常によく似ています。

コーディング規約と低品質コードの検出

コードは PEP-8 コーディング規約に従い、ruff コード整形ツールを使用してフォーマットしてください。

コードの品質を検査するには、ruff を使用できます。その設定は pyproject.toml に保存されています。

The easiest approach to enforce all this is to install pre-commit. The repository contains configuration for it to verify the committed files are sane. After installing it (it is already included in the pyproject.toml) turn it on by running pre-commit install in Weblate checkout. This way all your changes will be automatically checked.

手動で検査を実行し、すべてのファイルを検査する方法:

pre-commit run --all