Accepted Talks¶
These are the talks accepted to PyTexas, listed in no particular order. A full schedule will be released close to the start of the conference.
20 GOTO 10: How to Make Scrolling ASCII Art¶
Scroll art is a form of animated ASCII art that beginners can make. Using loops, print(), and random numbers, you'll learn how to make a surprisingly wide variety of digital art within the constraints of text strings. You'll also learn about the history of ASCII art, computer education, and where to find inspiration for your own digital art.
Speaker: Al Sweigart
Al Sweigart is a software developer, artist, Fellow of the Python Software Foundation, and the author of Automate the Boring Stuff with Python and other programming books freely available under the Creative Commons license at https://inventwithpython.com.
Advanced Tracking with Kalman Filters and Stone Soup¶
Learn how to implement sophisticated tracking solutions in Python with Kalman filters and the Stone Soup framework. This demo aims to enhance your data analytics and machine learning skills by showcasing an implementation of a tracking algorithm.
Speaker: Cynthia Ukawu
I'm a backend software engineer for a tech company in Washington, DC.
Always Use Sets!¶
In this talk, we'll show how to use sets to improve the performance and clarity of our code. We'll even show non-set-like cases that gain enough performance by leveraging sets to make this approach worth some amount of extra complexity.
Speaker: Andy Fundinger
Andy Fundinger is a senior engineer at Bloomberg, where he develops Python applications in the Data Gateway Platform team and supports Python developers throughout the firm through the company's Python Guild. Andy has spoken several times at PyGotham, as well as other conferences such as QCon, PyCaribbean, and EuroPython.
In the past, Andy has worked on private equity and credit risk applications, web services, and virtual worlds. Andy holds a master's degree in engineering from Stevens Institute of Technology.
Anarchy to Order - Organizing assorted data with Python and LLMs¶
Bringing structure to chaotic, heterogeneous data is critical for fueling effective applications. This talk will show how to leverage LangChain in a Python application to take assorted file types and build a unified knowledge graph stored in a Neo4j database.
Key takeaways will include:
- How to ingest/import varied data file types
- Structuring/organizing data into a graph database
- Using Langchain, GraphQL, or Cypher to use this data
Speaker: Jason Koo
Mobile Developer turned Pythonista, Jason Koo is a Developer Advocate Manager at Neo4j who loves all things Python! Most of the time he assists a small but mighty team of Advocates but still finds time to code and speak at developer meetups, conferences, and the occasional podcast. He also organizes and hosts a thriving Graph Database Meetup group in sunny San Diego.
Building Efficient Containers for Python Applications¶
In recent years, containerization using tools like Docker has become a cornerstone for deploying applications efficiently. This talk focuses on techniques and best practices to build more efficient Docker images for Python in order to generate reproducible and quicker builds while reducing the image sizes at the same time.
Speaker: Avik Basu
Avik is an experienced Data Scientist and Machine Learning Engineer. Currently he leads AIOps at Intuit. He was first introduced to Python in 2013 during his undergrad, and has been his primary language since then. He views writing elegant Python code as an art, blending creativity with engineering precision. Presently, he leads the Machine Learning efforts for AIOps at Intuit.
ContainerCraft: Mastering Efficient Integration Testing with TestContainers¶
In the ever-evolving landscape of software development, effective integration testing is important. My talk, titled "ContainerCraft: Mastering Integration Testing with TestContainers" delves into the art of efficient integration testing using TestContainers.
Speaker: Sameer Shukla
I'm Sameer Shukla, a dedicated engineer with a rich background spanning 14 years in software design and development. Beyond my role as an engineer, I am an author and researcher. I find joy in continually learning and sharing insights about cutting-edge tools and technologies through my contributions to diverse online learning platforms and esteemed international journals.
Designing a Human-Friendly CLI for API-Driven Infrastructure¶
As Bloomberg's infrastructure grows and evolves, the tools we use to manage it are becoming increasingly important. To streamline infrastructure management, our team set out to design a REST API and constituent CLI (Command Line Interface) that would comprise a single interface for both programmatic and human interaction with our infrastructure. Traditionally, building a CLI that is tightly coupled to an API requires maintaining a separate codebase, which is tedious and error-prone. Instead, we designed a CLI that dynamically generates commands based on the OpenAPI JSON documentation. However, since APIs are designed for computer interaction, we designed our API to include the information needed to implement a human-friendly CLI. Leveraging Python, FastAPI, and numerous other open source projects, we built a stable, extensible tool that greatly improves how we interact with our infrastructure.
Speaker: Oliver Rew
As a software engineer and a lifelong tinkerer/maker, I have a deep-rooted passion for building, fixing, and breaking things. I recently earned a Masters in Electrical and Computer Engineering, and have gained experience working at both small startups and large companies. I thrive on fixing hard bugs and diving deep into challenging problems.
Beyond my professional work, I'm also involved in an exciting Cubesat project at Portland State University. When I'm not immersed in technology, I enjoy outdoor activities such as biking, rock-climbing, and spending quality time with my dog, Bruce.
Iterate, Iterate, Iterate!¶
The iteration protocol and generators are Python's power tools. Properly used, they allow for clearer code that is easier to debug and understand. The talk will cover the iteration protocol itself, generator functions and expressions, the itertools and more_itertools libraries, and how to use them to up your Python level.
Speaker: Moshe Zadka
Moshe has been involved in the Linux community since 1998, helping in Linux "installation parties". They have been programming Python since 1999, and has contributed to the core Python interpreter. Moshe has been a DevOps/SRE since before those terms existed, caring deeply about software reliability, build reproducibility and other such things. They have worked in companies as small as three people and as big as tens of thousands -- usually some place around where software meets infrastructure.
Lessons learned maintaining open source Python projects¶
I started maintaining open source projects back in 2016 with tox. In 2018, I became a virtualenv maintainer. Today, this has now ballooned to 16 different packages where I'm the primary maintainer (+6 other projects where I help out). On average, these packages get more than 360 million downloads each month.
In this talk, I will share my experience, and explore how I manage to pull this off while also having a primary job and a family. I will present which techniques I tried, what worked, and what did not. I will also share my views on how one should approach maintaining an open source package to avoid burnout.
Speaker: Bernat Gabor
Oh the (Methods) You Can (Make): By Dunder Seuss¶
You can make many methods
Over 100 to be exact
That start with two underscores
What do you think of that?
The runtime, it calls these
At points A or B
To do special magic
At runtime, you see.
You may have seen __getattr__
or __init__
But __rfloordiv__
? What's the point of it?
Come take a quick tour, your mother won't mind
And hear a talk that's one-of-a-kind
About how Python uses them under-the-hood
And how you can use them to write code that's real good
Speaker: Joshua Cannon
Howdy y'all! Sometimes I'm a Build Engineer and talk your ear off about tools and developer experience. Sometimes I go by "Dunder Seuss" and perform "edutainment" about Python itself. But mostly I'm just here to have fun and enjoy the company of others.
Plugging in with pkgutil, importlib, inspect, and a little spit¶
Sometimes, you want to build a framework where expansion can come via installed python packages and modules. There are third party libraries to handle that, but maybe you don't want something that heavy weight, don't want to handle the burden of security and quality testing releases, or just want to write your own so you know how it works. I'll walk you through how to create a pluggable framework where plugins can be delivered as Python packages. I'll show you some useful standard library packages that you need, some pitfalls along the way, and how to get a working prototype in no time!
Speaker: Josh Schneider
Father of two boys. Test Automation Engineer. Primarily fluent in Python, but conversant in C#, Go, VBScript, and others. Huge movie geek.
PySecOps¶
In today's interconnected world, securing web applications is more important than ever. This talk will explore the realm of web security vulnerabilities prevalent in Python Django applications and discuss effective DevSecOps practices to mitigate them.
Speakers: Soundharya Khanapur, Shivani Shetty
I am a Masters student at NC State University and an ex-Software Engineer at Mercedes-Benz Research & Development India. My true passion lies in leveraging data-driven technology to bring about innovative solutions. During my leisure hours, you can often find me engaging in sports activities, embarking on explorations of new places, or immersing myself in the creation of entertaining software programs.
Hello! I'm Shivani Shetty, a cybersecurity enthusiast driven by an unyielding passion for securing the digital realm. With a solid foundation in Risk Management, Incidence Response and Network Security, I'm embarking on a mission to make cyberspace safer for everyone. My goal? To leverage my experience, insights and hunger for continuous improvement to revolutionize the cybersecurity landscape.
Python Code vs. Pythonic Code: What Experienced Developers Find Challenging About Learning Python¶
Python has a reputation for being very easy to learn. Despite this, experienced developers often struggle with working as effectively with Python (e.g., writing Pythonic code) as they are with other programming languages with which they are more familiar. This talk will leverage the experiences of a professional trainer to demystify this dichotomy with the goal of understanding the motivating reasons for it, and making suggestions on how to help developers new to Python move quickly from writing Python code to writing Pythonic code.
Speaker: Heather Crawford
Heather Crawford is an Engineering Technical Trainer at Bloomberg and a former university professor. In her roles as a professional educator, she has taught learners at many levels from university students at all levels to both entry-level and experienced software engineers. Heather is a Python lover, who has used it since 2007.
Rest Easy with Jupyrest: Deploy notebooks as web services¶
Jupyter notebooks are awesome! However, a notebook on its own is not a product or a service. Bridging this gap usually involves a complete rewrite into a web service that leaves behind all the awesome-ness of the notebook. What if we didn't have to do this? That's where Jupyrest comes in! Jupyrest is a library I created to solve this exact problem for my team at Microsoft. In this talk I'll show you how you can turn your Jupyter notebooks into a web service without any modifications to it. Jupyrest is being used at Microsoft by data scientists to deploy hundreds of microservices.
Speaker: Koushik Krishnan
Hi! My name is Koushik and I am an engineer at Microsoft. I work on distributed database systems and believe it or not, I use a lot of Python to build tools to so. I believe Python can help us make complicated software systems easier to operate and more performant as a result. When I am not coding I like to play disc golf and try speed-running my favorite video games.
Sanely working with Legacy Code¶
For many developers, they will inevitably have to work with legacy code at some point in their careers. It requires a different set of skills to navigate these codebases as opposed to greenfield code where you start with a clean slate. Join me in exploring techniques to approach legacy code including how to improve documentation, increase testing coverage, refactoring code into smaller more testable units and techniques when you lack time to add tests.
Speaker: Joe Cabrera
I am a software engineer with +10 years of professional experience building scalable and distributed systems for companies. I am also a subject matter expert in Information Retrieval and Personalized Search. I have spoken at several Python conferences, helped to organize a conference and am involved in the Python open source community.
System Design on Easy Mode¶
You know those system design questions you get when interviewing for senior or staff eng roles? I love them. And while I won't solve them all for you, I will teach you an easy way to solve a large class of them.
Speaker: Loren Sands-Ramshaw
Loren is a author, having written a book on GraphQL, has worked as a consultant at various startups. They also participate in various open-source projects.
Voice Computing with Python in Jupyter Notebooks¶
Jupyter Notebook is a popular platform for writing literate programming documents that contain computer code and its output interleaved with prose that describes the code and the output. Recently, it has become possible to use one's voice to interact with Jupyter notebooks. This capability opens access to those with impaired use of their hands. Voice computing also increases the productivity of workers who are tired of typing and increases the productivity of those workers who speak faster than they can type. I split voice computing into three activities: speech-to-text, speech-to-command, and speech-to-code. Several automated speech recognition software packages operate in Jupyter notebooks and support the three activities to a certain degree. I will provide examples of all three activities as they pertain to applications of Python to our research on the molecular structures of proteins and nucleic acids important in medicine. I have developed and shared several software tools at MooersLab on GitHub and Codeberg that facilitate using existing voice computing software in Jupyter.
Speaker: Blaine Mooers
Blaine Mooers is an associate professor of biochemistry and physiology at the University of Oklahoma Health Sciences. He has been using Python to develop tools to ease the use of structural biology software by his students and other scientists. He has spoken at Jupyter Con and participated in several SciPy Conferences.
Working with Audio in Python (feat. Pedalboard)¶
Python can do (nearly) anything, but using Python to work with audio has always been a complicated and messy affair. In this talk, we'll be going through how digital audio works, how Python can be used to play with audio data, and how a new library - Pedalboard - can help. Pedalboard is a simple, fast, and performant library for doing common audio tasks in Python, including applying effects, using VSTs and audio plugins, and encoding/decoding various audio formats.
Speaker: Peter Sobot
Peter is a Staff Machine Learning Engineer at Spotify in New York, where he helps lead their Audio Intelligence Lab - a machine learning research lab dedicated to pushing the state of the art in audio-based machine learning. He's secretly Canadian (howdy neighbour!) and when not hacking on audio software, he plays drums and bass in a handful of bands.
Lightning Talks Day 1¶
Rapid fire 5 minute talks
Speakers:
- Pandy Knight
- William Horton
- Paul McGuire
- Al Sweigart
- Peter Sobot
- Josh Schenider
- Ragu Thiagarajan
- Erin Oefelein
Lightning Talks Day 2¶
Rapid fire 5 minute talks
Speakers:
- David Newman
- Beau McDermott
- Walker Hale
- Shiva Gaire
- Max Logan and Devon Braner