Session Details

Great On Their Own, Even Better Together: Application Development with Python, Typer, and Poetry

Regular Session

Have you ever tried to create a command-line application with an extensive command-line interface and then upload it to to the Python Package Index (PyPI)? If your experience is like mine, then you might have found the process confusing because there are so many different tools and configurations from which to choose! The good news is that there is a "sweet spot" that this presentation will introduce: using Typer to create the command-line interface and Poetry to manage application dependencies and virtual environments and upload the project to PyPI. Software developers who follow the steps outlined in this talk will be able to quickly and repeatably create command-line applications in Python that are available for everyone to install and use through programs like pip and pipx. After briefly overviewing the challenges associated with other approaches to creating and uploading Python-based command-line applications, this presentation will introduce the key ideas behind the use of both Typer and Poetry. The presentation will then explain each command that a software developer must use to start a Python project with Poetry and to install dependencies like the Typer package. Along with sketching the idea for an application that has a command-line interface and showing how to implement it in Typer, the talk will explain how to use Poetry to upload the application to PyPI and use pipx to install and run it in an isolated environment. People who watch this talk will gain the knowledge that they need to easily create full-fledged command-line applications in Python. Summary of what people will learn after attending this session: - The challenges associated with using alternative programs for interface creation and packaging - How to use Poetry to create a Python package for a program with a command-line interface - The way in which Typer connects a function's type annotations to a program's command-line interface - Examples of the commands needed to complete each project step, from creation and building to publishing on PyPI - The common pitfalls associated with using Typer and Poetry and easy-to-follow steps for resolving them
About

A software development conference in the Louisville, KY area on August 18 - 20, 2021 designed to cover all aspects of software development regardless of development stack.

Keep in Touch