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.mdwith installation/usage instructions- One working, documented example
๐ฒ public stable
- Concise, tidy code
- Good docstring coverage
README.mdwith installation/usage instructions- Working, documented examples
- Packaging via
setup.pyorpoetry - CI (Github Actions) on
main/masterbranch- 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
stableorexperimentalin public repositories - use other informative tags like
rlormanipulationwhen appropriate