Skip to content

Latest commit

 

History

History
131 lines (88 loc) · 6.81 KB

File metadata and controls

131 lines (88 loc) · 6.81 KB

We make an effort to follow the Scikit-learn's contributing guidelines and The Python Software Foundation's Code of Conduct.

Contributors:

Contributors are community members who contribute in concrete ways to the project.

Automated Contributions Policy

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.

Submitting a bug report or a feature request

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:

  1. Verify that your issue is not being currently addressed by other issues or pull requests.

  2. If you are submitting a bug report, we strongly encourage you to follow the guidelines in How to make a good bug report.

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:

  1. 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.

  2. 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.

  3. If an exception is raised, please provide the full traceback.

  4. Please include your operating system type and version number, as well as your Python, scikit-learn, numpy, and scipy versions.

  5. Please ensure all code snippets and error messages are formatted in appropriate code blocks. See Creating and highlighting code blocks for more details.

Contributing code

To maintain the quality of the codebase and ease the review process, any contribution must conform to the project’s coding guidelines, in particular:

  1. Don’t modify unrelated lines to keep the PR focused on the scope stated in its description or issue.

  2. Only write inline comments that add value and avoid stating the obvious: explain the “why” rather than the “what”.

  3. Most importantly: Do not contribute code that you don’t understand.

How to Contribute

Contributing to Data-Mining-Project

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).

Getting Started

1. Create a GitHub Account

If you do not already have a GitHub account, please create one at https://github.com.

2. Fork the Repository

  • 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.

3. Clone Your Fork Locally

Clone the forked repository to your local machine by running:

git clone git@github.com:YourLogin/Data-Mining-Project.git
cd Data-Mining-Project

Alternatively, 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.

4. Install the development dependencies:

pip install pytest pytest-cov

5. Add the upstream remote.

This 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.git

6. 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/main

8. Create a feature branch to hold your development changes:

git checkout -b my_feature

and 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 commit

to record your changes in Git, then push the changes to your GitHub account with:

git push -u origin my_feature

Follow 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/main

Subsequently, 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.

Learning Git

The Git documentation and http://try.github.io are excellent resources to get started with git, and understanding all of the commands shown here.

Guide on making a good pr

Please refer to this on making a good pr.

Please use the valid channel on discussions tab for any other queries.