We make an effort to follow the Scikit-learn's contributing guidelines and The Python Software Foundation's Code of Conduct.
Contributors are community members who contribute in concrete ways to the project.
Please refrain from submitting issues or pull requests generated by fully-automated tools. Strictly, don't submit code that you do not understand.
Ideally, contributions should follow from a human-to-human discussion in the form of an issue.
We use GitHub issues to track all bugs and feature requests; feel free to open an issue if you have found a bug or wish to see a feature implemented.
It is recommended to check that your issue complies with the following rules before submitting:
-
Verify that your issue is not being currently addressed by other issues or pull requests.
-
If you are submitting a bug report, we strongly encourage you to follow the guidelines in How to make a good bug report.
When you submit an issue to GitHub, please do your best to follow these guidelines! This will make it a lot easier to provide you with good feedback:
-
The ideal bug report contains a short reproducible code snippet, this way anyone can try to reproduce the bug easily. If your snippet is longer than around 50 lines, please link to a Gist or a GitHub repo.
-
If not feasible to include a reproducible snippet, please be specific about what estimators and/or functions are involved and the shape of the data.
-
If an exception is raised, please provide the full traceback.
-
Please include your operating system type and version number, as well as your Python, scikit-learn, numpy, and scipy versions.
-
Please ensure all code snippets and error messages are formatted in appropriate code blocks. See Creating and highlighting code blocks for more details.
To maintain the quality of the codebase and ease the review process, any contribution must conform to the project’s coding guidelines, in particular:
-
Don’t modify unrelated lines to keep the PR focused on the scope stated in its description or issue.
-
Only write inline comments that add value and avoid stating the obvious: explain the “why” rather than the “what”.
-
Most importantly: Do not contribute code that you don’t understand.
The preferred way to contribute to this repository is to fork the main repository on GitHub, make your changes locally, and then submit a pull request (PR).
If you do not already have a GitHub account, please create one at https://github.com.
- Click the ‘Fork’ button near the top-right of this page. This will create a copy of the repository under your GitHub account.
- For more details on how to fork a repository, refer to this guide.
Clone the forked repository to your local machine by running:
git clone git@github.com:YourLogin/Data-Mining-Project.git
cd Data-Mining-ProjectAlternatively, you can choose to form a Github team, work over there with your team and push in code whenever you think you've a stable program running or a new feature is added.
pip install pytest pytest-covThis saves a reference to the main repository, which you can use to keep your repository synchronized with the latest changes:
git remote add upstream git@github.com:TCS-2021/Data-Mining-Project.git6. Check that the upstream and origin remote aliases are configured correctly by running git remote -v which should display:
origin git@github.com:YourLogin/Data-Mining-Project.git (fetch)
origin git@github.com:YourLogin/Data-Mining-Project.git (push)
upstream git@github.com:TCS-2021/Data-Mining-Project.git (fetch)
upstream git@github.com:TCS-2021/Data-Mining-Project.git (push)The next steps now describe the process of modifying code and submitting a PR:
7. Synchronize your main branch with the upstream/main branch, more details on GitHub Docs:
git checkout main
git fetch upstream
git merge upstream/maingit checkout -b my_featureand start making changes. Always use a feature branch. It’s good practice to never work on the main branch!
9. Develop the feature on your feature branch on your computer, using Git to do the version control. When you’re done editing, add changed files using git add and then git commit:
git add modified_files
git committo record your changes in Git, then push the changes to your GitHub account with:
git push -u origin my_featureFollow these instructions to create a pull request from your fork. This will send an notification to potential reviewers. You may want to consider sending an message in the https://github.com/TCS-2021/Data-Mining-Project/discussions/categories/pr-queries in the PR Queries channel for more visibility if your pull request does not receive attention after a couple of hours (instant replies are not guaranteed though).
It is often helpful to keep your local feature branch synchronized with the latest changes of the main scikit-learn repository:
git fetch upstream
git merge upstream/mainSubsequently, you might need to solve the conflicts. You can refer to the Git documentation related to resolving merge conflict using the command line related to resolving merge conflict using the command line.
The Git documentation and http://try.github.io are excellent resources to get started with git, and understanding all of the commands shown here.
Please refer to this on making a good pr.
Please use the valid channel on discussions tab for any other queries.