We're so glad you're thinking about contributing to this open source project! If you're unsure or afraid of anything, just ask or submit the issue or pull request anyway. The worst that can happen is that you'll be politely asked to change something. We appreciate any sort of contribution, and don't want a wall of rules to get in the way of that.
If you want to report a bug or request a new feature, the most direct method is to create an issue in this repository. We recommend that you first search through existing issues (both open and closed) to check if your particular issue has already been reported. If it has then you might want to add a comment to the existing issue. If it hasn't then feel free to create a new one.
If you choose to submit a pull request, you will notice that our continuous integration (CI) system runs a fairly extensive set of linters and syntax checkers. Your pull request may fail these checks, and that's OK. If you want you can stop there and wait for us to make the necessary corrections to ensure your code passes the CI checks.
If you want to make the changes yourself, or if you want to become a regular contributor, then you will want to set up pre-commit on your local machine. Once you do that, the CI checks will run locally before you even write your commit message. This speeds up your development cycle considerably.
Creating a pull request
Instructions for creating a pull request using the GitHub Web UI can be found
Setting up pre-commit
Installing and using
On the Mac, we recommend installing brew. Then
installation is as simple as
brew install pyenv pyenv-virtualenv and
adding this to your profile:
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
For Linux, Windows Subsystem for Linux (WSL), or on the Mac (if you
don't want to use
brew) you can use
install the necessary tools. Before running this ensure that you have
installed the prerequisites for your platform according to the
On WSL you should treat your platform as whatever Linux distribution you've chosen to install.
Once you have installed
pyenv you will need to add the following
lines to your
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)"
and then add the following lines to your
eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
If you want more information about setting up
pyenv once installed, please run
for the current configuration instructions.
If you are using a shell other than
bash you should follow the
instructions that the
pyenv-installer script outputs.
You will need to reload your shell for these changes to take effect so
you can begin to use
For a list of Python versions that are already installed and ready to
pyenv, use the command
pyenv versions. To see a list of
the Python versions available to be installed and used with
use the command
pyenv install --list. You can read more
the many things that
pyenv can do. See
here for the
additional capabilities that pyenv-virtualenv adds to the
Creating the Python virtual environment
pyenv-virtualenv are installed on your system, you
can create and configure the Python virtual environment with these
cd log4j-affected-db pyenv virtualenv <python_version_to_use> log4j-affected-db pyenv local log4j-affected-db pip install --upgrade pip setuptools wheel pre-commit
Installing the pre-commit hook
Now setting up pre-commit is as simple as:
At this point the pre-commit checks will run against any files that
you attempt to commit. If you want to run the checks against the
entire repo, just execute
pre-commit run --all-files.
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.