Skip to content

Contribution Guidelines

Environment Configuration

It is recommended that you use a virtual environment for development.

VENV

Create a new python virtualenv and activate it:

python3 -m venv venv
source venv/bin/activate

Anaconda

Installation Guide

  conda create --name pi_monitor python=3.7 --yes
  conda activate pi_monitor

Requirements

Install the requirements for the application:

pip install -r requirements.txt
pip install -r requirements-dev.txt

Install the Module

Install the module in an editable mode:

pip install -e .

Run pi-monitor -h and verify that the help is displayed.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Formatting and Linting

This repository is configured to use pre-commit to check code, including Black and Flake8 to format and lint code. It is always good to format before commiting changes.

To format:

> black .

To execute flake8 across your changes

> flake8 .

To check your files before committing:

> pre-commit run

Documentation

This repository uses mkdocs to generate the documentation site, along with mkdocsstrings-python to extract documentation from code comments. This project uses Google-formatted docstrings to generate, so please follow that standard when documenting code.

Your contribution should be documented. You can generate documentation locally using the following commands.

> pip install -r requirements-mkdocs.txt
> mkdocs serve

The documentation site is updated when new releases are published in Github.