alecor.net

Search the site:

2020-03-24

Python libraries we should use more

Summary:

List of Python libraries we should use more.

A quick list of Python libraries with a brief description which may be very useful for your next Python code:

  • Typer: Typer is a Python library for building CLI applications. It provides a decorator-based interface for defining CLI commands and arguments, and automatically generates help documentation based on the function signatures.

  • Click: Click is another Python library for building CLI applications. It provides a more traditional interface for defining CLI commands and arguments, and supports features like subcommands, options with multiple values, and more.

  • PyAutoGUI: PyAutoGUI is a Python library for automating GUI interactions. It provides functions for simulating mouse and keyboard events, taking screenshots, and more.

  • tkinter: tkinter is a Python library for building graphical user interfaces (GUIs). It provides a set of widgets and layout managers for building windows and dialogs, and supports various input devices like mouse and keyboard.

  • Pillow: Pillow is a Python library for working with images. It provides tools for opening, manipulating, and saving images in various file formats, as well as more advanced image processing functions.

  • httpx: httpx is a modern, asynchronous HTTP client for Python. It provides a simple and intuitive interface for making HTTP requests, and supports features like HTTP/2, HTTP/3, and WebSockets.

  • aiohttp: aiohttp is another asynchronous HTTP client for Python. It is built on top of asyncio and provides a more low-level interface for making HTTP requests, but also supports more advanced features like server-side websockets and HTTP/2.

  • fastapi: fastapi is a modern, fast web framework for building APIs with Python. It is built on top of asyncio and provides automatic API documentation and validation, as well as support for various authentication and authorization methods.

  • django: django is a popular web framework for building full-stack web applications with Python. It provides a comprehensive set of tools for handling web requests, managing databases, and rendering HTML templates.

  • tqdm: tqdm is a Python library for adding progress bars to loops and iterators. It provides a simple and intuitive interface for tracking the progress of long-running computations.

  • rich: rich is a Python library for adding color and style to terminal output. It provides a variety of styles and formatting options for adding emphasis and structure to text output.

  • SQLAlchemy: SQLAlchemy is a Python library for working with SQL databases. It provides an Object-Relational Mapping (ORM) system that allows Python objects to be mapped to database tables, and provides a high-level SQL abstraction layer for querying databases.

  • beautifulsoup: Beautiful Soup is a Python library for parsing HTML and XML documents. It provides a simple interface for navigating, searching, and modifying the parse tree.

  • pygame: pygame is a Python library for creating video games and multimedia applications. It provides functionality for displaying graphics, playing sounds and music, handling user input, and more.

  • pyinstaller: pyinstaller is a Python library for creating standalone executables from Python scripts. It packages all necessary dependencies and runtime libraries into a single executable file, making it easy to distribute Python applications.

  • prefect: prefect is a Python library for building, scheduling, and monitoring data pipelines. It provides a simple and intuitive interface for defining workflows and dependencies, and supports various execution environments like local machines, Kubernetes, and cloud providers.

  • attrs: attrs is a Python library for defining classes with explicit attributes. It provides a decorator-based interface for defining class attributes with metadata and default values, and supports various features like validation, conversion, and more.

  • joblib: joblib is a Python library for parallel and memory-efficient computing. It provides tools for running CPU-bound and I/O-bound tasks in parallel across multiple cores, and supports various backends like multiprocessing and dask.

Nothing you read here should be considered advice or recommendation. Everything is purely and solely for informational purposes.