The main strength of the Python library is to actually write easy to use CLI tools that could interact with the server itself.
My first idea was to implement "display only" functions as a proof of concept, and it the implementation makes sense eventually add the option to also add data. Keeping it simple, here is the proposal:
Main options:
-o or --output: table, for table view of the entries using rich tables, or json
--context, for selecting the context of the cli
Configuration:
~/.actual/ folder on home directory would hold the config.yaml file for the configuration. Basic format:
config:
defaultBudget: <budgetName>
output: table
budgets:
budget_name:
url: <url of the actual server>
password: <base 64 version of password>
encryptionPassword: <base 64 version of password>
fileId: file id on the remote
Main commands:
init: initializes an actual budget config, taking optionally --url, --password, --encryption-password, --context, --file
version: shows library version and server version
accounts: show all accounts
transactions: show all transactions
payees: show all payees
export: generates an export from the budget (for CLI backups)
Description
The main strength of the Python library is to actually write easy to use CLI tools that could interact with the server itself.
My first idea was to implement "display only" functions as a proof of concept, and it the implementation makes sense eventually add the option to also add data. Keeping it simple, here is the proposal:
Main options:
-o
or--output
:table
, for table view of the entries using rich tables, orjson
--context
, for selecting the context of the cliConfiguration:
~/.actual/
folder on home directory would hold theconfig.yaml
file for the configuration. Basic format:Main commands:
--url
,--password
,--encryption-password
,--context
,--file