Contributing

Thank you for taking the time to contribute! You can contribute in many ways:

Types of Contributions

Suggesting a feature

If you’ve got a good idea for a feature, then please let us know! Feature suggestions are embraced, but will often be filed for a rainy day. If you require a feature urgently it’s best to write it yourself. Don’t forget to share ;)

When suggesting a feature, make sure to:

  • Check the code on GitHub to make sure it’s not already hiding in an unreleased version ;)

  • Check existing issues, open and closed, to make sure it hasn’t already been suggested

Report Bugs

Report bugs at https://github.com/veedata/memories/issues.

If you are reporting a bug, please include:

  • Your operating system name and version.

  • Any details about your local setup that might be helpful in troubleshooting.

  • Detailed steps to reproduce the bug.

  • List the steps you’ve taken so far,

  • and any solutions you’ve tried

Get Started!

Here’s how to set up memories for local development.

  1. Fork the memories repo on GitHub.

  2. Clone your fork locally:

  3. Install dependencies:

    $ python -m pip install -r requiements.txt

  4. Create a branch for local development:

    $ git checkout -b your-branch-name

    Now you can make your changes locally.

  5. Commit your changes and push your branch to GitHub:

    $ git add .
    $ git commit -m "Description of your changes."
    $ git push origin your-branch-name
    
  6. Submit a pull request through the GitHub website.

Pull Request Guidelines

If you’ve decided to fix a bug, even something as small as a single-letter typo then great! Anything that improves the code/documentation for all future users is warmly welcomed.

If you decide to work on a requested feature it’s best to let us (and everyone else) know what you’re working on to avoid any duplication of effort. You can do this by replying to the original Issue for the request.

If you want to contribute an example; go for it! We might not always be able to accept your code, but there’s a lot to be learned from trying anyway and if you’re new to GitHub we’re willing to guide you on that journey.

When contributing a new example or making a change to a library please keep your code style consistent with ours. We try to stick to the pep8 guidelines for Python (https://www.python.org/dev/peps/pep-0008/).

Do

  • Do use pep8 style guidelines

  • Do comment your code where necessary

  • Do submit only a single example/feature per pull-request

  • Do include a description of what your example is expected to do

  • Do add details of your example to README.md

  • The pull request should include tests.

  • If the pull request adds functionality, the docs should be updated. Put your new functionality into a function with a docstring, and add the feature to the list in README.rst.

Don’t

  • Don’t include any license information in your examples- our repositories are MIT licensed

  • Don’t try to do too much at once- submit one or two examples at a time, and be receptive to feedback

  • Don’t submit multiple variations of the same example, demonstrate one thing concisely