👍🎉 First off, thank you for taking the time to contribute! 🎉👍
Whether you are a novice or experienced software developer, all contributions and suggestions are welcome!
There are many ways to contribute to AutoNormalize, with the most common ones being contribution of code or documentation to the project.
To contribute, you can:
-
Submit a pull request for one of Good First Issues
-
Make changes to the codebase, see Contributing to the codebase.
-
Report issues you're facing, and give a "thumbs up" on issues that others reported and that are relevant to you. Issues should be used for bugs, and feature requests only.
-
The code is hosted on GitHub, so you will need to use Git to clone the project and make changes to the codebase. Once you have obtained a copy of the code, you should create a development environment that is separate from your existing Python environment so that you can make and test changes without compromising your own work environment.
-
You can run the following steps to clone the code, create a separate virtual environment, and install autonormalize in editable mode.
git clone https://github.com/alteryx/autonormalize.git python -m venv venv source venv/bin/activate python -m pip install -e . python -m pip install -r dev-requirements.txt
-
If you plan to build the docs locally, you will have to install git lfs because the demo data for the guides use git-lfs
-
Implement your pull request. If needed, add new tests or update the documentation.
-
Before submitting to GitHub, verify the tests run and the code lints properly
# runs test make test # runs linting make lint # will fix some common linting issues automatically make lint-fix
-
If you made changes to the documentation, build the documentation locally.
# go to docs and build cd docs make html # view docs locally open build/html/index.html
-
Once your changes are ready to be submitted, make sure to push your changes to GitHub before creating a pull request. Create a pull request, and our continuous integration will run automatically.
-
Update the "Future Release" section of the release notes (
docs/source/release_notes.rst
) to include your pull request and add your github username to the list of contributors. Add a description of your PR to the subsection that most closely matches your contribution:- Enhancements: new features or additions to Autonormalize.
- Fixes: things like bugfixes or adding more descriptive error messages.
- Changes: modifications to an existing part of Autonormalize.
- Documentation Changes
- Testing Changes
Documentation or testing changes rarely warrant an individual release notes entry; the PR number can be added to their respective "Miscellaneous changes" entries.
-
We will review your changes, and you will most likely be asked to make additional changes before it is finally ready to merge. However, once it's reviewed by a maintainer of Autonormalize, passes continuous integration, we will merge it, and you will have successfully contributed to Autonormalize!
When reporting issues please include as much detail as possible about your operating system, autonormalize version and python version. Whenever possible, please also include a brief, self-contained code example that demonstrates the problem.