Skip to content

Latest commit

 

History

History
77 lines (42 loc) · 5.15 KB

CONTRIBUTING.md

File metadata and controls

77 lines (42 loc) · 5.15 KB

How to Contribute to DeepLabCut

DeepLabCut is an actively developed package and we welcome community development and involvement. We are especially seeking people from underrepresented backgrounds in OSS to contribute their expertise and experience. Please get in touch if you want to discuss specific contributions you are interested in developing, and we can help shape a road-map.

We are happy to receive code extensions, bug fixes, documentation updates, etc.

If you are a new user, we recommend checking out the detailed Github Guides.

Setting up a development installation

In order to make changes to deeplabcut, you will need to fork the repository.

If you are not familiar with git, we recommend reading up on this guide.

Here are guidelines for installing deeplabcut locally on your own computer, where you can make changes to the code! We often update the master deeplabcut code base on github, and then ~1 a month we push out a stable release on pypi. This is what most users turn to on a daily basis (i.e. pypi is where you get your pip install deeplabcut code from!

But, sometimes we add things to the repo that are not yet integrated, or you might want to edit the code yourself, or you will need to do this to contribute. Here, we show you how to do this.

Step 1:

  • git clone the repo into a folder on your computer:

  • click on this green button and copy the link:

  • then in the terminal type: git clone https://github.com/DeepLabCut/DeepLabCut.git

Step 2:

  • Now you will work from the terminal inside this cloned folder:

  • Now, when you start ipython and import deeplabcut you are importing the folder "deeplabcut" - so any changes you make, or any changes we made before adding it to the pip package, are here.

  • You can also check which deeplabcut you are importing by running: deeplabcut.__file__

If you make changes to the code/first use the code, be sure you run ./resinstall.sh, which you find in the main DeepLabCut folder:

Note, before committing to DeepLabCut, please be sure your code is formatted according to black. To learn more, see black's documentation.

Now, please make a pull request that includes both a summary of and changes to:

  • How you modified the code and what new functionality it has.
  • DOCSTRING update for your change
  • A working example of how it works for users.
  • If it's a function that also can be used in downstream steps (i.e. could be plotted) we ask you (1) highlight this, and (2) ideally you provide that functionality as well. If you have any questions, please reach out: [email protected]

TestScript outputs:

Review & Formatting:

Code headers

  • The code headers can be standardized by running python tools/update_license_headers.py
  • Edit NOTICE.yml to update the header.

DeepLabCut is an open-source tool and has benefited from suggestions and edits by many individuals: