September 10th, 2024

Fman Build System

fbs is an open-source tool that simplifies the development and deployment of lightweight desktop applications using Python and Qt, addressing packaging, installers, and updates while enhancing performance and efficiency.

Read original articleLink Icon
Fman Build System

fbs is a tool designed to simplify the development of lightweight desktop applications using Python and Qt, serving as an alternative to Electron. It addresses common challenges such as packaging, installers, code signing, and automatic updates, which can be time-consuming and complex. With fbs, developers can create a GUI and deploy applications across Windows, Mac, and Linux platforms in a matter of minutes. The tool is open-source and available on GitHub, allowing free use for open-source projects under the GPL, while commercial licenses are also offered. fbs integrates existing technologies like PyInstaller for packaging and NSIS for Windows installers, streamlining the development process and reducing the time spent on debugging and integration. Originally developed for the cross-platform file manager fman, fbs was created to meet the efficiency and performance needs of developers, particularly in terms of resource usage and startup time. The combination of Python and Qt has proven effective, and fbs enhances this by providing a user-friendly approach to application deployment.

- fbs simplifies the creation and deployment of desktop apps using Python and Qt.

- It addresses packaging, installers, and updates, saving significant development time.

- The tool is open-source with options for commercial licensing.

- fbs integrates existing technologies to streamline the development process.

- It was developed to meet the performance needs of resource-efficient applications.

Link Icon 7 comments
By @IshKebab - about 1 month
I don't think this is what most people think when they hear "build system".

Also... I dunno if people are scrambling away from Electron's inefficiencies just to replace it with Python's.

By @nine_k - about 1 month
This is a GUI build system, Python + Qt. A number of good apps uses this pair, Fman apparently simplifies the creation of apps of this kind.

Pretty certainly it's lighter weight than Electron, but not exactly featherweight.

The key proposition is packaging for distribution:

> PyInstaller for packaging, NSIS for Windows installers, .dmg files on macOS, .deb files on Ubuntu.

By @wonger_ - about 1 month
I used this (fbs) once for one of my early projects. A few notes that I remember:

- fbs was built ~2017

- to use Python 3.7+, PyQt6, or code signing, you need the paid version. The free version limits you to Python 3.6 and PyQt5.

- the main command is fbs freeze, which builds an executable

- fbs requires a couple changes to your project structure and main.py, compared to the default PyQt way

By @mherrmann - about 1 month
Author here. Thank you for sharing. I'll be happy to answer any questions.
By @belthesar - about 1 month
Interesting! This appears to be an alternative to the BeeWare Project and its suite of tools. I'd be interested in looking at them head-to-head. https://beeware.org/project/overview/
By @macmac - about 1 month
Please notice the license. Not really an alternative for commercial use unless you want to pay, and even the look out for PyQT being GPL. Looks great for open source though.
By @yellowapple - about 1 month
As much as I hate Python, I love fbs. I've used it for a couple of projects and it's always been a breeze.