PyTennessee 2020 Talk List


  1. Harnessing the broad capabilities of data in business and beyond: opportunities, challenges, and solutions for using data in decision making

    Lindsey Clark


  2. Hello, Community

    Al Sweigart

    A language's popularity can be as much about the community behind the language as it is about the language's features.


  1. Beat The Bugs - how to stay on track and on time with debugging

    Yoz Grahame

    Don't let bugs eat your productivity! If you've ever lost a day to one, you've seen how they take your confidence and momentum too. This session will give you a truckload of tactics for beating bugs, strategies for preventing them, and tools that can shrink five hours of debugging to five minutes.

  2. Best Practices for Writing Command Line Tools in Python

    Zack Lalanne

    We all use command-line tools every day to make our work more efficient. Tooling helps us improve automation, reproducibility, and consistency in our products. My talk will discuss best practices when writing a consistent tool suite in Python that can scale to a large community of developers.

  3. Build Your Own Slackbot and Learn Decorators!

    John Berryman

    Building your own Slackbot could be as easy as learning decorators. Let me show you how!

  4. Building History from MySQL

    Jason Myers

    Join me as we take a trip from a MySQL Database BINLOG events through AWS Glue to AWS Athena to create a historical data lake. We'll cover consuming the BINLOG, handling schema changes, and structuring the data for best consumption with Athena.

  5. CPython Internals: Who's Afraid of the Big Bad Loop?

    Moshe Zadka

    The heart of the CPython implementation is the so-called "ceval" loop. This is the loop that runs the Python bytecode. The talk will explain the basics of the CPython execution model, and then cover the details of how the eval loop is written, as well as some of the interesting optimizations it has.

  6. Creating an Environment for Wholeness to Make Space for Creativity

    Jessica Katz

    People are their most creative when they feel safe to bring their whole self forward. In our agile environments, we are looking for that level of investment so that individuals can flourish and our customers can benefit from what comes forth. How do we make space for courageous creativity in our workplaces? What does it take to really be a place that values individuals and interactions over processes and tools?

  7. Creating Music With Python

    Herve Aniglo

    Have you ever thought about converting code into music and making some really awesome beats? You can do that with jythonMusic! jythonMusic uses Python but it has functionalities like Java. You can create all types of musical genres with this technology and I can show you how to do it through a demo.

  8. Don't Panic: Navigating SEP fields for Software Teams

    Hayley Denbraver

    A SEP field is also known as a "Somebody else's problem field", an idea described in the Hitchhikers Guide to the Galaxy series. The idea is that humans will ignore things when they are convinced that it isn't their problem. This talk goes into the intersections of software and SEPs.

  9. Dungeons & Dragons & Python: Epic Adventures with Prompt-Toolkit and Friends

    Mike Pirnat

    We’re going to go on a very meta Dungeons & Dragons style adventure that explores Python libraries and code that I used to build a program for running D&D sessions. There are puns, hand-drawn maps, code and running examples, and a very enchanting hat.

  10. East Meets West When Translating Django Apps

    Andrew Knight

    你好!我叫安迪。 Please, someone translate! Translations are critical for bringing people together. Thankfully, it’s super easy to do in Django. I’ll show you how to do it like a pro. We’ll cover the basics in addition to advanced tricks like URL rerouting, translating the admin, and locale paths.

  11. Everyday Design Patterns: Facade Pattern

    Aly Sivji

    Developers spend lots of time writing code to integrate third-party packages and APIs into our project. We spend additional time updating systems when our dependencies change. This talk will demonstrate HOWTO leverage the Facade Pattern to hide complexity and isolate the impact of changes.

  12. Finite State Machine (FSM) in Django

    Calvin Hendryx-Parker

    Our everyday life is full of workflows such as requesting time off from work. Many of these are actually Finite State Machines. Popular CMS tools have rich support for workflows, but now with django-fsm we can build quick, lightweight business workflows for our applications.

  13. Gathering Insights from Audio Data

    Ryan Bales

    Audio data is all around us. In this talk, we'll look at ways to use Python and audio-data focused libraries to extract features and train predictions models using audio data.

  14. Homebrew Hacking

    Marc Young

    It's not hard to find an IoT device for every hobby. Part of the fun of being a maker/tinkerer is taking something apart and finding out how it works. The problem in general is fragmentation of information. Every "pane of glass" is narrow and doesnt work with other views/tech. Homebrewing is no different.

  15. How to Stop Worrying by using Transactions and Exceptions

    Jason Myers

    We've all got that crazy set of database updates that need to land successfully in four tables, but what do we do when they fail? Join me as I toss aside the deep theory and step into the dark and very real world of transactions, exceptions and debugging SQL.

  16. Intersecting Python, code and art

    Sabrina Sims

    This talk is about the many ways art and code, specifically Python code, can come together. People can learn from this talk how they can experiment with being artistically creative while they do code-y things.

  17. Introduction To MicroPython

    Sara Topic

    If you’ve ever wanted to get down to the bare metal your code is running on, come learn about the wonders of MicroPython, an implementation of CPython that makes embedded device development accessible to anyone with basic Python knowledge. Your next hobby project starts here!

  18. Machine Learning for Everyone

    Aaron Ma

    Machine learning (ML) is becoming an essential technology for our day to day life. Stop taking ML as a threat and learn it today as not learning it is a HUGE LOSS! Get started today with ML in Aaron's remarkable 40 minutes talk. We will start by talking about the paradigm of ML, then take a deep dive into Neural Networks and build a Neural Network from scratch with just NumPy and no frameworks! Finally, we will finish off by talking about Reinforcement learning and how it is empowering YouTube suggestions along with tips-and-tricks from a specialist plus a grand finale mind-blowing demo. Ready to master the paradigm of ML? Let's get started. Don't forget to check out Aaron's website: and his Twitter: @aaronhma.

  19. Migrating Applications Without Fear

    Brian Pitts

    Has your application has been running happily, but now it has to move? From the datacenter to the cloud, or from one cloud provider to another? Fear not! This talk covers strategies for making applications infrastructure-agnostic and handling the organizational challenges of a migration.

  20. Min/Maxing Your Machine with Multiprocessing

    Will Johns

    A brief overview of different parallelization techniques in Python, what they actually mean for your work, and why you might want to use ( or avoid ) them.

  21. Modern Infrastructure as Code with Ansible

    Joe Ferguson

    Streamline your infrastructure management by using Ansible to describe your server configuration and deployments. Learn how to treat manage your infrastructure as code to increase configuration reliability and scalability.

  22. Nashville Breathes

    Jurnell Cockhren

    At PyTennessee 2017, I presented some cool math validating our intuition that software can help us solve social issues. In this talk, I discuss my research on the use of software, policy, and data to respond to the impact of climate change on Nashville's air quality.

  23. None, null, nil: lessons from caching & representing nothing with something

    Felice Ho

    `There are only two hard things in Computer Science: cache invalidation and naming things`. This talk is about the value of `nothing`. I will discuss the success of caching for app performance, but how at one point `nothing` took down production. Learn factors to consider when caching for APIs.

  24. Python CLI Bandersnatch

    Paul Bailey

    This talk will go over 3 libraries which can be used to create command line applications in Python. You'll learn how to use them and how to choose between them. However, this talk has a unique twist, the audience will decide in realtime on the direction of the talk.

  25. Roguelike Game Development in Python

    Sean Sawyer

    Have you ever wanted to create a game in Python, but didn't know where to start? Through the lens of the roguelike genre, this talk will show you one way to go from nothing to a published desktop game with standalone executables for Linux, Mac and Windows.

  26. Ruthless Testing with Hypothesis

    Xavier Villaneau

    Let's face it: unit tests with only a few static cases are superficial at best. With Hypothesis, make your tests exhaustive and trustworthy! Explore the power of property-based testing, go beyond 100% coverage, and find the edge cases you haven't thought of.

  27. Slouching Towards Skynet: Building a Robotic Car With Python and Raspberry Pi

    Kevin Moore

    Robots are taking over the world. This talk provides an introduction to robotics with Raspberry Pi and Python, as the speaker explains a journey to build a robot that chases a ball around. Topics include electricity, hardware, ultrasonic sensors, image processing, and relevant Python libraries.

  28. Take It to the Limit: Lessons Learned After a Year of Serverless in Production

    Mottaqui Karim

    We learned a lot of (hard) lessons after building and scaling a fully featured product on serverless infrastructure. IN this talk, we recount some of the problems encountered and how we solved each of them to maintain stability in a production environment.

  29. Test-Driven API Development with Django REST Framework

    Kevin Harvey

    The tools available in Django REST Framework allow rapid development of web APIs, and it's easy-to-use wrappers around Django and Python's testing toolkit make it easy to include a comprehensive test suite in any application. This is for folks new to DRF & testing in general.

  30. Testing and Monitoring Web Applications in the Wild

    Sam Clarke

    So you have created and deployed a shiny new web application. It works in development just fine, and it seems to work in Production... They key to effective management of a web application is having good insight into your system when something fails or is about to.

  31. The Diary of the Walrus Operator

    Adrienne Tacke

    Everything old is new again. This time it's the highly debated Walrus operator and it's finally coming to Python 3.8! But "finally" is misleading; the := operator has been seen before! Let's dive into the origins of the := operator, its milestones in programming history, and its future in Python!

  32. The State of Async Web Frameworks

    Robert Roskam

    Web programming now is a very different beast from the 1990s; yet most popular web frameworks- and programming language models are rooted in trying to use the same old approach. There is strong trend to change this: this is that state of that trend.

  33. Types my way: Static typing in Python

    Joe Cabrera

    For some time, there has been significant discussion in the Python community about the use of static typing. There are now options for developers who enjoy strongly typed languages but also enjoy the flexibility of duck typing in Python. Please join me as we explore Mypy, type hints and annotations.

  34. Who'd I Lend That Book To? Hard Questions Answered with Python

    Daniel Lindeman

    I love reading books, but I love lending them out even more! In order to keep track of my personal library, I've employed Python, a Raspberry Pi, and an RFID reader. Take a tour through what it's like working with hardware, Python, and putting it all together into a useful web application.


  1. Getting Started with Python

    Evan Smith

    For people who have never written a line of Python code, we'll learn the basics together and answer questions along the way. This tutorial utilizes Visual Studio Code and Python 3.7.x resulting in a free and relevant bag of tools for your next project. Time-allowing, we'll explore useful libraries!