Skip to content

Latest commit

 

History

History
58 lines (45 loc) · 2.13 KB

CONTRIBUTING.md

File metadata and controls

58 lines (45 loc) · 2.13 KB

Contributing

We welcome community contributions to the Lightning Pose repo! If you have found a bug or would like to request a minor change, please open an issue.

In order to contribute code to the repo, please follow the steps below.

We strive to maintain a fun and inclusive environment for our users and contributors. See our code of conduct for more information.

Set up a development installation

In order to make changes to Lightning Pose, you will need to fork the repo.

If you are not familiar with git, check out this guide.

Whenever you initially install the lightning pose repo, instead of

pip install -e .

run

pip install -e .[dev]

to install additional development tools.

Create a pull request

After making changes in your fork, open a pull request from your fork. Please read through the rest of this document before submitting the request.

Linting

Linters automatically find (and sometimes fix) formatting issues in the code. We use two, which are run from the command line in the Lightning Pose repo:

  • flake8: warns of syntax errors, possible bugs, stylistic errors, etc. Please fix these!
flake8 .
  • isort: automatically sorts import statements
isort .

Testing

We currently do not have a continuous integration (CI) setup for the Lightning Pose repo due to its reliance on GPUs (and the relative expense of CI services that provide GPU machines for testing). Therefore, it is imperative that you run the unit tests yourself and verify that all tests have passed before submitting your request (and upon each new push to that request).

To run the tests locally, you must have access to a GPU. Navigate to the Lightning Pose directory and simply run

pytest