LeRobot documentation
🤗 LeRobotへの貢献方法
🤗 LeRobotへの貢献方法
すべての人の貢献を歓迎しており、一人ひとりの貢献を大切にしています。コードを書くことは、コミュニティを支援する唯一の方法ではありません。質問への回答、他者へのサポート、積極的な交流、ドキュメントの改善は、いずれも非常に価値のある貢献です。
貢献方法がどちらであっても、行動規範とAIポリシーを尊重してください。
貢献する方法
貢献する方法は多岐にわたります:
- 問題の修正: バグを修正するか、既存のコードを改善します。
- 新機能: 新機能を開発します。
- 拡張: 新しいモデル/ポリシー、ロボット、またはシミュレーション環境を実装し、Hugging Face Hubにデータセットをアップロードします。
- ドキュメント: 例、ガイド、ドキュメント文字列の改善。
- フィードバック: バグや希望する新機能に関するチケットを提出してください。
新しいハードウェアを追加する ロボット、テレオペレーター、カメラは、コアライブラリの変更としてではなく、独立したプラグインパッケージとして実装するのが最も効果的です。Bring Your Own Hardwareの手順に従ってパッケージを公開し、その後、Third-Party Robots & TeleoperatorsまたはThird-Party Cameras & Sensorsに追加するPRを開いてください。
どこから始めればよいか分からない場合は、Discord Channelに参加してください。
開発環境のセットアップ
コードの貢献には、開発環境のセットアップが必要です。
1. ForkとClone
GitHubでリポジトリをフォークし、そのフォークをクローンします:
git clone https://github.com/<your-handle>/lerobot.git
cd lerobot
git remote add upstream https://github.com/huggingface/lerobot.git2. 環境のインストール
環境のセットアップとソースからのインストールについては、インストールガイドに従ってください。
テストと品質チェックの実行
コードスタイル(Pre-commit)
コミット前にチェックを自動で実行するためにpre-commitフックをインストールします:
pre-commit install
すべてのファイルでチェックを手動で実行するには:
pre-commit run --all-files
ドキュメント文字列
API リファレンスはsrc/lerobot/内のドキュメント文字列から生成されます。パブリックなものを追加または変更する場合は、docstring standardに従ってください。この形式はレンダラーによって解析され、CIでチェックされます。
テストの実行
pytestを使用しています。まず、git-lfsをインストールして、テスト用アーティファクトが揃っていることを確認してください。
git lfs install git lfs pull
フルスイートを実行します(extrasのインストールが必要な場合があります):
pytest -sv ./tests
開発中に特定のテストファイルを実行するには:
pytest -sv tests/test_specific_feature.py
Fast Tests CI は、各 extra(base、dataset、hardware、viz)ごとに 1 つのティアを実行し、pytest マークを使用して各ティアのテストを選択します。テストが dataset、hardware または viz extra を必要とする場合は、マークを付与してください(ファイル全体には pytestmark = pytest.mark.dataset、1 つのテストには @pytest.mark.dataset)。マークのないテストは base ティアでのみ実行され、extra が必要なテストはスキップされます。1 つのティアをローカルで実行するには:
pytest -sv tests -m dataset
GPU Tests CI は、gpu とマークされたテストのみを実行します。tests/policies 配下のすべてのテストと、すべての @require_cuda テストには自動的にマークが付けられます。CUDA を使用するその他のテストには、@pytest.mark.gpu を付けてください。
IssueとPull Requestの提出
必須フィールドと例のテンプレートを使用してください。
- 問題: チケットテンプレートに従ってください。
- プルリクエスト:
upstream/mainにリベースし、説明のついたブランチを使用してください(mainで作業しないでください)。ローカルでpre-commitとテストを実行し、PRテンプレート に従ってください。
Community Review Policy: 取り組みの拡大と協力的な環境の醸成を支援するため、コントリビューターには、自分のPRがレビューされる前に、少なくとも1つの他の人のオープンなPRをレビューしていただくようお願いしています。この共有責任により、レビューのキャパシティが拡大し、すべての人のコードがより早くマージされるようになります!
PRを提出し、ピアレビューを完了した後、LeRobotチームのメンバーがあなたの貢献をレビューします。
LeRobotへの貢献、ありがとうございます!
Update on GitHub