From machine learning to web development, Python is used in many application domains and remains one of the most popular programming languages in the world.
Great libraries, frameworks, tools, and ecosystems have been built around Python.
I am Alex, your host. Let me show you the open ecosystem I'm building for the development and distribution of Python desktop applications.
framework gui productivity frontend tkinter lightweight desktop-app
Dresscode demo built with 1 hex-digit lines of Python code
Dresscode is a high productivity framework for developing a graphical user interface without prior knowledge of using a GUI Toolkit.
As a high productivity framework, Dresscode is suitable for teaching, prototyping, testing, adding a GUI to command-line scripts, developing simple to complex desktop applications, etc.
Dresscode comes with an innovative and original concept of pages automatically referenced in the menu bar.
A page is a scrollable view that you can populate with an unlimited number of components. The components come with various configuration options and placeholders for event handlers. Data is pulled from or pushed into components with a simple method call.
With Dresscode, you can focus on the creative side of programming.
framework frontend backend productivity lightweight
Jupitest - Graphical test runner built with Pyrustic Framework
If Dresscode is Python, Pyrustic Framework would be C. Pyrustic Framework is a lightweight framework to develop, package, and publish Python desktop applications.
The graphical user interface is not the only topic that Pyrustic Framework targets. The framework covers various other aspects of software development, from gui-toolkit-compatible multithreading to event notification and more. There are even a library to fetch resources with an implementation of conditional request and a smart responses caching system.
Under the hood, Dresscode uses Pyrustic Framework and expose the objects related to it.
tool cli productivity testing versioning packaging distribution
The Project Manager command line interface
The Project Manager is a command-line application with an API that you can use to automate your workflow.
Via the Project Manager you can:
app desktop gui package-manager installer application-store software-management
Github's Release feature provides the ability to link assets to a release.
Hubstore taps in this feature to provide a software distribution pipeline that connects users to applications.
Basically, as a software producer, you issue the build and publish commands to make your app available to users who will simply type in Hubstore your Github username slash your app name to get the latest version of your application.
Hubstore comes with some cool innovative features like the rollback feature which reinstalls a recent snapshot of an app when the latest update is buggy.
theme gui dark-theme frontend beautiful tkinter
Graphical SQL editor built with Pyrustic Framework
Pyrustic Framework comes with an elegant theme/style mechanism so you can create your own theme easily without learning a new DSL. You can also simply use an existing theme like the dark theme Cyberpunk.
Thanks to the flexibility of the theming system, you can easily override the elements of an existing theme like you do with a plain old Python object.
library data collections json config persistence
Shared is a Python library to store, expose, read, and edit collections of data.
Under the hood, Shared makes smart use of JSON files.
You can use Shared to maintain a store of user preferences, app configurations, etc. If you don't mind, you can even use Shared as your database.
Shared also comes with a command line interface that gives you access to the stored collections.
library collections notification change-tracking probe
Sometimes you need to know when the content of a data collection has changed.
Probed is a library that exposes three classes: ProbedDict, ProbedList and ProbedSet.
These classes are containers like the built-in Python containers (dict, list, set) which they subclass but with not a twist but two twists: