Top 10 Python Libraries That Will Save You Hours of Work.

If you write Python code regularly, you know that some tasks can be painfully repetitive.

Python has some incredibly powerful libraries that can save you hours (or even days) of work. The problem? Most people keep using the same mainstream ones—NumPy, Pandas, and Requests—without realizing there are hidden gems that can automate, optimize, and simplify a lot of tasks.

So here’s a list of 10 Python libraries that can help you get things done faster.

1. Rich – Stop Using Boring Print Statements

Rich is a game-changer for beautifully formatted console logs. It lets you print tables, syntax-highlighted code, markdown, and even progress bars. Perfect for debugging or making CLI tools visually appealing.

Time saved: No more ugly print debugging or manually formatting tables.

<span>from</span> <span>rich.console</span> <span>import</span> <span>Console</span>
<span>console</span> <span>=</span> <span>Console</span><span>()</span>
<span>console</span><span>.</span><span>print</span><span>(</span><span>"</span><span>Hello, [bold magenta]Rich![/bold magenta]</span><span>"</span><span>)</span>
<span>from</span> <span>rich.console</span> <span>import</span> <span>Console</span>
<span>console</span> <span>=</span> <span>Console</span><span>()</span>
<span>console</span><span>.</span><span>print</span><span>(</span><span>"</span><span>Hello, [bold magenta]Rich![/bold magenta]</span><span>"</span><span>)</span>
from rich.console import Console console = Console() console.print("Hello, [bold magenta]Rich![/bold magenta]")

Enter fullscreen mode Exit fullscreen mode

2. Typer – Writing CLIs the Easy Way

If you’ve ever struggled with argparse, you’re going to love Typer. It’s based on FastAPI’s structure and makes it ridiculously easy to build command-line interfaces.

Time saved: No more manually parsing command-line arguments. Just type hint your functions and Typer does the rest.

<span>import</span> <span>typer</span>
<span>app</span> <span>=</span> <span>typer</span><span>.</span><span>Typer</span><span>()</span>
<span>@app.command</span><span>()</span>
<span>def</span> <span>hello</span><span>(</span><span>name</span><span>:</span> <span>str</span><span>):</span>
<span>print</span><span>(</span><span>f</span><span>"</span><span>Hello </span><span>{</span><span>name</span><span>}</span><span>"</span><span>)</span>
<span>app</span><span>()</span>
<span>import</span> <span>typer</span>
<span>app</span> <span>=</span> <span>typer</span><span>.</span><span>Typer</span><span>()</span>
<span>@app.command</span><span>()</span>
<span>def</span> <span>hello</span><span>(</span><span>name</span><span>:</span> <span>str</span><span>):</span>
    <span>print</span><span>(</span><span>f</span><span>"</span><span>Hello </span><span>{</span><span>name</span><span>}</span><span>"</span><span>)</span>
<span>app</span><span>()</span>
import typer app = typer.Typer() @app.command() def hello(name: str): print(f"Hello {name}") app()

Enter fullscreen mode Exit fullscreen mode

3. Polars – A Faster Alternative to Pandas

If your Pandas operations feel slow, Polars is the upgrade you need. It’s a blazingly fast DataFrame library that can handle large datasets more efficiently.

Time saved: Significantly reduced processing time for big data.

<span>import</span> <span>polars</span> <span>as</span> <span>pl</span>
<span>df</span> <span>=</span> <span>pl</span><span>.</span><span>read_csv</span><span>(</span><span>"</span><span>data.csv</span><span>"</span><span>)</span>
<span>df</span><span>.</span><span>filter</span><span>(</span><span>pl</span><span>.</span><span>col</span><span>(</span><span>"</span><span>age</span><span>"</span><span>)</span> <span>></span> <span>30</span><span>)</span>
<span>import</span> <span>polars</span> <span>as</span> <span>pl</span>
<span>df</span> <span>=</span> <span>pl</span><span>.</span><span>read_csv</span><span>(</span><span>"</span><span>data.csv</span><span>"</span><span>)</span>
<span>df</span><span>.</span><span>filter</span><span>(</span><span>pl</span><span>.</span><span>col</span><span>(</span><span>"</span><span>age</span><span>"</span><span>)</span> <span>></span> <span>30</span><span>)</span>
import polars as pl df = pl.read_csv("data.csv") df.filter(pl.col("age") > 30)

Enter fullscreen mode Exit fullscreen mode

4. FastAPI – The Modern Way to Build APIs

Django and Flask are great, but FastAPI is a whole different level. It’s fast, has built-in validation, and generates API docs automatically.

Time saved: Less boilerplate, automatic validation, and speedier performance.

<span>from</span> <span>fastapi</span> <span>import</span> <span>FastAPI</span>
<span>app</span> <span>=</span> <span>FastAPI</span><span>()</span>
<span>@app.get</span><span>(</span><span>"</span><span>/</span><span>"</span><span>)</span>
<span>def</span> <span>read_root</span><span>():</span>
<span>return</span> <span>{</span><span>"</span><span>message</span><span>"</span><span>:</span> <span>"</span><span>Hello, FastAPI!</span><span>"</span><span>}</span>
<span>from</span> <span>fastapi</span> <span>import</span> <span>FastAPI</span>
<span>app</span> <span>=</span> <span>FastAPI</span><span>()</span>
<span>@app.get</span><span>(</span><span>"</span><span>/</span><span>"</span><span>)</span>
<span>def</span> <span>read_root</span><span>():</span>
    <span>return</span> <span>{</span><span>"</span><span>message</span><span>"</span><span>:</span> <span>"</span><span>Hello, FastAPI!</span><span>"</span><span>}</span>
from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"message": "Hello, FastAPI!"}

Enter fullscreen mode Exit fullscreen mode

5. Pydantic – Stop Writing Manual Data Validation

If you hate writing manual validation logic, Pydantic is your best friend. It allows you to define data models with automatic validation using Python type hints.

Time saved: No need to write complex validation functions.

<span>from</span> <span>pydantic</span> <span>import</span> <span>BaseModel</span>
<span>class</span> <span>User</span><span>(</span><span>BaseModel</span><span>):</span>
<span>name</span><span>:</span> <span>str</span>
<span>age</span><span>:</span> <span>int</span>
<span>user</span> <span>=</span> <span>User</span><span>(</span><span>name</span><span>=</span><span>"</span><span>John</span><span>"</span><span>,</span> <span>age</span><span>=</span><span>"</span><span>25</span><span>"</span><span>)</span> <span># Raises validation error </span>
<span>from</span> <span>pydantic</span> <span>import</span> <span>BaseModel</span>
<span>class</span> <span>User</span><span>(</span><span>BaseModel</span><span>):</span>
    <span>name</span><span>:</span> <span>str</span>
    <span>age</span><span>:</span> <span>int</span>
<span>user</span> <span>=</span> <span>User</span><span>(</span><span>name</span><span>=</span><span>"</span><span>John</span><span>"</span><span>,</span> <span>age</span><span>=</span><span>"</span><span>25</span><span>"</span><span>)</span>  <span># Raises validation error </span>
from pydantic import BaseModel class User(BaseModel): name: str age: int user = User(name="John", age="25") # Raises validation error

Enter fullscreen mode Exit fullscreen mode

6. Loguru – Logging Made Ridiculously Simple

Python’s built-in logging module is powerful but overcomplicated. Loguru makes logging as easy as writing a print statement.

Time saved: No need to configure complex logging settings.

<span>from</span> <span>loguru</span> <span>import</span> <span>logger</span>
<span>logger</span><span>.</span><span>info</span><span>(</span><span>"</span><span>This is an info message</span><span>"</span><span>)</span>
<span>from</span> <span>loguru</span> <span>import</span> <span>logger</span>
<span>logger</span><span>.</span><span>info</span><span>(</span><span>"</span><span>This is an info message</span><span>"</span><span>)</span>
from loguru import logger logger.info("This is an info message")

Enter fullscreen mode Exit fullscreen mode

7. TQDM – Add Progress Bars with Zero Effort

If you work with loops that take time, TQDM is a must-have. It lets you add progress bars to your loops with a single line.

Time saved: Makes long-running loops visually trackable.

<span>from</span> <span>tqdm</span> <span>import</span> <span>tqdm</span>
<span>for</span> <span>i</span> <span>in</span> <span>tqdm</span><span>(</span><span>range</span><span>(</span><span>100</span><span>)):</span>
<span>pass</span> <span># Your logic here </span>
<span>from</span> <span>tqdm</span> <span>import</span> <span>tqdm</span>
<span>for</span> <span>i</span> <span>in</span> <span>tqdm</span><span>(</span><span>range</span><span>(</span><span>100</span><span>)):</span>  
    <span>pass</span>  <span># Your logic here </span>
from tqdm import tqdm for i in tqdm(range(100)): pass # Your logic here

Enter fullscreen mode Exit fullscreen mode

8. Shapely – Work with Geometric Objects Effortlessly

If you deal with geospatial data, Shapely makes working with geometric objects a breeze.

Time saved: No need to manually compute intersections, distances, or shapes.

<span>from</span> <span>shapely.geometry</span> <span>import</span> <span>Point</span>
<span>point</span> <span>=</span> <span>Point</span><span>(</span><span>1.0</span><span>,</span> <span>2.0</span><span>)</span>
<span>print</span><span>(</span><span>point</span><span>.</span><span>x</span><span>,</span> <span>point</span><span>.</span><span>y</span><span>)</span>
<span>from</span> <span>shapely.geometry</span> <span>import</span> <span>Point</span>
<span>point</span> <span>=</span> <span>Point</span><span>(</span><span>1.0</span><span>,</span> <span>2.0</span><span>)</span>
<span>print</span><span>(</span><span>point</span><span>.</span><span>x</span><span>,</span> <span>point</span><span>.</span><span>y</span><span>)</span>
from shapely.geometry import Point point = Point(1.0, 2.0) print(point.x, point.y)

Enter fullscreen mode Exit fullscreen mode

9. Pytest – Write Better Tests, Faster

Forget about Python’s built-in unittest. Pytest makes writing and running tests intuitive and efficient.

Time saved: Cleaner syntax, auto-discovery, and better debugging.

<span>def</span> <span>test_example</span><span>():</span>
<span>assert</span> <span>2</span> <span>+</span> <span>2</span> <span>==</span> <span>4</span>
<span>def</span> <span>test_example</span><span>():</span>
    <span>assert</span> <span>2</span> <span>+</span> <span>2</span> <span>==</span> <span>4</span>
def test_example(): assert 2 + 2 == 4

Enter fullscreen mode Exit fullscreen mode

Run all tests with a single command:

pytest
pytest
pytest

Enter fullscreen mode Exit fullscreen mode

10. Playwright – Automate Browser Actions Like a Pro

For web scraping or automated testing, Playwright is a powerful alternative to Selenium.

Time saved: Faster execution, headless browsing, and better handling of modern web apps.

<span>from</span> <span>playwright.sync_api</span> <span>import</span> <span>sync_playwright</span>
<span>with</span> <span>sync_playwright</span><span>()</span> <span>as</span> <span>p</span><span>:</span>
<span>browser</span> <span>=</span> <span>p</span><span>.</span><span>chromium</span><span>.</span><span>launch</span><span>()</span>
<span>page</span> <span>=</span> <span>browser</span><span>.</span><span>new_page</span><span>()</span>
<span>page</span><span>.</span><span>goto</span><span>(</span><span>"</span><span>https://example.com</span><span>"</span><span>)</span>
<span>print</span><span>(</span><span>page</span><span>.</span><span>title</span><span>())</span>
<span>browser</span><span>.</span><span>close</span><span>()</span>
<span>from</span> <span>playwright.sync_api</span> <span>import</span> <span>sync_playwright</span>
<span>with</span> <span>sync_playwright</span><span>()</span> <span>as</span> <span>p</span><span>:</span>
    <span>browser</span> <span>=</span> <span>p</span><span>.</span><span>chromium</span><span>.</span><span>launch</span><span>()</span>
    <span>page</span> <span>=</span> <span>browser</span><span>.</span><span>new_page</span><span>()</span>
    <span>page</span><span>.</span><span>goto</span><span>(</span><span>"</span><span>https://example.com</span><span>"</span><span>)</span>
    <span>print</span><span>(</span><span>page</span><span>.</span><span>title</span><span>())</span>
    <span>browser</span><span>.</span><span>close</span><span>()</span>
from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() page.goto("https://example.com") print(page.title()) browser.close()

Enter fullscreen mode Exit fullscreen mode

If you find yourself repeating certain tasks, look for a Python library that can automate or simplify it. Chances are, someone has already built the solution for you.

Which of these libraries have you used? Got any more time-saving Python gems? Drop them in the comments!

原文链接:Top 10 Python Libraries That Will Save You Hours of Work.

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
Hard-working is actually a cool thing.
努力学习其实是一件很酷的事
评论 抢沙发

请登录后发表评论

    暂无评论内容