In episode 29, we interviewed Jason R Coombs from the setuptools project. We started with a discussion about his background and his interest for Python and other programming languages. Following that, we had a thorough discussion about setuptools. We covered topics such as how he got involved in the project, the nature and composition of a Python package, why packaging your code can be important even for small projects, the hidden complexity of binary packages in the Python Package Index and how to maintain compatibility between Python versions. We also had a brief segment about the security aspects of Python packages. He informed us about how you could start contributing to the project and where to discuss Python packaging. We then followed with a general discussion about FLOSS in science and the problem of long-term maintenance in academia. We concluded the interview with our usual quick questions.
00:00:23 Introducing Jason R. Coombs
00:01:28 The first programming languages he learned and how he got into Python
00:03:46 New interesting programming languages
00:05:07 His favourite past Python projects
00:06:53 His one minute elevator pitch for setuptools
00:08:00 The relation between setuptools, PIP and Anaconda
00:10:43 How he got involved with the setuptools project
00:14:43 What is a Python package ?
00:16:07 What can be included in a package?
00:16:36 At which point is it beneficial to create a package ?
00:18:04 Managing compatibility with multiple versions of Python
00:20:33 Advantages of packages for small projects
00:22:46 How much work is required to create a package ?
00:25:05 Files required to create a Python package
00:27:45 Licenses and readme for Python packages
00:30:51 The nature of distribution archives
00:31:27 Compatibility of binary archives
00:32:39 Eggs and wheel files
00:34:32 Dealing with non portable packages in the Python Package Index across multiple operating systems
00:37:49 Uploading packages to the Python Package Index
00:39:12 Review for broken or malicious code
00:40:08 Vulneraility from package removal in the Python Package Index
00:43:24 Package name collisions
00:45:13 How many packages are in the Python Package Index
00:45:25 Alternatives to the main Python Package Index
00:46:35 Other packaging tools
00:47:39 How many developpers are involved in the project
00:48:31 Communication channels and discussions about Python packaging
00:49:53 Openings for new contributors
00:50:59 Skills required to contribute
00:52:24 The challenge of long term maintenance of packages in academia
00:55:43 His vision about the importance of FLOSS for the openess of science
00:59:18 Disadvantage of using FLOSS
01:01:24 The most notable scientific discovery in recent years
01:02:13 Favourite text processing tool
01:03:23 A topic in science about which he recently changed his mind
01:04:50 Contact informations