losalamos.tools.manage_budget#

Terminal budget manager for a single project.

Accepts a project folder path and presents the transfer home page for that project directly. Project and branch navigation is handled by the higher-level losalamos.tools.manage_vault tool.

Transfers are the single entry point for billing: adding an inflow transfer here always creates its invoice and receipt pair as a side effect (via losalamos.project.Project.add_inflow_transfer()). Those two documents then show up in the document manager (losalamos.tools.manage_documents) for editing, building, and viewing, but cannot be created from there directly.

Shell usage

python -m losalamos.tools.manage_budget path/to/project/folder

Navigation

  • Home page: I add inflow / O add outflow / P back / Q quit.

  • Confirmation: ENTER or y to confirm, c to cancel, q to quit.

Functions

get_arguments()

Parse command-line arguments.

main()

run(project_folder[, vault])

Open the budget manager home page for a single project.

losalamos.tools.manage_budget.get_arguments()[source]#

Parse command-line arguments.

Returns:

Parsed argument namespace with a source attribute.

losalamos.tools.manage_budget.run(project_folder: str, vault: str = None) → None[source]#

Open the budget manager home page for a single project.

Can be called directly (e.g. from losalamos.tools.manage_vault) or via main() when invoked from the command line.

Parameters:
  • project_folder (str) – Path to the project root folder.

  • vault (str or None) – Optional path to the vault root, passed to losalamos.load_project() for branch detection.

losalamos.tools.manage_budget.main() → None[source]#