Skip to main content

Cacao Accounting Desktop App.

Project description

Logo

Cacao Accounting Desktop

Python application

This project packages Cacao Accounting as a desktop application for Windows. The current desktop wrapper uses PySide6 instead of TkInter and starts a local WSGI server with waitress in the background while the user interacts with the application from an embedded Qt WebEngine browser.

Please note that if you are a Linux or Mac user you can host Cacao Accounting for your personal use with a few steps, this project is focused in Windows system that do not have a default install of Python.

Current desktop architecture

The desktop application now separates business rules from the UI:

  1. A pure core layer manages configuration, SQLite directories, URI generation, backup and restore operations.
  2. A PySide6 main window lets the user select the SQLite directory, refresh the database list, create new databases, restore backups and open the web app.
  3. A waitress server is started in the background and stopped cleanly when the desktop window closes.

Run locally

Install dependencies and start the desktop wrapper:

python -m pip install -r requirements.txt
python cacaoaccounting.pyw

Useful validation commands:

python -m build
pytest

Cacao Accounting as stand alone executable for Windows.

Please note that this is not a native Windows application. The desktop wrapper ships Python plus the dependencies required to run the Flask-based web app as a local desktop experience, now with a native Qt shell and an embedded browser.

Note than been usable as standalone Windows app is one of the main reason beging the development of the Cacao Accounting project.

Create a Windows executable

Several steps are necessary to create a windows executable:

  1. Download WinPython 3.8.10, this contain a portable version of python suitable to run Cacao Accounting as a desktop app.
Please note that there is no formal requirement on the Python version,
Python 3.8.10 is taken as the base because it is the last stable version
to support Windows 7.

Support for Windows 7 ended on January 14, 2020, however some people may
find it useful to be able to run Cacao Accounting on Windows 7 (it is up
to the user to use a version of their operating system without manufacturer
support, updating the operating system version is highly recommended).

The 32-bit version must be functional but it is recommended to at least
use a Core i3 processor or higher, which are 64-bit processors.

It is possible that future versions of this project will update to a more
recent version of python.
  1. Uncompress WinPython 3.8.10, this will create a directory name WPy64-38100 and inside this directory a copy of Python portable named python-3.8.10.amd64

  2. Copy the content of python-3.8.10.amd64 to the pydist in the same directory that the script cacaoaccounting.pyw, your working directory should be like this:

work-dir:
 |-assets
 |-cacaoaccounting.pyw
 |-LICENSE
 |-pydist
  |-python.exe
  |-[support files to the python portable enviroment]
 |-README.md
 |-requirements.txt
 |-setup.nsi
  1. Install requirements inside the python portable enviroment with:
pydist\python.exe -m pip install -r requirements.txt
  1. Ensure the python portable enviroment can run the scritp with:

pydist\python.exe cacaoaccounting.pyw

  1. Generate a Windows executable with:
python -m pip install gen-exe
gen-exe --hide-console cacaoaccounting.exe "{EXE_DIR}\\pydist\\python.exe cacaoaccounting.pyw" --icon-file assets/icon.ico

Your working directory now will have a Windows executable:

work-dir:
 |-assets
 |-cacaoaccounting.pyw
 |-cacaoaccounting.exe
 |-LICENSE
 |-pydist
  |-python.exe
  |-[support files to the python portable enviroment]
 |-README.md
 |-requirements.txt
 |-setup.nsi

Doble click on the executable to verify it works.

  1. Create a Windows installer with nsis using the setup.nsi, this will create a installer that can be shared to final users.
Please consider that .exe installers, unlike .msi installers, may represent a danger
to your computer by containing malicious software or performing actions not authorized
by the user. For this reason, we recommend only using .exe installers obtained from
reliable sources. Since Cacao Accounting Desktop is distributed free of charge, we
recommend that you always download the application from the official Cacao Accounting
website and do not use installers provided by third parties.

To reduce the risk of damage to your computer, the Cacao Accounting installer does not
require administrator permissions and only makes changes to your user folder without
affecting other users on the computer.

Copyright

Copyright 2024 BMO Soluciones, S.A.

BMO Logo

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

cacao_accounting_desktop-2026.7.4.tar.gz (118.4 kB view details)

Uploaded Source

Built Distribution

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

cacao_accounting_desktop-2026.7.4-py3-none-any.whl (115.9 kB view details)

Uploaded Python 3

File details

Details for the file cacao_accounting_desktop-2026.7.4.tar.gz.

File metadata

File hashes

Hashes for cacao_accounting_desktop-2026.7.4.tar.gz
Algorithm Hash digest
SHA256 9da6c172213257d8916e89c4e18ac2a4a6c422cab54e03d41cec93b66ba475d0
MD5 9a01525a096437fb63183e5f3cfc2f0f
BLAKE2b-256 17c3fe6c935ae7292e24522e2c36ee9d35ded69f0e938db321e4e5c66f46d650

See more details on using hashes here.

Provenance

The following attestation bundles were made for cacao_accounting_desktop-2026.7.4.tar.gz:

Publisher: publish.yml on cacao-accounting/cacao-accounting-desktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cacao_accounting_desktop-2026.7.4-py3-none-any.whl.

File metadata

File hashes

Hashes for cacao_accounting_desktop-2026.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 6e0650f1c3456ede729fe8e146cfcd32803c498342b1ca9bbaae0d11f4993496
MD5 893d859a9904c93617bb4f0aa911d9fd
BLAKE2b-256 13034bed342e2a239a9422c68e09a5a58f00cef7e5912a2b7d6b3d4818a81634

See more details on using hashes here.

Provenance

The following attestation bundles were made for cacao_accounting_desktop-2026.7.4-py3-none-any.whl:

Publisher: publish.yml on cacao-accounting/cacao-accounting-desktop

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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