In this lightning talk, I will demonstrate how to import packages that have not been installed in a virtual environment.
Ripping and archiving thousands of music CDs for personal use can be a daunting task—especially when you care about safety, automation, and system reliability. In this talk, I’ll share how I built a secure workflow using Python, shell scripts, and Docker to ingest and organize a large CD collection into a Plex server. I’ll demo the Nimbie disc autoloader (“the hopper”), explain how containerization helps isolate untrusted media, and show how I monitor throughput and reliability using Datadog metrics. This session focuses on the technical challenges of automation, security, and observability in large-scale media archiving.
In this talk, we’ll explore method binding in Python. What really happens when you put a function inside a class? At first glance, it may look like just another function, but Python transforms it into a method by automatically handling the binding between the function and the class instance.
We'll explore notions of self, some __methods__, and a little of what Python does under the hood.
I want to start broadly about what concurrency is, how it's implemented on the hardware level and what concurrency paradigms are available out there on various programming languages. I will then zoom into what's available in modern python. Hopefully this will give people a good understanding of the current concurrency landscape in python and how and why it came to be.
When properly used, exceptions are a powerful tool for conveying information. Let's take a look at how better exception management can help us avoid some common antipatterns.
Introducing a new library which can compile symbolic expressions into fast NumPy functions - I hope it can help widen the bridge between mathematicians and programmers
A SymPy expression or string is accepted along with sample data, then directly used or converted into a loop over the first dimension of those arrays, and finally compiled with Numba's ahead-of-time mode using the types from the data and exposed through the object's `__call__()`
The given sample data can also be used to internally verify the results match in Python, SymPy (substitution), and the compiled function
Extra features (such as support for summations) and arbitrary helper functions can become embedded and made available too
Expressive can also parse indexed names like x[i-1] to refer to arbitrary offsets of the input arrays and also members of the result array (which can be provided filled or with seed values or generated dynamically)
Proposed Agenda
* Expressive overview
* How fast is this thing?
* Use cases
* Other cool stuff this can do
* Configuration system
* What's next?
About a year and half ago, I did a speak at ChiPy about my open source project PyPDFForm. The project has been evolving since then with lots of newly implemented features and QOL changes. So I think it's time to do a part 2 of the speak to give some quick updates and introduce some of these new features.
Agenda (tenative):
- Quick recap on features went through from last speak
- Slide intro to new features
- Live coding session:
- Create PDF form fields
- Text field
- Checkbox/radio button
- Dropdown
- Image/Signature field
- Fill PDF forms in place (simulate manual filling)
- Adobe Acrobat mode
- Create PDF form fields
- QOL changes
- Restrictions and future improvements
- Q/A
I hosted a single blind wine tasting amongst friends where they had to guess wine styles and prices. I collected the answers and used python to determine winners and output various plotly visuals. And for fun, I applied data science techniques to identify if any of my friends can identify wines with statistical significance.
Dependency injection (DI) isn’t just for enterprise Java. DI is a simple, versatile design technique that can help you write less coupled, more modular, and more testable code. By the end of this talk, you'll be able to:
-
Spot implicit dependencies in your code
-
Understand what dependency injection is and why it matters
-
Apply simple DI in your Python code using functions or parameters
-
Know when not to use it
Outline
-
Motivation: Good Design and Why DI
-
Recognizing Dependencies
-
What is Dependency Injection (DI)
-
Dependency Injection (DI) vs Dependency Inversion Principle (DIP)
-
Practical Examples
-
Styles of Dependency Injection
-
DI for Testing
-
DI for Decoupling
-
DI for Flexibility
-
Composition Root: Where to Wire Dependencies
-
When Not to Use DI
-
Patterns that Use DI
-
Strategy
-
Factory
-
Service, Repository, and Domain
-
DI and Python Idioms
-
DI Containers and Frameworks for Large or Complex Projects
We will go over the implications of how deciding a serialization format (also known as a data interchange format) can have on your performance, security and readability. We will study JSON, pickle and safetensors and understand the decision making and the specifications of those formats have and why you should choose one over the other. We will also show the implications of how others have used and when these formats while are a good idea before start to change in such a manner where you need to migrate to a format for the previous reasons mentioned (performance, security and readability). Also, at the end there will be a security demo derived from a blogpost.