Skip to main content

A framework for developing data-driven business applications

Project description

Dabo: A Framework for developing data-driven business applications

Dabo is for developing multi-platform database business applications - you know, applications that need to connect to a database like MySQL, Oracle, MS-SQL, PostgreSQL, or SQLite, get recordsets of data based on criteria set by the user, provide easy ways to edit and commit changes to the data, and to report on the data.

You program in Python, subclassing Dabo's base classes. In addition, there are several graphical tools for laying out your GUI, editing your menus, and creating professional business reports.

Dabo has three main subpackages, representing the three tiers common in modern database application design:

	dabo.db  : database
	dabo.biz : business objects
	dabo.ui  : user interface

dabo.db and dabo.biz are completely ui-free, while dabo.ui requires wxPython.

To distribute your application to end users

Use PyInstaller or cxFreeze to make an executable package to deploy to Mac, Windows, and Linux clients. Or, make sure your end users have Python, wxPython, etc. installed and distribute your source code.

To run Dabo, and apps based on Dabo, you need:

  • Python 3.6 or later
  • wxPython 4.0 or later
  • Reportlab and Python Imaging Library if running reports.
  • One or more of the following operating systems:
    • Windows XP or higher
    • Macintosh OSX 10.5 or higher
    • Linux 6 or higher with X11 running and Gtk3

How you get started is pretty much up to you. There are two related projects: dabo_demo, which contains demonstrtion code for the various Dabo classes, and dabo_ide, which contains tools for creating Dabo applications visually. Please note that the dabo_ide tools worked great when they were written in the mid-2000s, but have not been fully updated to the modern Python tools.

For some quick results for the impatient, once you've installed Dabo using the standard uv add dabo or poetry install dabo method, do this from your Python interpreter:

from dabo.application import dApp
dApp().start()

press Ctrl+D and type the following into the command window that appears:

tb = dabo.ui.dTextBox(self)

Notice the textbox in the upper left hand corner?

tb.Value = "yippee!"
tb.FontBold = True
print(tb.Value)

Now, use the ui to change the value in the textbox, and switch back to the command window.

print(tb.Value)

[https://dabodev.com](Dabo Website)

[https://github.com/dabodev/dabo](Dabo Repo on GitHub)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dabo-2026.1.10.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dabo-2026.1.10-py3-none-any.whl (2.4 MB view details)

Uploaded Python 3

File details

Details for the file dabo-2026.1.10.tar.gz.

File metadata

  • Download URL: dabo-2026.1.10.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dabo-2026.1.10.tar.gz
Algorithm Hash digest
SHA256 92cd5ca133dc615b1e61c68b417ddbb4f1e6c9b93268b9f8e8a55d3124b1a357
MD5 7e240bba8f5cdc5cfff3f999efd4330f
BLAKE2b-256 aa86e462992b1ea895c2d1acfc34867507dd919a31662b25c4730a92a62994e0

See more details on using hashes here.

File details

Details for the file dabo-2026.1.10-py3-none-any.whl.

File metadata

  • Download URL: dabo-2026.1.10-py3-none-any.whl
  • Upload date:
  • Size: 2.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.9 {"installer":{"name":"uv","version":"0.9.9"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dabo-2026.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 59bb2480a01b7056fa06bfb8fcd439afad91f2d50525ccb7c4a6b34485538155
MD5 149fc02a0f2fd56b276903c02ab6b81c
BLAKE2b-256 21eda419571437d684f69ea49e0dc93c2254a54b07f43037a80741057ad874a1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page