Last Updated: 2021-05-11
Protocol for Public Repositories
There are 3 kinds of repositories we host:
private : Only visible to other lab members. Useful for sharing quick research code or incomplete ideas.
public experimental : Minimal guarantees. Likely corresponds to a publication and might not be maintained moving forward.
public stable : Guaranteed to adhere to highest repo standards. Tests with good coverage. Merges accepted through PRs that pass CI. Good target to fork.
Repo Requirements
๐ฑ private
- no requirements.
๐ฟ public experimental ๐งช
- Tidy code on
main/master
. No extraneous files that play no role in the functionality README.md
with installation/usage instructions- One working, documented example
๐ฒ public stable
- Concise, tidy code
- Good docstring coverage
README.md
with installation/usage instructions- Working, documented examples
- Packaging via
setup.py
orpoetry
- CI (Github Actions) on
main/master
branch- Formatting via
black
- Linting via
flake8
- Testing via
pytest
- >85% test coverage
- Formatting via
See repo-template for a starting point.
General Requirements
- name your repo with kebab-case:
robot-learning
- name your package with snake_case:
robot_learning
- use tags to indicate
stable
orexperimental
in public repositories - use other informative tags like
rl
ormanipulation
when appropriate