Современный трекер финансовых активов с красивым GUI интерфейсом
Отслеживайте курсы валют, криптовалют и акций в одном приложении! Добавляйте активы в избранное, настраивайте интерфейс под себя и получайте актуальную информацию в реальном времени.
- 🌐 Мультивалютность — поддержка валют, криптовалют и акций
- 🎨 Современный UI — тёмная/светлая тема, плавные анимации
- ⭐ Избранное — сохраняйте любимые активы для быстрого доступа
- 🔄 Автообновление — данные обновляются в реальном времени
- 💾 Локальное хранение — все настройки сохраняются в SQLite
- 🚀 Быстрый запуск — минимальные зависимости, мгновенный старт
| Тип актива | Источник | Регион |
|---|---|---|
| 💱 Валюты | Центральный Банк РФ (cbr.ru) | Россия |
| ₿ Криптовалюты | CoinGecko API | Глобально |
| 📈 Акции | Yahoo Finance | США/Мир |
- Python 3.9 или выше
- Windows 10/11, macOS или Linux
- Клонируйте репозиторий:
git clone https://github.com/LastHope777/ParcingRatesOfCurrency.git
cd ParcingRatesOfCurrency- Создайте виртуальное окружение:
python -m venv .venv- Активируйте виртуальное окружение:
Windows:
.venv\Scripts\activatemacOS/Linux:
source .venv/bin/activate- Установите зависимости:
pip install -r requirements.txt- Запустите приложение:
python main.py- Левая панель — навигация по типам активов и избранное
- Центральная область — карточки с текущими котировками
- Кнопка звезды ⭐ — добавление/удаление из избранного
- Кнопка "Обновить" — принудительное обновление данных
Нажмите ⚙️ Настройки в левой панели для доступа к:
- 🎨 Тема оформления — тёмная, светлая или системная
- 🔄 Интервал обновления — от 10 до 300 секунд
- 👁️ Отображение — включение/отключение типов активов
Добавленные в избранное активы отображаются в левой панели для быстрого доступа. Данные хранятся в локальной базе данных assets.db.
ParcingRatesOfCurrency/
├── main.py # Точка входа, запуск GUI
├── config.py # Конфигурация приложения
├── requirements.txt # Зависимости Python
├── .gitignore # Игнорируемые файлы
│
├── models/
│ ├── __init__.py
│ └── asset.py # Модели данных (Asset, Currency, Crypto, Stock)
│
├── services/
│ ├── __init__.py
│ ├── currency.py # Парсер курсов валют (ЦБ РФ)
│ ├── crypto.py # CoinGecko API
│ └── stocks.py # Yahoo Finance API
│
├── database/
│ ├── __init__.py
│ └── db_manager.py # SQLite менеджер
│
└── gui/
├── __init__.py
├── main_window.py # Главное окно
├── widgets.py # Виджеты активов
└── settings.py # Окно настроек
Основные настройки в config.py:
APP_NAME = "Asset Tracker 💰"
APP_VERSION = "1.0.0"
APP_WIDTH = 1200
APP_HEIGHT = 800
THEME = "dark" # dark | light
# Интервалы обновления (секунды)
REFRESH_INTERVAL = {
"currency": 300, # 5 минут
"crypto": 60, # 1 минута
"stocks": 30 # 30 секунд
}- Создайте модель в
models/asset.py - Реализуйте сервис в
services/ - Добавьте виджет в
gui/widgets.py - Обновите
gui/main_window.py
# Запуск в режиме разработки
python -m pytest tests/
# Проверка стиля кода
flake8 .| Пакет | Версия | Описание |
|---|---|---|
| customtkinter | >=5.2.0 | Современный GUI фреймворк |
| requests | >=2.31.0 | HTTP запросы к API |
| beautifulsoup4 | >=4.12.0 | Парсинг HTML (ЦБ РФ) |
| yfinance | >=0.2.31 | Yahoo Finance API |
| Pillow | >=10.0.0 | Работа с изображениями |
Yahoo Finance ограничил доступ к российским биржевым данным. Используйте альтернативные источники или следите за обновлениями.
Откройте настройки (⚙️) и переместите ползунок интервала обновления.
Все настройки и избранное сохраняются в локальном файле assets.db (SQLite).
Да! Просто нажмите на звезду ⭐ на карточке актива для добавления в избранное.
Этот проект распространяется под лицензией MIT. См. файл LICENSE для деталей.