Skip to content
This repository has been archived by the owner on May 6, 2022. It is now read-only.

Latest commit

 

History

History
56 lines (35 loc) · 1.8 KB

CONTRIBUTING.md

File metadata and controls

56 lines (35 loc) · 1.8 KB

How to contribute to Spokestack Python

Would you like to contribute to Spokestack Python? We would love to have your contributions!

Installation

Clone

git clone --recursive https://github.com/spokestack/spokestack-python.git
cd spokestack-python

Install Requirements

We use pyenv for virtual environments. Below you will find the step-by-step commands to install a virtual environment.

pyenv install 3.8.6
pyenv virtualenv 3.8.6 spokestack
pyenv local spokestack
pip install -r requirements.txt

Build Extensions

python setup.py build_ext --inplace

Pull Requests

We gladly welcome pull requests.

Before making any changes, we recommend opening an issue (if it doesn’t already exist) and discussing your proposed changes. This will let us give you advice on the proposed changes. If the changes are minor, then feel free to make them without discussion.

Development Process

Contributing is as simple as making a fork of the repo and adding commits. We distribute the repo with a .pre-commit-config.yml file that contains the necessary pre-commit hooks for formatting and tests. This file configures the pre-commit framework which is installed with the other Python dependencies in requirements.txt. Success on these pre-commit checks will ensure that your branch will build with CircleCI and meets our formatting requirements.

Format

We use flake8 and black for formatting. Your code will be automatically formatted to our specification by the pre-commit hook. This ensures deterministic uniformity across every addition.

Tests

For testing we use pytest.

Test Coverage

The following command will show test coverage via pytest:

pytest --cov=spokestack