The Python packaging has a reputation of a somewhat black box from the early days.
There are many unknown parts and people mostly get by with just copying other projects build configurations and roll with them.
c Bernat Gabor - maintainer of both the virtualenv and tox project occasionally contributing to both setuptools and pip.
Попытаемся исправить эту ситуацию и разобраться как устроено построение пакетов в питоне а точнее как оно было устроено раньше и как предлагается делать сейчас.
А также рассмотрим более сложный случай - построение пакетов с нативными модулями СCUDA.
Открытые семинары Xperience AI проходят каждый четверг.
Зарегистрироваться на предстоящие семинары по ссылке:
Содержание:
0:00:32 Как Bernát Gábor решил разобраться как устроены пакеты
0:01:11 Куда его это привело
0:02:00 Забавный факт про Bernát Gábor
0:02:40 Зачем нужно собирать пакеты?
0:04:27 Исторический обзор packaging на Python
0:06:52 Пример: packaging NMS module
0:09:35 Packaging with setup.py.
Basics
0:09:45 Pure python package
0:10:43 Pure python package: LICENSE
0:11:14 Pure python package: pyproject.toml
0:12:03 Pure python package: requirements.txt
0:12:43 Pure python package: setup.py
0:14:05 Setup options: version
0:18:38 Setup options: long_description
0:19:24 Setup options: url
0:19:39 Setup options: packages specification
0:21:43 Setup options: dependencies
0:23:59 Lets try to build!
0:26:17 Wheel name convention
0:28:22 Возвращаемся к истории
0:28:52 Packaging with declarative config
0:28:57 Что не так с setup.py
0:32:40 Что это значит для разработчиков
0:33:03 Building with setup.py with modern restrictions
0:37:20 MANIFEST.in to resque
0:39:55 Declarative config
0:42:54 Install_requires vs requirements files
0:44:51 What should I place to requirements.txt?
0:46:51 Poetry
0:47:55 How to switch from setuptools?
0:49:59 Вопрос про Poetry
0:53:09 Cython
0:54:15 NMS with Cython
0:54:50 Incorporate Cython into the build process
0:57:30 Why cythonize is cool?
1:00:13 All changes for Cython
Вторая часть семинара:
Источник: rutube.ru