Skip to content

LastHope777/ParcingRatesOfCurrency

Repository files navigation

💰 Asset Tracker

Python 3.9+ CustomTkinter License: MIT

Современный трекер финансовых активов с красивым GUI интерфейсом

Отслеживайте курсы валют, криптовалют и акций в одном приложении! Добавляйте активы в избранное, настраивайте интерфейс под себя и получайте актуальную информацию в реальном времени.

image

✨ Особенности

  • 🌐 Мультивалютность — поддержка валют, криптовалют и акций
  • 🎨 Современный UI — тёмная/светлая тема, плавные анимации
  • Избранное — сохраняйте любимые активы для быстрого доступа
  • 🔄 Автообновление — данные обновляются в реальном времени
  • 💾 Локальное хранение — все настройки сохраняются в SQLite
  • 🚀 Быстрый запуск — минимальные зависимости, мгновенный старт

📊 Источники данных

Тип актива Источник Регион
💱 Валюты Центральный Банк РФ (cbr.ru) Россия
₿ Криптовалюты CoinGecko API Глобально
📈 Акции Yahoo Finance США/Мир

🚀 Быстрый старт

Требования

  • Python 3.9 или выше
  • Windows 10/11, macOS или Linux

Установка

  1. Клонируйте репозиторий:
git clone https://github.com/LastHope777/ParcingRatesOfCurrency.git
cd ParcingRatesOfCurrency
  1. Создайте виртуальное окружение:
python -m venv .venv
  1. Активируйте виртуальное окружение:

Windows:

.venv\Scripts\activate

macOS/Linux:

source .venv/bin/activate
  1. Установите зависимости:
pip install -r requirements.txt
  1. Запустите приложение:
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 секунд
}

🛠️ Разработка

Добавление нового типа активов

  1. Создайте модель в models/asset.py
  2. Реализуйте сервис в services/
  3. Добавьте виджет в gui/widgets.py
  4. Обновите 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 Работа с изображениями

❓ FAQ

Почему не отображаются российские акции?

Yahoo Finance ограничил доступ к российским биржевым данным. Используйте альтернативные источники или следите за обновлениями.

Как изменить интервал обновления?

Откройте настройки (⚙️) и переместите ползунок интервала обновления.

Где хранятся данные?

Все настройки и избранное сохраняются в локальном файле assets.db (SQLite).

Можно ли добавить свои активы?

Да! Просто нажмите на звезду ⭐ на карточке актива для добавления в избранное.

📄 Лицензия

Этот проект распространяется под лицензией MIT. См. файл LICENSE для деталей.

About

Трекер финансовых активов (Курсы валют, криптовалют и акций) с GUI

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages