Skip to main content

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.

PyPI version License: MIT

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 render command 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), and tr (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.
  • 🤖 Telegram Bot: Optional integration to securely interact with Sigma via Telegram using standard CLI commands.

Installation

Sigma requires Python 3.10 or higher.

# Core CLI only
pip install sigma-finance

# With Telegram Bot integration
pip install "sigma-finance[telegram]"

First-run Setup

Once installed, initialize your database and create your first account:

sgm start

Usage

Core Workflow

  1. Check your status:
    sgm status
    
  2. Log an expense:
    # Usage: sgm exp <amount> <description> <mark_for_render: yes|no> [account_id]
    sgm exp 5000 "Lunch" yes wallet
    
  3. Log income:
    sgm inc 2500000 "Salary" no bci
    
  4. Transfer between accounts:
    sgm tr bci wallet 50000
    
  5. Render marked movements:
    # Sums marked items, logs to history, and clears marks.
    sgm render
    

Telegram Bot

To run Sigma as a background bot, configure your credentials and launch the daemon:

sgm bot setup
sgm bot run

For Docker, systemd, or launchd setup details, see the Telegram Bot Deployment Guide.

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 export Export all data to a ZIP file with CSV tables.
sgm delete <id> Remove a record by its unique ID (e.g., m-1).
sgm bot setup Configure the Telegram Bot credentials.
sgm bot run Start the Telegram Bot event loop.

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

  • Typer for the CLI framework.
  • Rich for the beautiful terminal output.

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

sigma_finance-0.2.0.tar.gz (23.9 kB view details)

Uploaded Source

Built Distribution

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

sigma_finance-0.2.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file sigma_finance-0.2.0.tar.gz.

File metadata

  • Download URL: sigma_finance-0.2.0.tar.gz
  • Upload date:
  • Size: 23.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sigma_finance-0.2.0.tar.gz
Algorithm Hash digest
SHA256 00f7be5fe9d64455ffa73fc8d83e03fd31f3dda3a82ecaf5ace55805d5d0a6b7
MD5 9221ab2f2ab2a9c4cc2538a4002c98e3
BLAKE2b-256 9c7fa8816dee3bee87fd67746a61e736563e12eb3e8d82394bfc817cc9e1adfb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sigma_finance-0.2.0.tar.gz:

Publisher: release-pypi.yml on fzunigam/sigma

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

File details

Details for the file sigma_finance-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sigma_finance-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sigma_finance-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1e8fe816e0be511b5a2c0d95fb80f49318c7cecd3b31e9c8a7523b026c2b358b
MD5 4825fbb6aa0a8a19f750585ff2272a51
BLAKE2b-256 883c2dfdc644f95f06a29e5346f6c8c797471cd09bf261ebeaf8485d62a917aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for sigma_finance-0.2.0-py3-none-any.whl:

Publisher: release-pypi.yml on fzunigam/sigma

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