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 или вообще что угодно)
- См. выше про packaging
- Разработка стандартов (egg, wheel)
- Поддержка утилит (pip, setuptools, venv, pipenv)
- …
Коротко о разработке
- Структура каталогов с Python и системными модулями
Linux: пользовательские модули в ~/.local/lib/python3
- Куда приезжают .py и запускаемые файлы
Установка модуля pyfiglet
- что меняется
Pipenv (если успеем)
Коротко о VCS/DVCS
VCS:
- rcs
- cvs
- svn
- tla, darcs, чёрт в ступе
Цикл работы с VCS:
- Синхронизация
- Редактировние
- Оформление коммита
- Публикация
Проблема: совместная работа над одним корпусом текстов
- Интерференция изменений
- Изменения опубликованных исходников задним числом
DVCS:
- hg, bazaar
- bitkeeper, git
Цикл работы с DVCS:
- Синхронизация
- Разработка (в цикле)
- Редактировние
- Оформление коммита
- Публикация
Правила:
- Одно изменение — один коммит
- Описательные commit message
- Ответственная публикация
Пример:
pull
- Разработка
- Редактирование
commit
push
Редактор для commit message
Д/З
- Установить и научиться пользоваться Python и git