Skip to content

Latest commit

 

History

History
32 lines (21 loc) · 1.75 KB

CONTRIBUTING.md

File metadata and controls

32 lines (21 loc) · 1.75 KB

Contribution Guide

Running Tests

First: poetry install && poetry shell

Then at the top level dir: pytest, or pytest --cov to view code coverage

Code Formatting

This repo currently uses the following dev tools:

  1. black for code formatting (black .)
  2. isort for dependency sorting (isort --profile black .)
  3. mypy for static type checking (mypy --ignore-missing-imports .)

You can run the individual commands and/or have them run via the pre-commit hooks (make sure you are using the pre-commit installed from the Poetry venv, i.e. from poetry shell, as opposed to another install).

Opening a PR

Use this convention when creating a new branch: {your_abbrv_name}/{contribution_description}

E.g. yname/general_update or optionally yname/1-fix_first_issue if it's linked to an issue.

Thank you for contributing and working to keep things organized!

Publishing to PyPI

poetry publish -u <username> -p <password>

There's also a poetry config setting, though this seems to be fine for now!

Complimentary Libraries

In addition to the standard library itertools, functional tools like funcy and more-itertools can improve development and make data transforms more consistent and elegant. python-benedict is another handy library, and benedict objects can be used to facilitate mapping if an appropriate use-case comes up (though this was refactored-out since it provides more features than needed).