DEV Community

Cover image for 7 Unique and Underrated Python Libraries
Chinemere
Chinemere

Posted on

7 Unique and Underrated Python Libraries

I believe that all stakeholders in the tech industry have agreed and come to a unanimous decision that Python is an easy-going programing language. If ever it was a debate, I think it was laid to rest long ago.

From www.python.org, Python is a programming language that lets you work quickly and integrate systems more effectively. Long story short Python is a programming language that is beginner-friendly, yet so powerful to a fault. So you want to build an E-commerce Application, a social network, a mobile application, a desktop application, or venture into game development, Robotics, natural language processing, data science, IoT (Internet of Things), and cybersecurity among others, Python is that all-round language that other languages wish they could become.

Python has one of the broadest libraries among programming languages. Its prevalence and flexibility have prompted the production of an immense number of libraries for different purposes including web development, data analysis, machine learning, and automation and that's just the beginning. While other languages like JavaScript and Java likewise have countless libraries, Python's usability, relevance, and accessibility of libraries have added to its far and wide reception and the improvement of a rich library ecosystem system. In any case, the specific number of libraries can fluctuate over the long run, and new libraries are continually being created in different languages non-stop.

It's obvious that generally perceived Python libraries like SQLAlchemy, NumPy, Pandas, OpenCV, beautiful soup, and Matplotlib have sort of built their tent in the minds of most developers. Notwithstanding, there's an entire universe of unpopular, uncommon, underappreciated, and vastly underrated Python libraries waiting to be discovered or rather, they have been discovered but are not fully being utilized.

In this article, we will explore some very useful Libraries that have been hugely โ€˜disrespectedโ€™ by the seeming neglect and lack of constant use of the Libraries.

Faker
So you want to test your application with semi-real data? Stress no more, Fake Data was built to help you generate fake data such as full names, addresses, emails, gender, etc. to help you work smartly. You can visit https://faker.readthedocs.io/en/master for basic installation instructions and application.

Arrow
As a newbie, you must be tired of Date formatting and all the struggles that come with manipulating Dates. The Arrow Library provides you with A logical and user-friendly method for producing, modifying, editing, and converting dates, times, and timestamps. It helps you work with Date and Time with fewer codes in the shortest possible time. Want to try it out? Click here https://pypi.org/project/arrow

Pandas-Profiling/ydata-Profiling
Data Science geeks will love this Library. It provides a one-line Exploratory Data Analysis (EDA) experience in a consistent and fast solution. At the time of writing this article, the module has been renamed to ydata-Profiling, it is used to create comprehensive profiling reports for a pandas data frame. It broadens insights into data delivery and distribution. You can explore more of its features at https://pypi.org/project/pandas-profiling

Rich
As the name implies, it is rich in beautifying terminal outputs. Take a sneak peek of what we are talking about

A terminal with beautiful letterings

You do not have to code in a boring black background and white text terminal. The Rich Library helps you to easily output colorful tables, progress bars, and syntax highlighting. Check out more of its features at https://pypi.org/project/rich

PyTorch Geometric
Deep Learning Enthusiast get in here, you are going to love this specialized library made up of various techniques for deep learning. Designed for dealing with irregular and graph-structured data in deep learning tasks. Software Engineers use this library to train and create neural networks that process and learn from complex relational data represented as graphs. For more on how this tool works, check it out on https://pytorch-geometric.readthedocs.io/en/stable

Peewee
This is a Python ORM (Object-Relational Mapping) library that supports SQLite, MySQL, PostgreSQL, and Cockroach databases. It basically helps software developers work with databases using Python class methods instead of battling with SQL queries. It is a very expressive object-relational mapper (ORM) applied to joining relational data with Python objects. You can access it here https://docs.peewee-orm.com/en/latest

Streamlit
Streamlit is an Open Source Python library that is used to create beautiful web apps. Say goodbye to HTML, CSS, and Javascript forever with this fun and creative library.

It is most useful for data science applications and machine learning projects. With Streamlit, your dashboard applications and visualization is about to come alive. With a simple and short line of Python code, you will get your application blazing all the way visually. You can get more out of it here https://docs.streamlit.io

There you have it. There are tons of Python libraries out there waiting to be explored. Which of these libraries will you start using to make you work better and smarter?

Do not hesitate to connect with me on Twitter and LinkedIn for more tech-related articles and discussions.

Top comments (6)

Collapse
 
codeperfectplus profile image
Deepak Raj

If you need to generate fake data for testing or other purposes, you might find Random-Profile library to be a useful tool. This library works much like Faker and helps you generate random profiles with fake data. It can be a handy resource for developers who are looking to test their applications with realistic, but non-sensitive data.

Random-Profile PYPI

Collapse
 
chinemere profile image
Chinemere

Yea, so true, you are very correct. Thanks for the insight.

Collapse
 
cwprogram profile image
Chris White

Thanks for the library list! I've used Arrow in quite a few projects and it's a really great tool for dealing with timezones easily. That said if you're someone who likes to keep their dependencies light Python has gained some timezone functionality recently through the zoneinfo module.

Collapse
 
chinemere profile image
Chinemere

@cwprogram I love that You appreciate the post Thank You.

Collapse
 
kurealnum profile image
Oscar

Rich seems like a really useful one. I'll definitely check it out the next time I'm creating a CLI!

Collapse
 
bshadmehr profile image
Bahman Shadmehr

I always prefer peewee when it comes to ORM. It's amazing and simple