Русскоязычный тренажёр Python в духе Duolingo: короткая теория, проверяемая практика и плавный путь от первого
print()до собственных проектов.
Python Path делает обучение практичным и последовательным. Ученик проходит материал маленькими шагами, получает мгновенную обратную связь по ответам и коду, возвращается к ошибочным заданиям и видит свой прогресс в XP, звёздах и серии занятий.
| Сейчас в курсе | |
|---|---|
| 📚 Программа | 31 раздел · 120 уроков · 360 заданий |
| 🧠 Практика | Выбор ответа, короткий ввод и исполняемый Python-код |
| 🏆 Мотивация | XP, звёзды, стрик, достижения, повторение ошибок |
| 📱 Интерфейс | Адаптивный, без фронтенд-сборки |
| ⚙️ Технологии | FastAPI · SQLite · vanilla JavaScript · uv |
Требуются Python 3.11+ и uv.
git clone https://github.com/gon7187/python-path.git
cd python-path
uv sync --extra dev
uv run uvicorn app.main:app --reloadОткройте http://127.0.0.1:8000. Прогресс сохраняется локально в python_path.db, который исключён из Git.
Чтобы открыть приложение с телефона в той же Wi-Fi-сети, запустите сервер так:
uv run uvicorn app.main:app --host 0.0.0.0 --port 8000Курс следует от базового синтаксиса к реальным инструментам разработки:
- Первые программы, типы, условия, циклы, функции и коллекции.
- Строки, модули, файлы, JSON/CSV, исключения и ООП.
- Типы, стандартная библиотека, регулярные выражения, тесты и Git.
- CLI, окружения, HTTP/API, SQL, параллельность и async.
- Четыре выпускных мини-проекта: задачи, заметки, API-клиент и релиз приложения.
Полная последовательность из 31 раздела — в карте курса.
- Каждый урок содержит три карточки теории и три задания.
- Следующий урок открывается после успешного прохождения предыдущего.
- После каждого раздела открывается контрольная точка; для зачёта требуется 70% правильных ответов.
- Режим практики отдаёт сначала задания, в которых ученик ошибался.
- Код проверяется в изолированном Python-процессе с AST-фильтром и двухсекундным лимитом.
- Один пользователь, локальный SQLite: можно заниматься без регистрации и облака.
uv run ruff check app tests
uv run ruff format --check app tests
uv run pyright app tests
uv run pytest -qВ репозитории есть GitHub Actions, которые выполняют эти проверки на каждом push и pull request.
app/
main.py # FastAPI-приложение и JSON API
content.py # базовые уроки и объединение программы
extended_curriculum.py # 108 уроков расширенной части
evaluator.py # проверка ответов и учебного кода
db.py # SQLite-прогресс
static/ # адаптивный интерфейс
tests/ # unit- и API-тесты
docs/ # карта курса и архитектурные решения
Подробнее о границах компонентов — в архитектуре. Как развивать проект — в CONTRIBUTING.md.
Встроенный редактор рассчитан на короткие учебные задачи: запрещены импорты и системные операции, решение запускается отдельным процессом и останавливается по таймауту. Это удобная защита для локального тренажёра, но не полноценный sandbox для публичного многоарендного сервиса. Перед публикацией в интернете нужен отдельный контейнерный раннер с лимитами CPU, памяти и сети. Детали — в SECURITY.md.
Распространяется по лицензии MIT: проектом можно пользоваться, изменять его и распространять с сохранением текста лицензии.