Skip to content

🎉 CurRate v1.0.0 - Первый стабильный релиз

Choose a tag to compare

@bivlked bivlked released this 07 Dec 11:28
· 30 commits to main since this release

🎉 Первый стабильный релиз CurRate

Это первый официальный релиз приложения для конвертации валют с официальными курсами ЦБ РФ.

✨ Основные возможности

  • 💱 GUI приложение для конвертации USD и EUR в рубли
  • 📅 Календарь для выбора даты курса
  • 🔄 Актуальные курсы с официального сайта ЦБ РФ
  • 💾 LRU кэш с TTL для оптимизации производительности
  • 📋 Копирование результата в буфер обмена
  • 🎨 Современный интуитивный интерфейс на Tkinter

🐛 Исправления в v1.0.0

  • Устранено двойное обращение к API ЦБ РФ - результат convert() теперь возвращает курс вместе с результатом конвертации, что исключает необходимость повторного вызова get_rate() в GUI
  • Добавлено переиспользование HTTP сессии - глобальная сессия с ленивой инициализацией позволяет использовать HTTP keep-alive и connection pooling, снижая накладные расходы
  • Исправлен парсинг номинала валюты - курсы теперь корректно рассчитываются с учетом номинала, что важно для расширения списка поддерживаемых валют
  • Удален неиспользуемый код - метод _evict_oldest() из модуля кэша был удален

⚡ Оптимизация производительности

  • Снижено количество сетевых запросов при отключенном кэше в 2 раза
  • Улучшена производительность за счет переиспользования HTTP соединений
  • Оптимизирована логика GUI

🧪 Качество кода

  • 85 тестов (79 passed, 6 skipped для GUI)
  • Покрытие кода: 78% (выше целевых 70%)
  • Pylint: 10.00/10 для всех модулей
  • Mypy: 0 ошибок типизации
  • Black: код полностью отформатирован

📦 Технологии

  • Python 3.14+
  • Tkinter (GUI)
  • requests 2.32.5 (HTTP client)
  • beautifulsoup4 4.14.3 (HTML parsing)
  • tkcalendar 1.6.1 (calendar widget)
  • pyperclip 1.11.0 (clipboard)
  • Poetry (dependency management)

📚 Документация


💻 Установка

git clone https://github.com/bivlked/CurRate.git
cd CurRate
poetry install
poetry run python run.py

🚀 Быстрый запуск

poetry run python -m src.currate.main

Спасибо за использование CurRate! 🙏

⭐ Если проект был полезен, поставьте звезду!