LeRobot documentation

🤗 LeRobotへの貢献方法

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.7.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

🤗 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.git

2. 環境のインストール

環境のセットアップとソースからのインストールについては、インストールガイドに従ってください。

テストと品質チェックの実行

コードスタイル(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