Skip to content

1. Добавлены Makefile и pyproject.toml#3

Open
oleg-dixon wants to merge 5 commits intocia76:masterfrom
oleg-dixon:feature/new-feature
Open

1. Добавлены Makefile и pyproject.toml#3
oleg-dixon wants to merge 5 commits intocia76:masterfrom
oleg-dixon:feature/new-feature

Conversation

@oleg-dixon
Copy link

@oleg-dixon oleg-dixon commented Feb 11, 2026

🚀 Обзор изменений
Этот Pull Request направлен на значительное улучшение пользовательского опыта (Developer Experience) и модернизацию инфраструктуры проекта TinvestPy. Основная цель — сделать библиотеку максимально простой для старта новичкам и удобной в повседневной работе для опытных разработчиков.

📦 1. Модернизация системы сборки: setup.py → pyproject.toml
setup.py заменен на современный стандарт pyproject.toml (PEP 621, 518).

Преимущества:

  • Совместимость со всеми современными инструментами (pip, build, poetry, uv).
  • Более чистая, декларативная конфигурация.
  • Прямая установка через pip install git+https://... работает безупречно.
  • Основа для легкого добавления линтеров, форматировщиков и настроек CI/CD.

🛠️ 2. Полная автоматизация рабочих процессов через Makefile
Внедрен комплексный Makefile, который служит единой точкой входа для всех задач проекта.

Ключевые команды:

  • make venv / make deactivate – Умное создание и пояснение по деактивации виртуального окружения.
  • make install / make update – Безопасная установка и обновление пакета напрямую из Git. Есть проверка на активное виртуальное окружение.
  • make run-* (напр., run-accounts, run-bars) – Запуск любого примера одной командой. Команда run-bars демонстрирует продвинутую логику: временная установка pandas и последующая очистка.
  • make clean – Глубокая очистка (кэши Python, файлы сборки, *.egg-info, опционально .venv).
  • make info / make help – Встроенная справка и отображение метаданных проекта.

Польза: Больше не нужно запоминать последовательности команд. Весь workflow проекта инкапсулирован в интуитивно понятный интерфейс.

📚 3. Улучшенная документация (README.md)
README полностью переработан, чтобы направлять пользователя в зависимости от его цели.

Ключевые улучшения:

  • Четкое разделение сценариев использования:
    "Как библиотеку" (простая установка в свой проект).
    "Как проект с примерами" (клонирование для изучения и запуска примеров через Makefile).
    Наглядная пошаговая инструкция "Начало работы".
  • Подробный справочник по командам Makefile.
  • Структура проекта с пояснением, что Examples доступны только при клонировании.
  • Визуальное оформление с использованием эмодзи и разделителей для лучшей читаемости.

🎯 Почему это важно для проекта?
Резко снижает порог входа: Новый пользователь может клонировать репозиторий и запустить торговый пример буквально за 5 команд (git clone, cd, make venv, make install, make run-accounts).

  • Повышает профессиональный уровень: Проект соответствует современным стандартам Python-экосистемы.
  • Сокращает рутину и предотвращает ошибки: Автоматизация устраняет множество стандартных шагов и "подводных камней" при настройке.
  • Улучшает сопровождаемость: Структурированная конфигурация и документация упрощают развитие проекта.

📁 Измененные файлы:

  • Добавлено: pyproject.toml (новый основной файл конфигурации), Makefile
  • Обновлено: README.md (полная переработка)
  • Удалено: setup.py (заменен на pyproject.toml)

Эти изменения готовы к слиянию и обратно совместимы — существующий способ установки через pip install git+... продолжает работать, став еще надежнее.

2. Обновлен README
3. Удален setup.py
@cia76 cia76 self-requested a review February 11, 2026 13:22
cia76 and others added 4 commits February 13, 2026 19:41
2. Обновлен README
3. Удален setup.py
- Добавлена проверка uv.lock в цели install
- Добавлена проверка активации виртуального окружения в командах run
- Улучшена установка/очистка pandas в run-bars
- Обновлён README с подробными инструкциями по установке
- Добавлено руководство по настройке для Windows через WSL"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants