DEV Community

Cover image for Trending Python Projects of the week
Juan Benitez
Juan Benitez

Posted on • Updated on

Trending Python Projects of the week

I wanted to make a compilation of some of the nicest Python projects that have gained popularity on GitHub this week.

SQLModel

As his creator defined, SQLModel is a Python library for interacting with SQL databases. It is based on Python type hints, and it uses Pydantic and SQLAlchemy internally. We can argue that SQLModel is just a layer on top of Pydantic and SQLAlchemy.

SQLModel was created by the same person who created FastAPI, so you can expect a pleasant and flawless integration between both.

Although SQLModel was launched no more than 4 months ago (at the time of writing this), it already offers many features, and some others are already being developed, I encourage you to give it a try.

Python Fire

Python Fire is a library designed by Google for automatically generating command-line interfaces (CLIs) from absolutely any Python object, so basically you can create a Python method and generate a CLI from it.

Here are some examples,

import fire

def greeting(name="World"):
  return "Hello %s!" % name

if __name__ == '__main__':
  fire.Fire(greeting)
Enter fullscreen mode Exit fullscreen mode

After import fire, we can use it to generate a CLI from greeting in this case.

python greeting.py  # Hello World!
python greeting.py --name=Juan  # Hello Juan!
python greeting.py --help  # Shows usage information.
Enter fullscreen mode Exit fullscreen mode

I think this library is really helpful for debugging, developing some Python scripts.

If you like to play with CLIs, you should try Typer, another great tool for building CLIs with Python.

Sherlock

This is simple, a Python script for searching usernames across several social networks, how cool is that huh?

I tried with my username and there are some sites that I don’t know about, I should look into that…

sherlock

changedetection.io

This is a tool for monitoring websites and get notifications when they change, so if you want to be on top of new information on the sites you like the most, give it a try.

Some use cases for this:

  • Governmental department updates (changes are often only on their websites)
  • Products and services have a change in pricing
  • New software releases, security advisories when you're not on their mailing list.
  • Festivals with changes
  • Real estate listing changes
  • COVID-19 related news from government websites

The best part about changedetection is that it is open source and you can self-host it.

I hope you like this list and leave a comment if you have used some of these tools or if you know about other Python projects gaining popularity.

You can follow me on Twitter and GitHub to be up to date with all my projects and content.

Top comments (2)

Collapse
 
an4s911 profile image
Anas Basheer

Amazing article. Loved it.

I think Fire and Sherlock are pretty nice ones. Will definitely use Fire for some debugging and building CLI scripts in Python. And also gonna checkout SQLModel as well.

Thanks a lot for a wonderful article

Collapse
 
juanbenitezdev profile image
Juan Benitez

I'm glad you like it 🖤