Python libraries and frameworks

Page content

1. Cloud computing

1.1 Boto3

  • Boto3 is the AWS SDK for Python to create, configure, and manage AWS services, such as EC2 and S3.
  • Installation: pip install boto3
  • The AWS SDK is composed of two key Python packages:
    1. Botocore is the library providing the low-level functionality shared between the Python SDK and the AWS CLI
    2. Boto3 is the package implementing the Python SDK itself.

2. Automation testing

2.1 Splinter

  • Splinter is a Python framework that provides a simple and consistent interface for web application automation.

2.2 Robot

  • Robot is a generic open-source automation framework. It can be used for test automation and robotic process automation (RPA).

2.3 Behave

  • Behave is behaviour-driven development, Python style.

2.4 PyUnit

  • PyUnit is an easy way to create unit testing programs and UnitTests with Python.

2.5 pytest

  • pytest makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.

3. Game development

3.1 PyGame

  • PyGame is a set of Python modules designed for writing video games.

3.2 PyGlet

  • PyGlet is a cross-platform windowing and multimedia library for Python, intended for developing games and other visually rich applications.

3.3 PyOpenGL

  • PyOpenGL is the most common cross-platform Python binding to OpenGL and related APIs.

3.4 Arcade

  • Arcade is a modern Python framework for crafting games with compelling graphics and sound.

3.5 Panda3D

  • Panda3D is an open-source, free-to-use 3D engine made for the development of realtime 3D games, visualizations, simulations, experiments.

4. Image processing

4.1 OpenCV

  • OpenCV provides pre-built CPU-only OpenCV packages for python.

4.2 Mahotas

  • Mahotas is a computer vision and image processing library for Python.

4.3 Scikit-Image

  • Scikit-Image is a collection of algorithms for image processing.

4.4 Pgmagick

4.5 SimpleITK

  • SimpleITK provides a simplified interface to ITK in a variety of languages.

5. Machine learning

5.1 Numpy (Numerical python)

5.2 Keras

  • Keras is a deep learning API written in Python, running on top of the machine learning platform TensorFlow.

5.3 Theano

  • Theano is a Python library that allows you to define, optimize, and evaluate mathematical expressions involving multi-dimensional arrays efficiently.

5.4 Pandas

5.5 PyTorch

  • PyTorch is an optimized tensor library for deep learning using GPUs and CPUs.

5.6 TensorFlow

  • TensorFlow makes it easy for beginners and experts to create machine learning models for desktop, mobile, web, and cloud.

5.7 Scikit-Learn

5.8 Matplotlib

5.9 Scipy

  • Scipy is open-source software for mathematics, science, and engineering. It includes modules for statistics, optimization, integration, linear algebra, Fourier transforms, signal and image processing, ODE solvers, and more.
  • Here are my notes:

5.10 Seaborn


6. Web development

6.1 Django

6.2 Flask

  • Flask is a small and lightweight Python web framework that provides useful tools and features that make creating web applications in Python easier.

6.3 Bottle

  • Bottle is a fast, simple and lightweight WSGI micro web framework for Python.

6.4 CherryPy

  • CherryPy is a pythonic, object-oriented web framework.

6.5 Pyramid

  • Pyramid makes it easy to write web applications.

6.6 Web2Py

  • Web2Py is an open-source full-stack framework for the rapid development of fast, scalable, secure and portable database-driven web-based applications.

6.7 TurboGears

6.8 CubicWeb

  • CubicWeb is a semantic web application framework.

6.9 Dash

  • Dash is a python framework created by plotly for creating interactive web applications.

6.10 Falcon

  • Falcon is a minimalist ASGI/WSGI framework for building mission-critical REST APIs and microservices, with a focus on reliability, correctness, and performance at scale.

7. Web scraping

7.1 asyncio

7.2 BeautifulSoup

  • BeautifulSoup is a Python library for pulling data out of HTML and XML files.
  • It works with your favourite parser to provide idiomatic ways of navigating, searching, and modifying the parse tree.

7.3 Celery

  • Celery is a simple, flexible, and reliable distributed system to process vast amounts of messages, while providing operations with the tools required to maintain such a system.

7.4 httpx

  • httpx is a fully featured HTTP client for Python 3, which provides sync and async APIs, and support for both HTTP/1.1 and HTTP/2.

7.5 json

  • json is a lightweight data interchange format inspired by JavaScript object literal syntax.

7.6 logging

  • logging defines functions and classes which implement a flexible event logging system for applications and libraries.

7.7 mypy

  • mypy is a static type checker for Python. Type checkers help ensure that you’re using variables and functions in your code correctly.

7.8 PdfMiner

  • PdfMiner is a text extraction tool for PDF documents.

7.9 playwright

  • playwright was created specifically to accommodate the needs of end-to-end testing.

7.10 poetry

  • poetry is a tool for dependency management and packaging in Python.
  • It allows you to declare the libraries your project depends on and it will manage (install/update) them for you.
  • The most important file is pyproject.toml. It resolves the dependencies of your defined requirements and creates the poetry.lock file.

7.11 Poppler

  • Poppler allows you to read, render, or modify PDF documents.
  • It reads and modifies document metadata.
  • It lists and reads embedded documents.
  • It lists the fonts used by the document.
  • It searches or extracts text on a given page of the document.
  • It renders a page into a raw image.
  • It gets info about transition effects between the pages.
  • It reads the table of contents of the document.

7.12 pydantic

  • pydantic is the most widely used data validation library for Python.

7.13 Pydash

  • Pydash is the kitchen sink of Python utility libraries for functionally doing “stuff”.

7.14 Pyenv

  • Pyenv is a python installation manager. It allows you to install and run multiple python installations, on the same machine.

7.15 pylint

  • Pylint is a static code analyser.
    • A code linter is a software tool designed to examine your code and provide feedback on potential issues. It detects errors and offers solutions to help you ensure that your code meets standard quality guidelines. You can execute it at any time to verify code consistency.
  • pylint handles both the following:
    • Logical lint detects errors and identifies potentially dangerous patterns.
    • Statistical lint examines the formatting to find out the issues with its style and structure.

7.16 pytest

  • pytest makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.

7.17 requests

  • requests is a simple, yet elegant, HTTP library.

7.18 respx

  • RESPX is a simple, yet powerful, utility for mocking out the HTTPX, and HTTP Core, libraries.

7.19 scrapy

  • Scrapy is a fast high-level web crawling and web scraping framework, used to crawl websites and extract structured data from their pages. It can be used for a wide range of purposes, from data mining to monitoring and automated testing.

7.20 selenium

  • Selenium is used to automate web browser interaction from Python.

7.21 SQLite

  • SQLite is a C library that provides a lightweight disk-based database that doesn’t require a separate server process and allows accessing the database using a nonstandard variant of the SQL query language.

7.22 urllib3

  • urllib3 is a powerful, user-friendly HTTP client for Python.

8. Graph Analytics

8.1 NetworkX

8.2 igraph

8.3 karateclub

8.4 graph-tool

8.5 SNAP.py

8.6 Deep Graph Library (DGL)

8.7 PyTorch Geometric

8.8 Spektral

8.9 stellargraph

8.10 scikit-network

8.11 CDlib

8.12 pyclustering

8.13 Graphein

8.14 nxviz

8.15 Grakn

8.16 Tulip

8.17 PowerGraph

8.18 Gephi

8.19 PyG

8.20 Python-I graph

8.21 leidenalg

8.22 markov-clustering

8.23 NetworKit

8.24 Grakel

8.25 PyGraphistry