Thank you for considering contributing to EdmontonPy. It is people like you that make this community what it is. Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
EdmontonPy is an open source project, and we love to receive contributions from our community. There are many ways to contribute, from orginizing issues, improving the documentation, submitting bug reports, providing feature requests, writing code or even presenting at the EdmontonPy meetup itself.
Please, don't use the issue tracker for support questions. Check whether the #meetup channel on edmontonpy.slack.com can help with your issue. If your problem is related to security please email [email protected].
All development is done in compliance with PEP8 and full coverage.
This section will go through the steps on how to get started contributing to EdmontonPy.
- Download and install the latest version of git
- Configure git with your username and email
git config --global user.name 'your name'
git config --global user.email 'your email'
- Make sure you have a GitHub account
- Fork edmontonpy to your GitHub account by clicking the Fork button
- Clone your GitHub fork locally
git clone https://github.com/{username}/edmontonpy
cd edmontonpy
- Add the main repository as a remote to update later
git remote add edmontonpy https://github.com/EdmontonPy/edmontonpy
git fetch edmontonpy
- Use pipenv and npm to install the project in development mode
pipenv sync --dev
npm install
- Create a branch to identify the issue you would like to work on
git branch {issue number}-{issue title}
git checkout {issue number}-{issue title}
- Include tests that cover any code changes. Make sure the test fails without your patch. Run the tests..
./bin/run_tests
- Using your favorite editor, make your changes, committing as you go
- Push your commits to GitHub and create a pull request, if your changes inculde interface changes; please also submit screenshots of the affected pages.
If you find a security vulnerability, do NOT open an issue. Please email [email protected] instead. In order to determine whether you are dealing with a security issue, ask yourself these two questions:
- Can I access something I shouldn't have access to?
- Can I disable something for other people?
If the answer to either of those two questions are "yes", then you're probably dealing with a security issue. Even if you answer "no" to both questions, you may still be dealing with a security issue, if you're unsure, email us at [email protected].
When filing an issue, make sure to answer these three questions:
- What did you do?
- What did you expect to see?
- What did you see instead?
General questions should go to the #meetup channel on edmontonpy.slack.com.
If you find yourself wishing for a feature that doesn't exist in EdmontonPy, you are probably not alone. There are bound to be others out there with similar needs. Many of the features that EdmontonPy has today have been added because our users saw the need. Open an issue on our issues list on GitHub which describes the feature you would like to see, why you need it, and how it should work.
SCSS compilation is done using npm to produce style.min.scss
; run
npm run dist
after you have installed the npm requirements.
Tests can be called with ./bin/run_tests
.