BeeWare isn't a single tool or library - it's a collection of projects that can be used to help develop, debug and launch Python software. Each tool follows the Unix philosophy of doing one thing well. Each tool can be used in isolation, or they can be chained together to provide a rich set of programming tools.

Each project of the BeeWare suite fills one of the following roles:

Applications

Applications are standalone end-user application. Although applications are written in Python, this is an implementation detail - you shouldn't ever be aware of this fact. Applications are installed and run the same way as any other end-user application on your computer.

Tools

A tool is a special class of application that is installed into a Python virtual environment. Tools are used to assist when developing standalone applications, in roles from debugging and testing to packaging.

Libraries

Libraries are re-usable blocks of code that can be used in a project. Libraries will usually be installed as dependencies of tools, applications, or other libraries.

Bridges

A bridge is a combination tool & library that is used to run Python code where the CPython runtime cannot be used. The bridge provides the mechanism to run Python code in a different runtime environment.

Templates

Templates are Cookiecutter configurations to generate the boilerplate code needed to get a Python project running as an application on a particular platform.

Support

Support projects are pre-packaged bundles of compiled artefacts that are needed to run Python on a particular platform.

There is also an attic where older and experimental projects are kept. These projects were once part of the BeeWare suite, but are no longer being actively maintained. If you are interested in taking over maintainence of an attic project, please get in touch.