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]/data.world-py.git
$ cd data.world-py
$ git remote add upstream https://github.com/datadotworld/data.world-py.git
The following list of python versions have been tested and have been found to work with the SDK. This is not a conclusive list and should be amended to include other versions that have worked for others:
- 3.12.3
Run the command below to install packages required:
$ pip install -e .
Run tests:
$ tox --pre
$ git checkout main
$ git pull upstream main
$ git checkout -b my-feature-branch
Should you find the need to run swagger-codegen, you will need to make changes to some generated code in order to address an issue with OAuth.
You can refer to the issue for more details: swagger-api/swagger-codegen#10968
After running swagger-codegen, you will need to update the configurations.py
file by adding this function, and using it in the auth_settings
function over here.
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 practises, run the command;
$ flake8
Make sure to fix any errors that appear if any.
Document any external behavior in the README.
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]/data.world-py.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
datadotworld/__init__.py
- All docs are updated, including
README.rst
and/docs
Release process:
- Create a GitHub release (and respective tag)
- Push respective tag to
release
branch (i.e.git push origin [tag]^{}:release
)
Thank you in advance, for contributing to this project!