Python и открытая разработка
- (повторение) Свободное лицензирование и Python
- ⇒ Возможность открытой разработки
- Открытая разработка:
- Низкий порог входа-выхода
- Произвольная мотивация
- Динамическая профессиональная иерархия
- Свободное распространение как условие развития
- Распределённая совместная разработка
- Информационное пространство (документация/взаимодействие)
Сообщество Python и разработка
- Сам Python:
2021-02-10: 288,767 projects, 2,378,715 releases, 3,869,692 files, 484,667 users
Несколько сотен несвободных проектов, остальные — свободные
https://readthedocs.org — документация
- (никто не мешает использовать GH или вообще что угодно)
История с pip search (баг, картинка)
pypisearch (наверное)
- См. выше про packaging
- Разработка стандартов (egg, wheel)
- Поддержка утилит (pip, setuptools, venv, pipenv)
- …
Коротко о разработке
- Структура каталогов с Python и системными модулями
Linux: пользовательские модули в ~/.local/lib/python3
- Куда приезжают .py и запускаемые файлы
Установка модуля pyfiglet
- что меняется
Pipenv (если успеем)
Коротко о VCS/DVCS
VCS:
Цикл работы с VCS
- Синхронизация
- Редактировние
- Оформление коммита
- Публикация
Проблема: совместная работа над одним корпусом текстов
- Интерференция изменений
- Изменения опубликованных исходников задним числом
DVCS
Цикл работы с DVCS
- Синхронизация
- Разработка (в цикле)
- Редактировние
- Оформление коммита
- Публикация
Минимальные правила:
- Одно изменение — один коммит
- (по возможности не вносящий регрессий)
- Описательные commit message
- Ответственная публикация
Остальные правила (ветки, теги и т. п. — определяются дисциплиной разработки)
Структура:
- Публичный репозиторий
Локальная рабочая копия и полный локальный репозиторий
Пример:
init/clone (развёртывание)
(«проблема зарождения жизни»: создание репозитория для публикации)
pull (синхронизация)
- Разработка
- Редактирование
add (регистрация изменений)
commit (фиксация изменений)
push (публикация)
Редактор для commit message
Д/З
Зарегистрировать публичный репозиторий (SourceHut, GitHub, GitLab, где угодно)
- Установить и научиться пользоваться командной строкой git в объёме
Для windows рекомендуется официальый клиент, в состав которого входит unix-подобная командная строка — для совместимости с лекциями