You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.1 KiB
54 lines
1.1 KiB
5 years ago
|
# Contributing to ClusterView
|
||
|
|
||
|
## PR Requirements
|
||
|
|
||
|
Before a PR is accepted it must pass the following requirements in CircleCI:
|
||
|
|
||
|
- [ ] All tests must pass
|
||
|
- [ ] The code must be lint free as determined by `flake8`
|
||
|
|
||
|
Additionally, any new code included in the PR must be tested fully.
|
||
|
|
||
|
## Developer Requirements
|
||
|
|
||
|
You will want to make sure that all developer requirements are installed. To
|
||
|
do this after creating a new `virtualenv` environment:
|
||
|
|
||
|
|
||
|
```sh
|
||
|
pip3 install -r requirements-dev.txt
|
||
|
```
|
||
|
|
||
|
This will install all normal requirements as well as testing requirements.
|
||
|
|
||
|
## Linting
|
||
|
|
||
|
We use `flake8` for linting.
|
||
|
|
||
|
## Running Tests
|
||
|
|
||
|
We use `pytest` as our testing framework.
|
||
|
|
||
|
|
||
|
TODO
|
||
|
|
||
|
## Style
|
||
|
|
||
|
### Import Organization
|
||
|
|
||
|
Import organization is a critical part of good software engineering. In large
|
||
|
projects considerable time can be wasted looking for a specific import.
|
||
|
The imports must be organized as follows:
|
||
|
|
||
|
```python
|
||
|
|
||
|
# System imports first
|
||
|
|
||
|
# Third party imports second
|
||
|
|
||
|
# UNLV/ClusterView modules external to the current module third
|
||
|
|
||
|
# Modules local to the current module last
|
||
|
```
|
||
|
|