Awesome Open Source
Awesome Open Source


License: MIT made-with-python Open Source Love svg1 PRs Welcome first-timers-only contributions welcome  GitHub contributors Maintenance GitHub forks GitHub Repo stars

A beginner friendly project to help you in open source contributions. An attempt to bring all the algorithms together.

Please see the Contributing Guidelines .


The goal of this project is to help the beginners with their contributions in Open Source and bring all the possible algorithms of Machine Learning and Python together. We aim to achieve this collaboratively, so feel free to contribute in any way you want, just make sure to follow the contribution guidelines.

What is Open - Source? Open Source Love svg3

The open source community provides a great opportunity for aspiring programmers to distinguish themselves; and by contributing to various projects, developers can improve their skills and get inspiration and support from like-minded people. When you contribute to something you already know and love, it can have so much more meaning, because you know how the tool is used and the good it does for you. Being part of an open source community opens you up to a broader range of people to interact with.

Read more about it here.

Let's Get Started:

Step 1. Create a Copy of this Repository

In order to work on an open-source project, you will first need to make your own copy of the repository. To do this, you should fork the repository and then clone it so that you have a local working copy.

Fork 🍴 this repo. Click on the Fork button at the top right corner.

With the repository forked, you’re ready to clone it so that you have a local working copy of the code base.

Clone the Repository

To make your own local copy of the repository you would like to contribute to, let’s first open up a terminal window.

We’ll use the git clone command along with the URL that points to your fork of the repository.

  • Open the Command Prompt
  • Type this command:
git clone

Step 2: Creating a New Branch

It is important to branch the repository so that you are able to manage the workflow, isolate your code, and control what features make it back to the main branch of the project repository.

When creating a branch, it is very important that you create your new branch off of the master branch. To create a new branch, from your terminal window, follow:

git branch new-branch
git checkout new-branch

Once you enter the git checkout command, you will receive the following output:

Switched to branch 'new-branch'

Step 3: Contribute

Make relevant changes. Add new algorithms. Add Readme files. Contribute in any way you feel like :)

Step 4: Commiting and Pushing:

Once you have modified an existing file or added a new file to the project, you can add it to your local repository, which we can do with the git add command.

git add filename or git add .

You can type the command git add -A or alternatively git add -all for all new files to be staged.

With our file staged, we’ll want to record the changes that we made to the repository with the git commit command.

The commit message is an important aspect of your code contribution; it helps the other contributors fully understand the change you have made, why you made it, and how significant it is.

git commit -m "commit message"

At this point you can use the git push command to push the changes to the current branch of your forked repository:

git push --set-upstream origin new-branch

Step 6: Create Pull Request

At this point, you are ready to make a pull request to the original repository.

You should navigate to your forked repository, and press the “Compare & pull request” button on the page.

GitHub will alert you that you are able to merge the two branches because there is no competing code. You should add in a title, a comment, and then press the “Create pull request” button.


You have made it till the end. Kudos to you!!


Our content is basically divided into 5 segments for now. Please create an issue if you wish to add code in a language that we don't currently have here.

Where to upload the files

  • Your files should be uploaded directly into the corresponding folder (For instance, if you wrote code for an Algorithm Implementation in Python, it goes inside the Python folder and same goes for the ML Algorithm)
  • Under no circumstances create new folders within the language folders to upload your code unless specifically told to do so.

For any more issues and queries, please join our Discord server.

Feel free to reach out to us. Rememeber, collaboration is the key to open-source.

Please see the Contributing Guidelines .

Please STAR 🌟 this repository if you liked it and had fun :)

Maintainers! 😊

Aditya Kumar Gupta

💻 🖋

Paurush Tiwari

💻 🖋


Join our Discord Server to get help in contributing, as well as stay up-to-date on issues and best practices.

As always, thanks to our amazing contributors!

Stargazers over time

Stargazers over time

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (1,121,484
Jupyter Notebook (235,246
Hacktoberfest (37,756
Golang (32,778
Python3 (32,479
Machine Learning (30,945
Deep Learning (23,045
Cpp (15,814
Open Source (7,567
Deep Neural Networks (2,816
Beginner (882
Easy To Use (845
Beginner Friendly (793
Good First Issue (353
First Timers (194
Related Projects