First: poetry install && poetry shell
Then at the top level dir: pytest
, or pytest --cov
to view code coverage
This repo currently uses the following dev tools:
black
for code formatting (black .
)isort
for dependency sorting (isort --profile black .
)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).
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!
poetry publish -u <username> -p <password>
There's also a poetry config
setting, though this seems to be fine for now!
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).