Skip to main content

Simple Timer Bank 🏦

Simple Timer Bank is a desktop application for managing your personal "free time." It helps you balance productive work with leisure activities like gaming 🎮, watching movies 🍿, or any other hobbies by treating your free time as a resource in a "bank."

For full feature details and usage guides, please see the Official Documentation.

SimpleTimerBank Screenshot

How It Works

  • Bank Your Time 💰: Deposit time you've set aside for leisure into your personal time bank.
  • Spend Your Time ⏳: When you're ready for a break, start a timer to begin "withdrawing" and consuming your banked time.
  • Overdraft Feature ⚠️: If your timer runs out but you're not ready to stop, the app automatically enters "overdraft mode." It will start drawing from your main bank balance, preventing abrupt interruptions while keeping track of the extra time used.
  • Automatic Refunds 🔄: If you end a session early, any unused time from the timer is automatically returned to your bank.

Features

  • Digital Clock Displays: Clear, easy-to-read displays for both your bank balance and the active timer.
  • Intuitive Transaction Controls:
    • Deposit, instantly withdraw, or set your bank balance to a specific value.
    • Use relative preset buttons (+15m, -30m, etc.) to quickly adjust the transaction amount.
  • Flexible Timer Controls: Start, pause, resume, and stop timer sessions with clear, expanding buttons.
  • Audio-Visual Alerts: Receive non-blocking system notifications with custom sounds for key events like overdraft activation and bank depletion.
  • Persistent State: Your time bank balance is automatically saved when you close the application and reloaded on startup.
  • Polished UI: A clean, visually organized interface with distinct sections for different actions.

Installation

There are two ways to install Simple Timer Bank:

Option 1: For Python Users (Recommended)

The recommended way to install is via pip or uv, which works on Windows, macOS, and Linux:

# Using pip
pip install simpletimerbank
# Or using uv
uv pip install simpletimerbank

This will automatically handle dependencies and make the simpletimerbank command available in your terminal.

Option 2: For Windows Users (Standalone EXE)

If you are on Windows and prefer not to use Python or pip, you can download a standalone executable:

  1. Go to the GitHub Releases page.
  2. Download the .zip file from the latest release.
  3. Unzip the file and run SimpleTimerBank.exe.

Usage

Once installed, you can run the application from your terminal:

simpletimerbank

Development Setup

If you wish to contribute to the project, follow these steps to set up a development environment.

  1. Clone the Repository:

    git clone https://github.com/your-username/SimpleTimerBank.git
    cd SimpleTimerBank
    
  2. Set up a Virtual Environment and Install: This project uses uv for package management.

    # Create a virtual environment
    uv venv
    # Activate it (example for Windows PowerShell)
    .venv\Scripts\Activate.ps1
    # Install the project in editable mode with its dependencies
    uv pip install -e .
    
  3. Run the Application from Source:

    python -m src.simpletimerbank.main
    

Development Tasks

  • Run Tests: make test or uv run pytest
  • Build Documentation: make doc
  • Publish Documentation: make publish-docs

License

This project is licensed under the MIT License.

Metadata

Release files for TimerBank 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for TimerBank 1.0.0
File Size Uploaded
timerbank-1.0.0.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for TimerBank 1.0.0
File Interpreter ABI Platform
timerbank-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.3 MB

Release files / timerbank-1.0.0.tar.gz

Download URL timerbank-1.0.0.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
4284e0ea8fb8c228c8971543820945190baa88b58b7d6a17c212e3bb5a383335
BLAKE2b-256 checksum
How to use checksums
d04fd696890f7b84b1a2cd60c197418df8cd154ea34080354f32fd47da741032
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release files / timerbank-1.0.0-py3-none-any.whl

Download URL timerbank-1.0.0-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
050e6f7355bef8baf1d4d3e53210061eece782852c9d6d9e2cc69583059eb2a9
BLAKE2b-256 checksum
How to use checksums
501e99ea68d962e7bca44adac39e3ca7e1ee91928a0544ac82e2e055741c2799
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.2

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page