External Libraries#
Solving problems with Python should be easy. The first thing to remember when hitting any problem is to remember this humble advise:
Tip
It has been solved many times and properly better than you can do!
The Python ecosystem consists of many solutions for all kinds of problems. The Python Package Index (PyPI) repository contains nearly 600.000 packages. And this is only a fraction (!!) of the modules,notebooks and FOSS code that is available to be reused.
Using an external library can give you an immense time profit. However if you want to keep things simple you SHOULD follow the key NO|Complexity principles.
This means dealing with the dilemma of:
Using an external library.
Increasing complexity, because adding extra dependencies will increase your security and maintenance effort.
Simplify programming with Python means: Stop reinventing the wheel!
So Make use of proven open solutions! So use and improve great solid FOSS Python frameworks and libraries to keep things simple.
Tip
If you can do things simpler without an external FOSS library: Maybe you should do it.
Humans love visualizations. The Python ecosystem has many visualization libraries. A reference to the well maintained overview of the Python visualization landscape is available in the ToC of this publication. Improve this overview instead of creating your own!
Note
This collection in this publication is a very opinionated selection. Core selecting criteria are:
The product must have a valid FOSS license. So an OSI approved license.
The library should be actively maintained and meet a minimal quality level. Which is of course very opinionated and context dependent.
GUI frameworks#
PY4WEB
PY4WEB is a web framework for the rapid development of efficient database driven web applications. It is an evolution of the popular web2py framework but much faster and slicker.
Lona
Write responsive web apps in full python
Shiny
Build fast, beautiful web applications in Python.
Parsing#
Beautiful Soup
A program designed for screen-scraping HTML.
lxml
lxml is the most feature-rich and easy-to-use library for processing XML and HTML in the Python language.
TUI frameworks#
PyTermGUI
Python TUI framework with mouse support, modular widget system, customizable and rapid terminal markup language and more!
Typer
Typer is a library for building CLI applications that users will love using and developers will love creating. Based on Python type hints.
Python Prompt Toolkit
Library for building powerful interactive command line applications in Python
Rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
Fire
Python Fire is a library for automatically generating command line interfaces (CLIs) from absolutely any Python object. Is is the simpelest way to create a CLI application!
Mesop
Rapidly build AI apps in Python. With Google FOSS software.
Reflex
Web apps in pure Python
Dear PyGui
A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
Testing#
pytest
The pytest framework makes it easy to write small, readable tests, and can scale to support complex functional testing for applications and libraries.
Pynguin
Pynguin (IPA: ˈpɪŋɡuiːn), the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.Pynguin is developed at the Chair of Software Engineering II of the University of Passau.