-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the Terminal Dashboard project wiki.
This dashboard is a Python-based terminal application that combines weather forecasts and banking overviews into a single, interactive, and customizable interface using the Rich library.
This wiki documents the architecture, setup, features, and usage of the project.
The Terminal Dashboard allows users to:
- View hourly and weekly weather forecasts for any city
- Automatically resolve locations to coordinates
- Load and analyze bank CSV statements
- Display financial summaries and transaction history
- Customize the terminal appearance using selectable themes
The goal of this project is to demonstrate:
- Clean Python structure
- API integration
- Terminal UI design
- Data parsing and visualization
- Error handling and user interaction
- City-based weather lookup
- Hourly forecast
- Weekly forecast
- Weather icons and descriptions
- Wind speed and temperature display
- Automatic detection of the newest CSV file
- Calculation of:
- Total expenses
- Total income
- Account balance
- Full transaction table rendered in the terminal
- Multiple predefined themes:
- Classic
- Midnight
- Forest
- Sunset
- High Contrast
- Live preview before applying a theme
- Centralized style management
- Python 3
- Rich (Layout, Table, Panel, Theme)
- OpenWeather API
- Geoapify API
- Requests
- PyFiglet
- CSV module
project-root/ β βββ 02_BankauszΓΌge/ # Bank CSV statements βββ requirements/ # API keys and configuration β βββ apikey.py βββ dashboard.py # Main application βββ README.md βββ SECURITY.md βββ wiki/
- Clone the repository
- Insert your API keys for:
- OpenWeather
- Geoapify
- Add bank CSV files to
02_BankauszΓΌge/ - Run the dashboard script
- Choose a theme and enter a city
Recommended pages for this wiki:
- Installation
- Configuration
- Weather API
- Banking CSV Format
- Theme System
- Error Handling
- Known Limitations
- Future Improvements
This project is intended for educational and local use only.
It is not suitable for production environments or handling sensitive data without additional security measures.