|
# Contributing to GCSA
|
|
|
|
Welcome and thank you for considering contributing to *Google Calendar Simple API* open source project!
|
|
|
|
Before contributing to this repository, please first discuss the change you wish to make via
|
|
[Issue](https://github.com/kuzmoyev/google-calendar-simple-api/issues),
|
|
[GitHub Discussion](https://github.com/kuzmoyev/google-calendar-simple-api/discussions), or [Discord](https://discord.gg/mRAegbwYKS). Don’t hesitate to ask!
|
|
Issue submissions, discussions, suggestions are as welcomed contributions as pull requests.
|
|
|
|
## Steps to contribute changes
|
|
|
|
1. [Fork](https://github.com/kuzmoyev/google-calendar-simple-api/fork) the repository
|
|
2. Clone it with `git clone [email protected]:{your_username}/google-calendar-simple-api.git`
|
|
3. Install dependencies if needed with `pip install -e .` (or `pip install -e ".[dev]"` if you want to run tests, compile documentation, etc.).
|
|
Use [virtualenv](https://virtualenv.pypa.io/en/latest/) to avoid polluting your global python
|
|
4. Make and commit the changes. Add `closes #{issue_number}` to commit message if applies
|
|
5. Run the tests with `tox` (these will be run on pull request):
|
|
* `tox` - all the tests
|
|
* `tox -e pytest` - unit tests
|
|
* `tox -e flake8` - style check
|
|
* `tox -e sphinx` - docs compilation test
|
|
6. Push
|
|
7. Create pull request
|
|
* towards `dev` branch if the changes require a new GCSA version (i.e. changes in [gcsa](https://github.com/kuzmoyev/google-calendar-simple-api/tree/master/gcsa) module)
|
|
* towards `master` branch if they don't (e.x. changes in README, docs, tests)
|
|
|
|
## While contributing
|
|
|
|
* Follow the [Code of conduct](https://github.com/kuzmoyev/google-calendar-simple-api/blob/master/.github/CODE_OF_CONDUCT.md)
|
|
* Follow the [pep8](https://peps.python.org/pep-0008/) and the code style of the project (use your best judgement)
|
|
* Add documentation of your changes to code and/or to [read-the-docs](https://github.com/kuzmoyev/google-calendar-simple-api/tree/master/docs/source) if needed (use your best judgement)
|
|
* Add [tests](https://github.com/kuzmoyev/google-calendar-simple-api/tree/master/tests) if needed (use your best judgement)
|
|
|