The all-encompassing finance manager on the command line.
Project description
Sukuma
:sunrise_over_mountains: Purpose & Function
Sukuma is a personal finances application built with Python and tailored to users who want more than just another budgeting app.
Sukuma was born out of a desire to deliver features we deem crucial for a personal finance app that no high-profile open source project provides in a single package:
- Batteries-included double-entry accounting;
- Both cash and investments tracking;
- CLI and TUI-based interaction.
:inbox_tray: Installation
Use pipx to install Sukuma
in an isolated environment:
pipx install sukuma
Then you can run it from the command line:
sukuma --help
:black_joker: How to Use It
The top-level command is the entry point for additional operations:
sukuma [--version | -v]
--version
-vPrint the current version of the program and exit.
Launch the Interface
Launch the terminal interface
with the sukuma launch command:
sukuma launch [(--config | -c) <file>]
--config
-cSpecify a custom configuration file to launch the application.
Manage the Configuration
The sukuma config command provides
additional subcommands
to manipulate
the settings
for your Sukuma installation:
sukuma config get [--path <file>] [--secret | -s] KEY
KEYThe configuration key to be retrieved. [required]
--pathSpecify a custom configuration file.
--secret
-sRetrieve configuration from the secret manager instead.
sukuma config set [--path <file>] [--secret | -s] KEY VALUE
KEYThe configuration key to be retrieved. [required]
VALUEThe value to be stored with the key. [required]
--pathSpecify a custom configuration file.
--secret
-sStore configuration in the secret manager instead.
sukuma config extend [--path <file>] [--secret | -s] [--create-on-missing | -c] KEY VALUE
KEYThe configuration key to be extended. [required]
VALUEThe value to be appended to the key. [required]
--pathSpecify a custom configuration file.
--secret
-sStore configuration in the secret manager instead.
--create-on-missing
-cAdd the provided value in an array if the setting is not set. Will raise an error otherwise.
sukuma config unset [--path <file>] [--secret | -s] KEY
KEYThe configuration key to be removed. [required]
--pathSpecify a custom configuration file.
--secret
-sRetrieve configuration from the secret manager instead.
:reminder_ribbon: Contributing
There are several ways
to contribute to Sukuma.
Refer to our CONTRIBUTING guide
for all relevant details.
Currently, we are seeking help to tackle areas of focus that are more pressing to our project's progress and would make an immediate difference in helping us achieve our mission.
Here are some key contributions your can help us with right now:
- Provide input in design discussions to define the desired features of Sukuma.
:ship: Releases
You can see the list of available releases on the GitLab Releases page.
We follow Intended Effort Versioning specification,
details can be found in our CONTRIBUTING guide.
:shield: Licence
This project is licenced under the terms of the GNU Affero General Public License v3.0 or later. See LICENCE for more details.
:page_with_curl: Citation
We provide a CITATION.cff file
to make it easier to cite this project
in your paper.
:women_with_bunny_ears: Similar Projects
There are only a few projects which also tackle personal finances. :face_with_hand_over_mouth:
However, there are some that might be worth checking out:
- GnuCash is arguably the most classic open source personal finance manager;
- KMyMoney is a cross-platform personal finance manager built on KDE;
- Firefly III is one of the most popular self-hosted budgeting app out there;
- Bagels is a TUI expense tracker, also built with Textual!
Additionally, the Ledger accounting system is a classical accounting system truthful to the UNIX philosophy, if you wish to implement a fully tailored workflow to better suit your needs.
Credits 
This project was generated with Galactipy.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sukuma-0.1.0a0.tar.gz.
File metadata
- Download URL: sukuma-0.1.0a0.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.7 Linux/6.17.7-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
449a15269dd20e2d9a8b074ee5161db804f431e1710a335305f55dffad91f3ea
|
|
| MD5 |
53a5fb8547ff3041b7e8530da061bbe1
|
|
| BLAKE2b-256 |
40ba7daa0a720339001873a46305659d1644d1888daa488b980f500e6a408d15
|
File details
Details for the file sukuma-0.1.0a0-py3-none-any.whl.
File metadata
- Download URL: sukuma-0.1.0a0-py3-none-any.whl
- Upload date:
- Size: 47.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.13.7 Linux/6.17.7-arch1-1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8470ed87a37a5f09c7412d11dbebb24b916ee8b27153e0b59a6056d83414bb4
|
|
| MD5 |
7c29b13416d50dcbc858ae78799ee656
|
|
| BLAKE2b-256 |
7afad7f642eba9c7b4de2355589ff1dc88a27662a7d2af80804100998c043066
|