Sigma CLI finance tracker
Project description
Sigma (sgm)
Sigma is a fast, CLI-first personal finance tracker designed for local use. It focuses on rapid transaction logging, simple account management, and auditable snapshots through a unique "rendering" cycle.
Why Sigma?
Most finance trackers are either too complex or require too many clicks. Sigma is built for users who live in the terminal and want to:
- Log quickly: Record expenses, income, and transfers with minimal keystrokes.
- Audit with ease: Use the
rendercommand to verify and clear your pending movements into historical snapshots. - Stay local: Your data stays on your machine in a lightweight SQLite database.
- See the big picture: Rich terminal tables provide instant clarity on your balances and credit availability.
Features
- ⚡ Fast Logging: Simple commands for
exp(expense),inc(income), andtr(transfer). - 🏦 Account Management: Support for both Debit and Credit accounts with rolling credit limit tracking.
- 🔄 Rendering Cycle: Mark movements for review and "render" them into your history once verified.
- 📊 Rich Interface: Beautifully formatted tables powered by Rich.
- 📜 Audit Log: Full history of movements and render snapshots.
- 🛠️ Built-in Setup: Interactive first-run wizard to get you started in seconds.
Installation
Sigma requires Python 3.10 or higher.
pip install sigma-finance
First-run Setup
Once installed, initialize your database and create your first account:
sgm start
Usage
Core Workflow
- Check your status:
sgm status - Log an expense:
# Usage: sgm exp <amount> <description> <mark_for_render: yes|no> [account_id] sgm exp 5000 "Lunch" yes wallet
- Log income:
sgm inc 2500000 "Salary" no bci
- Transfer between accounts:
sgm tr bci wallet 50000
- Render marked movements:
# Sums marked items, logs to history, and clears marks. sgm render
Command Reference
| Command | Description |
|---|---|
sgm status |
Show balances, credit limits, and marked totals. |
sgm log [limit] |
List recent movements (default: 15). |
sgm history |
View previous render results. |
sgm acc list |
List all accounts and their details. |
sgm config |
Configure default accounts for faster logging. |
sgm delete <id> |
Remove a record by its unique ID (e.g., m-1). |
For a complete reference of all available commands and their arguments, please refer to the Detailed CLI Usage Guide.
Development
We use Makefile for common development tasks.
# Clone the repository
git clone https://github.com/fzunigam/sigma
cd sigma
# Install in editable mode with dev dependencies
make install
# Run tests
make test
# Run linter
make lint
Project Structure
src/sgm/: Core package logic.cli.py: Typer-based CLI definition.infrastructure/: Database (SQLite) and config management.interface/: Terminal banners and UI elements.
docs/: Detailed documentation and architecture plans.tests/: Smoke tests for CLI flows.
License
Sigma is licensed under the MIT License.
Acknowledgments
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 sigma_finance-0.1.3.tar.gz.
File metadata
- Download URL: sigma_finance-0.1.3.tar.gz
- Upload date:
- Size: 16.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe1c0385361d60dec4eb665aeb597fb3ca8077ce414810d4cc2fa5fc0ab7b8c1
|
|
| MD5 |
9903db0cae5f58b04f4c2f91fbf67c83
|
|
| BLAKE2b-256 |
991e4cc543c4e1691a11a7640739bc61087c831461c330095800c529694ef8df
|
Provenance
The following attestation bundles were made for sigma_finance-0.1.3.tar.gz:
Publisher:
release-pypi.yml on fzunigam/sigma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sigma_finance-0.1.3.tar.gz -
Subject digest:
fe1c0385361d60dec4eb665aeb597fb3ca8077ce414810d4cc2fa5fc0ab7b8c1 - Sigstore transparency entry: 1561381729
- Sigstore integration time:
-
Permalink:
fzunigam/sigma@d11f9c1b911aea352c351b8190851225b0f03850 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/fzunigam
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@d11f9c1b911aea352c351b8190851225b0f03850 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sigma_finance-0.1.3-py3-none-any.whl.
File metadata
- Download URL: sigma_finance-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
314cb7d92ae84ef5e25ac65ed7dcaee852025cffaa1def14913209da0124e922
|
|
| MD5 |
76f6c14a6be201284c69735cac66a761
|
|
| BLAKE2b-256 |
cc164f7ca621ab5c429e45e24cf85842bb4ad2688eaf36ff95ced0dee38d1c2e
|
Provenance
The following attestation bundles were made for sigma_finance-0.1.3-py3-none-any.whl:
Publisher:
release-pypi.yml on fzunigam/sigma
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sigma_finance-0.1.3-py3-none-any.whl -
Subject digest:
314cb7d92ae84ef5e25ac65ed7dcaee852025cffaa1def14913209da0124e922 - Sigstore transparency entry: 1561381900
- Sigstore integration time:
-
Permalink:
fzunigam/sigma@d11f9c1b911aea352c351b8190851225b0f03850 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/fzunigam
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-pypi.yml@d11f9c1b911aea352c351b8190851225b0f03850 -
Trigger Event:
push
-
Statement type: