Contributing

itty3 gladly accepts contributions that:

  • are respectful to everyone

  • inclusive by default (we’re all human)

  • report/fix Real World™ problems

If this list offends you or you feel you can’t follow these guidelines, you’re welcome to use other frameworks or to not contribute.

Ways To Contribute

In easy-to-harder order:

  • File an issue/bug report

  • Add/update documentation

  • Add test coverage

  • Add feature code

File An Issue/Bug Report

If you encounter a bug or a shortcoming in itty3, one of the easiest ways to help is to create a GitHub Issue.

Simply click the link and fill out the template.

The more detail you can provide, the easier it will be to reproduce your issue & get it resolved.

Thanks for the help!

Add/Update Documentation

Documentation is crucial in understanding & using software libraries. And itty3’s documentation is no exception.

That said, mistakes & omissions happen. Helping fix the documentation is an easy way to help everyone!

To submit a documentation addition/update:

  • Fork the repository on GitHub

  • Clone your fork to your local machine (or edit in the GitHub UI)

  • Create a new branch with git

  • Change the documentation in question (located in the docs/ folder)

  • Add your changes via git

  • Commit the changes to your branch

  • Push the branch back to GitHub

  • Open a Pull Request for your branch

  • Fill out the template & submit!

With apologies to Edgar Allen Poe,… Quoth the raven: Documentation forevermore!

Add Test Coverage

All software has bugs. Tests prove that the code works as intended.

To submit a test addition/update:

  • Fork the repository on GitHub

  • Clone your fork to your local machine (or edit in the GitHub UI)

  • Create a new branch with git

  • Create a virtualenv/pipenv for the repository & activate it

  • Run $ pip install pytest

  • Run $ pytest tests & ensure they’re passing.

  • Make your changes/additions to test files.

  • Run $ pytest tests again & ensure your changes pass.

  • Add your changes via git

  • Commit the changes to your branch

  • Push the branch back to GitHub

  • Open a Pull Request for your branch

  • Fill out the template & submit!

I :heart: more tests, always.

Add Feature Code

Most everyone loves new features. As long as new features fall within the Philosophy of itty3, they’re welcomed & appreciated!

To submit a new feature:

  • Fork the repository on GitHub

  • Clone your fork to your local machine (or edit in the GitHub UI)

  • Create a new branch with git

  • Create a virtualenv/pipenv for the repository & activate it

  • Run $ pip install pytest

  • Run $ pytest tests & ensure they’re passing.

  • Add your feature work.

  • Ensure the new feature has a docstring if it’s public API.

  • Ensure the new feature matches existing code style (black is nice here).

  • Add documentation to the main guides as appropriate.

  • Run $ pytest tests again & ensure your changes pass.

  • Add your changes via git

  • Commit the changes to your branch

  • Push the branch back to GitHub

  • Open a Pull Request for your branch

  • Fill out the template & submit!

You da bes!