Modern Python packaging without pain
The point of this presentation is to explain how to use tools which are all there, waiting to make developing, testing, and distributing our Python packages easier. Doesn’t matter if you’re a Python expert or a beginner, the knowledge covered by this presentation will be useful despite your level.
PyPI is an incredibly important piece of infrastructure for the Python community, and if you use Python you probably use PyPI, directly or indirectly, on a daily basis, and many different sites, services, and companies rely heavily on it.
Reuse our code is a very common need; It saves you time for writing the same code multiple times, it helps organize code in a modular way and enables leveraging other people’s work to make new things happen. When it comes to python, unfortunately the term "package" is an overloaded term, as it means both a noun for a namespace that you put modules into as well as the verb of bundling up some code for easy distribution. Historically, Python packaging has been a source of significant pain for even the most devoted Python enthusiasts.
In this talk I'll be covering all the required instructions and a quick overview of the current state of Python Packaging tools. I’ll mostly focus on setuptools, pip and wheels, putting an emphasis on their superiority over their precursors. I’ll also list down the honorable mentions of tools worth knowing. Then I’ll share examples of how you can use the features of the Setuptools library, we'll go from nothing to a package that you can proudly put it in your portfolio to be used by other people.
And yeah! Without pain!