Issue reports are a great way to contribute to this project.
To the extent possible, make sure that your issue is detailed and not a duplicate.
Fork the project on Github and check out your copy.
$ git clone https://github.com/[YOUR_GITHUB_NAME]/tap-redshift.git
$ cd tap-redshift
$ git remote add upstream https://github.com/datadotworld/tap-redshift.git
Run the command below to install packages required:
$ pip install -e .
Run tests:
$ python setup.py test
To test and see how the tap-redshift works, you'll need to provide a set of database config to connect to.
From the project root, create a config.json
file. Content should look like;
{
"host": "REDSHIFT_HOSTT",
"port": "REDSHIFT_PORT",
"dbname": "REDSHIFT_DBNAME",
"user": "REDSHIFT_USER",
"password": "REDSHIFT_PASSWORD",
"table_schema": "REDSHIFT_TABLE_SCHEMA"
}
The table_schema
key is optional as public is used as default.
Try to write a test that reproduces the problem you're trying to fix or describes a feature that you want to build. Add tests to spec.
We definitely appreciate pull requests that highlight or reproduce a problem, even without a fix.
Implement your feature or bug fix. Make sure that all tests pass without errors.
Also, to make sure that your code follows our coding style guide and best practices, run the command:
$ flake8
Make sure git knows your name and email address:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
Writing good commit logs is important. A commit log should describe what changed and why.
git add ...
git commit
git push origin my-feature-branch
Go to https://github.com/[YOUR_GITHUB_NAME]/tap-redshift.git and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days.
Checklist:
- Build passes
tox
verification (all tests across versions, test coverage, and code style) - Version number is correct in
tap_redshift/__init__.py
- All docs are updated (primarily
README.rst
)
Release process:
- Create a GitHub release (and respective tag)
- Push respective tag to
release
branch (i.e.git push origin [tag]^{}:release
)
NOTE: tap-redshift
is released to PyPI and DockerHub at the same time.
Thank you in advance, for contributing to this project!