Hacker’s Guide

If you’re looking to hack on SolidByte, you’re in the right place.

Pull Requests

…are welcome! Best practices TBD

Testing

pytest

Release

Bump the version with tbump. This will update the version in the source, create a commit, tag the release as v[version] and push it up in the current branch. All versions will deploy to test.pypi, but alpha will NOT be deployed to prod pypi.

For example, a beta release:

tbump 0.3.1b1

And a prod release:

tbump 0.3.1

These will be automagically deployed to PyPi by TravisCI.

Linting

flake8 is used for linting to PEP8 conventions. Best to configure it with your preferred IDE, but you can also run it with the command python setup.py lint.

Type Hinting

Type hinting is not required but encouraged. It isn’t checked during test builds but if you use it, verify it with mypy or another type checker.

Docstrings

Modules, classes, objects, should all be documented according to the Sphinx docstring syntax