My Top 5 Python Libraries, I used in 2020 !
Tags: python, programming, github, opensource
Published: 2021-02-10 08:59:15

So today marks the end of 2020, with less than 24hrs left for 1st January 2021, when I look at what I developed and learned in the past 1 year, I came to draw my top 5 python libraries that I learned and used to make some projects !

---

Without any further ado, here is the list:

## Pyglet

**pyglet** is a cross-platform windowing and multimedia library for Python, intended for developing games and other visually rich applications. It supports windowing, user interface event handling, Joysticks, OpenGL graphics, loading images and videos, and playing sounds and music. **pyglet** works on Windows, OS X and Linux.

I used this library to develop [PongPong](https://github.com/siddharth2016/PongPong), my first game developed using python, don't forget to check it out.

## Requests

The **requests** library is the de facto standard for making HTTP requests in Python. It abstracts the complexities of making requests behind a beautiful, simple API so that you can focus on interacting with services and consuming data in your application.

I used this library while developing a not-so-useful GitHub Action, [Quote-Readme](https://github.com/marketplace/actions/quote-readme).

Don't forget to check a simple, easy to follow tutorial [here](https://blog.codekaro.info/quote-readme-see-wonderful-quotesfun-facts-on-your-github-profile-readme).

## PyGithub

**PyGithub** is a Python library to use the Github API v3. With it, you can manage your Github resources (repositories, user profiles, organizations, etc.) from Python scripts.

This package is in the Python Package Index, so `pip install PyGithub` should be enough.

I used this library to write my GitHub Action's update readme function. I used this in [Quote - README](https://github.com/marketplace/actions/quote-readme) and [Update Image - README](https://github.com/marketplace/actions/update-image-readme)

## BeautifulSoup

Beautiful Soup (or **bs4**) is a Python library for pulling data out of HTML and XML files. It works with your favorite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree. It commonly saves programmers hours or days of work.

One of the most important library if you want to do Web Scraping. I am using it for several projects, either personal or company related. You can not miss to check this out.

If you feel you know the basics of it and want something more *spicy* then you should definitely checkout [MechanicalSoup](https://mechanicalsoup.readthedocs.io/en/stable/).

Don't forget to checkout, easy to use and simple to follow tutorials on scraping.

[Scraping Web - Inspiring Quotes](https://blog.codekaro.info/scraping-web-inspiring-quotes)

[Scraping Web - Awesome Facts](https://blog.codekaro.info/scraping-web-awesome-facts)

Both of these follow the same structure for explanation, so they should be pretty easy to follow, if any concern with them, please let me know. [Let's Connect](https://blog.codekaro.info/lets-connect)

## OpenCV

OpenCV (Open Source Computer Vision Library) is an open source computer vision and machine learning software library. OpenCV was built to provide a common infrastructure for computer vision applications and to accelerate the use of machine perception in the commercial products. Being a BSD-licensed product, OpenCV makes it easy for businesses to utilize and modify the code.

The library has more than 2500 optimized algorithms, which includes a comprehensive set of both classic and state-of-the-art computer vision and machine learning algorithms. 

These algorithms can be used to detect and recognize faces, identify objects, classify human actions in videos, track camera movements, track moving objects, extract 3D models of objects, produce 3D point clouds from stereo cameras, stitch images together to produce a high resolution image of an entire scene, find similar images from an image database, remove red eyes from images taken using flash, follow eye movements, recognize scenery and establish markers to overlay it with augmented reality, etc.

Really, OpenCV is the King of all Computer Vision libraries out there !

I have been working with it for almost 2 years and there are so many things I feel I still don't know.

Checkout some of my work, where I have created easy to use Object-Oriented Code of some of the most popular in-demand scripts used in computer vision.

[PyCV](https://github.com/siddharth2016/PyCV)

Also, one of the repository contains some of the exercises I did, they are really awesome and will definitely help you to refresh your computer vision touch !

[Opencv-Python-Computer-Vision](https://github.com/siddharth2016/Opencv-Python-Computer-Vision)

---

Well that was it, my top 5 python libraries I used in 2020. More to learn in 2021 !

Keep Learning, Best of Luck for 2021 and many more years to come !

Just starting your Open Source Journey ? Don't forget to check out [Hello Open Source](https://github.com/siddharth2016/hello-open-source)

Want to make a simple and awesome game from scratch ? Check [PongPong](https://github.com/siddharth2016/PongPong)

Till next time !

Namaste 🙏