“What are the best open-source Python projects to contribute to?” This is one of the most frequent questions posed by beginners. As a learner, contributing to open source projects is the best way to understand the code, the test infrastructure and build environment and the framework. Working on a project is also a great way to test your application, find and fix bugs and update documentation. Now GitHub has a number of beginner-friendly Python projects, but it takes a bit of time to understand the Git workflow as well. For example, knowing features such as push, pull, merge master and rollback among others, could come in handy.
Open Source Projects in Python You Should Know
We list down top-ranked projects from MyBridge. These projects are curated based on the number of stars gathered on GitHub. You can access the complete list here:
Sign up for your weekly dose of what's up in emerging technology.
99 Bottles: As part of this project, you will have to devise a program that prints out every line to the folk song 99 bottles of beer on the wall. The user will have to use a built-in function instead. Besides the phrase “take one down,” you may not type in any numbers or names of numbers directly into your song lyrics. Remember, when you reach 1 bottle left, the word “bottles” becomes singular.
Rock Paper Scissors Game: You can develop your first Python game with a simple project where the developer will have to create the game of rock-paper-scissors. The player will have to pick rock, paper or scissors and the computer will choose the move. Then the winner will be decided and the results printed. In this project, the developer is expected to have the following subgoals:
- Give the player the option to play again
- Keep a record of the score
Fibonacci Sequence: This project has a series of instructions such as:
- The developer will have to devise a function which enables the user to find the value of the nth term in the sequence.
- However, to ensure the function is correct, one should test the first 10 numbers of the sequence.
- For the solution, one can assume that the first two terms are 0 and 1 or that they are both 1.
- There are two ways to approach this problem – one way is through a loop and the other method is to use recursion.
- Ideally, you should employ both methods for the solution.
WhatWaf: This project earned 554 stars on GitHub and as part of the solution, the developer will have to detect and bypass web application firewalls and protection systems.
SimpleCoin: This blockchain project earned 779 stars on GitHub. As part of the project, the developer will have to devise a Bitcoin clone. Those who are interested in blockchain and cryptocurrency would find this project interesting.
Vapeplot: This project already has four contributors and is a matplotlib extension for vaporwave aesthetics
Bridgy: This project developed by Alex Goodman with 190 stars on GitHub and deals with cloud inventory search.
Resources For Open Source Projects For Beginners
First contributions is a hands-on tutorial that walks you through contributions workflow on GitHub. It gives you a series of steps for beginners on how to navigate GUI tools. Then there is a site for new projects known as Up for grabs that pulls together all the new projects you might need help on. They label those projects with things like “up-for-grabs”, “jump in” or “help wanted.” In case you want to contribute to an open-source project, check out CodeTriage, it will update you about any open issue.
Self-Initiated Project vs Contributing To A Project
If you are a beginner, it is best to work on a new, self-initiated project. This will also help you learn Git WorkFlow and sharpen the programming experience. It will also help you get familiarised with the community and GitHub for contributing to open source projects in the future. Here’s how one can kickstart their GitHub project:
- Create a repository
- Put in details in the Readme.md file about the project
- Build a roadmap for your project
- Start putting out as much code as you can
GitHub projects are a good way to start since they give developers more visibility and are also a great way to attract and find collaborators. One of the main reason why people like to contribute to GitHub projects is that recruiters and top employers prefer candidates who have projects on GitHub account and look at what they contributed.