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:
Botocore
is the library providing the low-level functionality shared between the Python SDK and the AWS CLIBoto3
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
- Pgmagick is a GraphicsMagick(Magick++) binding for Python.
4.5 SimpleITK
- SimpleITK provides a simplified interface to ITK in a variety of languages.
5. Machine learning
5.1 Numpy (Numerical python)
- Numpy provides a computational foundation for general numeric data processing.
- Here are my notes: https://fatmakahveci.com/python-note/numpy/ .
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
- Pandas is a fast, powerful, flexible and easy-to-use open-source data analysis and manipulation tool, built on top of the Python programming language.
- Here are my notes: https://fatmakahveci.com/python-note/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
- Scikit-Learn is an open-source machine learning library that supports supervised and unsupervised learning.
- Here are my notes: https://fatmakahveci.com/python-note/scientific_computing/
5.8 Matplotlib
- Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
- Here are my notes: https://fatmakahveci.com/python-note/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
- Seaborn
is a library for making statistical graphics in Python. It builds on top of
matplotlib
and integrates closely withpandas
data structures. - Here are my notes: https://fatmakahveci.com/python-note/seaborn/
6. Web development
6.1 Django
- Django is a high-level Python web framework that encourages rapid development and clean, pragmatic design.
- Here are my notes: https://fatmakahveci.com/django-note/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
- TurboGears is a Python web framework based on the ObjectDispatch paradigm.
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
- asyncio is a library to write concurrent code using the async/await syntax.
- Here are my notes: https://fatmakahveci.com/python-note/concurrency/
7.2 BeautifulSoup
- BeautifulSoup
is a Python library for pulling data out of
HTML
andXML
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 thepoetry.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.