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!