Chat Archive

A list of all past Python chats

Past

pathlib in Python: why you should use it

📅

Python is great for working with files, but there are a lot of different functions and modules to memorize when you need to work with files and directories in Python.

The os module and the os.path module are full of helper utilities and so is the shutil module. Python's pathlib module is a new(ish) part of the standarb library that can be used as a fairly neat replacement for most of these many file and directory management utilities.

Join me in this live chat for a live chat about pathlib and how it can help us write more readable Python code.

View video/discussion replay
Past

Python Oddities Explained

📅

Python is fairly intuitive, as programming languages go. But all programming languages have features that sometimes lead to quirky or unexpected behavior. During this live chat, I'll discuss and try to explain some of my favorite Python oddities and I'll make my best attempt to explain the Python oddities you ask about during the chat.

View video/discussion replay
Past

Live Q&A from PyOhio 2018

📅

Join me for a live chat about PyOhio.

This is my first time attending PyOhio and I'll be sharing what it's like for me and chatting with others about what the conference is like.

View video/discussion replay
Past

Lambda Expressions and First-Class Functions in Python

📅

Python's functions are first class functions. Python also has anonymous functions. And there's a special syntax for a specific type of first-class function, called a decorator function.

In this chat I'll demonstrate what it means to have first-class functions and when to use lambda expressions (and when not to). Then we'll dive into Q&A and I'll answer your questions about Python's functions.

View video/discussion replay
Past

Q&A: Dates and Times in Python

📅

This week special guest Paul Ganssle, maintainer of dateutil, will be joining us for a Q&A session on dates and times in Python.

Our goal is to answer your questions about working with dates and times in Python, so come prepared to ask questions!

View video/discussion replay
Past

Mutability and Variable Scope in Python

📅

Is Python pass-by-reference or pass-by-value? Why are list comprehensions a big deal in Python? Why are global variables so tricky to create?

We'll discuss those questions and related topics in this chat on object mutability in Python and Python variable scope rules.

We'll talk about how variable assignment works, how argument passing works, what the different scope levels are, and we'll generally work on shaping our mental model of mutability and scope to better reflect what Python is doing under the hood.

View video/discussion replay
Past

Live Q&A with PyCon 2018 Attendees

📅

Curious what PyCon is like but couldn't make it?

Have questions about what you should do to prepare for next year?

Join this chat and ask them!

View video/discussion replay
Past

Debugging Python Code

📅

How do you debug your Python code?

Do you use the print function?

Do copy-paste your code into a Python shell?

Do you use the Python debugging?

If you often have trouble figuring out what your code is doing but you're not using the Python debugger yet, come to this Q&A session on debugging in Python!

View video/discussion replay
Past

itertools and more

📅

The itertools library is one of my favorite standard library modules.

During this chat I'll answer your questions about iterables, iterators, itertools, and related libraries and helper functions for working with lazy iterables in Python.

All experience levels are welcome in this chat. Don't be afraid of asking bad/dumb/silly/easy/hard questions. This chat is for you and your questions belong here.

View video/discussion replay
Past

Tuple Unpacking

📅

Tuple unpacking is one of those Python features that is under-used frequently. Many uses for tuple unpacking are obvious and well-encouraged but some uses are frequently overlooked.

In this chat we'll talk about both tuples and tuple unpacking. We'll discuss the difference between the two and then we'll discuss how and where to use tuple unpacking.

This will be a Q&A-heavy chat so come prepared to ask questions!

All experience levels are welcome in this chat. Don't be afraid of asking bad/silly/easy/hard questions. This chat is for you and your questions belong here.

View video/discussion replay
Past

Comparisons: Ordering, Equality, Identity

📅

Python's comparison operators are pretty powerful. But this power means there's quite a bit to understand about them.

In this chat we'll review the various comparisons in Python: equality/inequality and the ordering operators. We'll also discuss the difference between equality and identity and we'll likely take a look at how many of these operators are "deep" operations in Python.

This will be a Q&A-driven chat, so come prepared with questions!

All experience levels are welcome in this chat. Don't be afraid of asking bad/dumb/silly/easy/hard questions. This chat is for you and your questions belong here.

View video/discussion replay
Past

Descriptors and Properties

📅

Getter/setter methods are a big deal in Java. Getters are used for normalizing & validating data and setters are used for computing data on the fly.

In Python, we don't use getter and setter methods: we use properties.

In this live chat I'm going to show you what properties are and how they work and then I'll answer your questions about properties and descriptors. Why descriptors? Because descriptors are how properties work under the hood.

Get your descriptor and property questions ready for this week's chat!

View video/discussion replay
Past

Decorators

📅

This week we're going to talk about creating and using decorators in Python! This will be a Q&A-driven chat, so please come prepared with questions.

We'll likely chat about - when, why, and how you should use decorators in Python - what the best practices are for creating decorators - what the downsides are to using decorators

View video/discussion replay
Past

Making Python GUIs with BeeWare

📅

Have you ever wondered how to make GUI applications in Python? Have you tried making Python-powered GUI apps and found it painful?

This week's chat is about making cross-platform GUI applications using BeeWare.

We're joined by a special guest this week: Russell Keith-Magee, the BeeWare founder.

Russell will start the chat by demoing BeeWare and then he'll answer your questions about using BeeWare for making GUI applications.

View video/discussion replay
Past

Consuming web APIs in Python

📅

This week we're going to chat about doing HTTP requests and consuming RESTful web APIs in Python. This will be a Q&A-driven chat, so please get come prepared to ask questions! This chat is open to learners of all skill-levels. If you have a question about using web APIs, you're welcome here.

View video/discussion replay
Past

Git Q&A

📅

This week I'm going to answer your questions about using Git for version control! This chat is open to learners of all skill-levels. If you have a question about Git, you're welcome here.

View video/discussion replay
Past

Django Q&A

📅

This week I'm going to answer your questions about Django! This chat is open to learners of all skill-levels. If you have a question about Django, you're welcome here.

View video/discussion replay
Past

Testing Tricky Code with unittest.mock

📅

When you're getting started with automated testing, you'll find that some code can be really tricky to write tests for.

The unittest.mock module in Python 3 can make it much easier to write automated tests for those tricky bits of code.

In this live webcast, we'll talk about cases when tests are hard to write. We'll focus primarily on when to use monkey patching in your tests and when not to.

View video/discussion replay
Past

Switching from Python 2 to Python 3

📅

During this chat we'll discuss upgrading your code to Python 3 and we'll dive into some of the most useful Python 3 features that you'll be able to start embracing once you drop Python 2 support in your projects.

View video/discussion replay
Past

Lazy Looping with Iterators

📅

During this chat we're going to talk about making and looping over lazy iterables. We'll talk about generators, iterators, and how to write readable and efficient Python code by embracing lazy looping.

View video/discussion replay
Past

Duck Typing in Python

📅

What is duck typing? Where is it usually used in Python? Why is it an important thing to know about?

View video/discussion replay
Past

Pythonic For Loops

📅

Python's for loops are fairly different from for loops in languages like C, Java, and JavaScript. In this chat we'll discuss how Python's for loops force you to think differently about your code and we'll review some of the tools you can use to keep your for loops readable and Pythonic.

View video/discussion replay
Past

Dictionaries in Python 2

📅

Dictionaries are one of the most commonly used data types in Python. This week we're going to hold a chat on dictionaries. We'll start by talking about what dictionaries are and what they're used for.

View video/discussion replay
Past

CSV Modules

📅

This week we're going to talk about Python's csv module. We'll discuss how to use it and why it's important to use it. We'll also discuss some of the more advanced usages of the csv module.

View video/discussion replay
Past

Functions in Python

📅

This week we'll discuss how Python's functions work differently than functions in C, Java, JavaScript and many other programming languages. Sign up and ask a question before the chat begins!

View video/discussion replay
Past

North Bay Python Chat

📅

Curious what the North Bay Python conference is like but couldn't make it here? Join me for a live chat with other attendees at the conference.

View video/discussion replay
Past

pip: installing Python libraries

📅

This week we're talking about pip: the Python package manager. We'll talk about installing packages with pip and discovering packages that suit your needs.

View video/discussion replay
Past

Teaching Python to Kids

📅

Special guest Nicky Ringland will be joining us this week to discuss teaching kids to code using Python. We'll discuss the challenge of teaching coding to kids and teaching strategies and tips.

View video/discussion replay
Past

Testing Python with pytest

📅

Special guest Brian Okken is joining us this week for an introduction to pytest followed by a Q&A session during which we'll answer your questions about pytest and testing in Python.

View video/discussion replay
Past

Writing Docs with Sphinx

📅

Special guest Carol Willing will be talking to us this week about using Sphinx to document Python code.

This will be a Q&A-heavy chat, so please come prepared with your Sphinx-related questions.

View video/discussion replay
Past

Comprehensions Chat

📅

What are list comprehensions and how are they different from for loops? And why are list comprehensions often so hard to read?

This week we're doing a live Q&A on list comprehensions in Python and comprehension-related topics like loops and map/filter.

View video/discussion replay
Past

Classes: When, How, Why, and Why Not

📅

Programmers talk about classes and "object-oriented programming" all the time.

What are classes? How do they work? When should you use them? And when shouldn't you use them?

View video/discussion replay
Past

Namespaces: one honking great idea

📅

What does the word "namespace" mean? What are some examples of namespaces in Python and why are they such a "honking great idea"?

View video/discussion replay
Past

PyGotham Chat

📅

This week I'll be hosting a live chat from PyGotham! Come hang out and ask questions!

View video/discussion replay
Past

Linting Code

📅

Code linting: it's not about fuzzy stuff, it's about readability. Let's chat about this.

View video/discussion replay
Past

Docstrings

📅

Docstrings: how are they different from comments? Are they the same as documentation? When should or shouldn't you use them and why?

View video/discussion replay
Past

Generators!

📅

We're going to discuss generator functions, generator expressions, and iterators in this chat. Let's talk about lazy looping!

View video/discussion replay
Past

Virtual Environments in Python

📅

What's a virtual environment? Do you really need them? Is there any way to make them easier to use?

If you're using Python, you probably should be using virtual environments. In this chat we'll discuss what virtual environments are and how to use them.

View video/discussion replay
Past

Q&A: __dunder__ variables in Python

📅

Ever wondered what two underscores around variables means? You may have seen __name__, __str__, __doc__, or other "double underscore" variables in Python. What are these "dunder" variables and what are they for? This week we'll do a Q&A about dunder variables.

View video/discussion replay
Past

DjangoCon US Chat 1

📅

I'll be holding a live chat with the friendly folks I meet at DjangoCon US.

This will be the first of two chats at DjangoCon US (at different times on different days).

View video/discussion replay
Past

PyCon Australia

📅

Want to ask a question of PyCon Australia attendees? Curious what the conferences is like and what we've been doing there?

I'll be holding a live chat with the friendly folks I meet at PyCon Australia.

View video/discussion replay
Past

Ranges in Python

📅

Want to loop over consecutive numbers? Backwards? In steps of 3? You want range.

The range function changed quite a bit between Python 2 and Python 3. We're going to discuss the behaviors of range and xrange in Python 2 and compare each to range in Python 3.

If you think xrange in Python 2 is the same as range in Python 3, you're in for a surprise.

Sign up and ask a range-related question!

View video/discussion replay
Past

Context Managers

📅

Context managers allow programmers to reuse common setup/cleanup code in multiple places.

We'll talk about when context managers are useful, where you usually find them, and how to make your own.

View video/discussion replay
Past

Variables, scope, mutability

📅

We're going to discuss the odd way that variables work in Python and how Python's variables differ from variables in other languages.

View video/discussion replay
Past

collections.Counter

📅

How should you count the number of times each thing occurs in a list? There are a lot of ways to solve this problem, but the most Python is often to use Counter.

Let's talk about different ways of counting things in a list, including Counter!

View video/discussion replay
Past

Python Asterisks

📅

The * and unpacking operators (often seen as *args and kwargs) got a big upgrade in Python 3. We're going to chat about how * and ** work, what they're good for, and what to watch out for in different versions of Python.

View video/discussion replay
Past

Properties in Python

📅

Getter/setter methods are a big deal in Java. Getters are used for normalizing & validating data and setters are used for computing data on the fly.

In Python, we don't use getter and setter methods: we use properties.

Properties are weird and they can be a little scary at first. In this live chat I'm going to show you what properties are and how they work and then I'll answer your questions about properties in Python.

View video/discussion replay
Past

Working with unicode

📅

If you need to work with text in Python, you need to know what unicode is. I'll answer your questions about unicode and bytes in Python 2 and Python 3. Hopefully by the end of this chat I will at least have convinced you that you can't simply ignore byte strings forever: if you need to work with text data, you need unicode.

View video/discussion replay
Past

Python Oddities

📅

I tweeted one Python oddity each week in 2016. Let's chat about them.

View video/discussion replay
Past

PyTest

📅

Testing code is important, but writing tests can be scary at first.

This week, special guest Raphael Pierzina will join us for a chat about PyTest. We'll show off some features of PyTest and answer your questions.

View video/discussion replay
Past

Virtual Environments

📅

Virtual environments: if you're using Python you should know about these.

Let's chat about what virtual environments are and when/how to use them.

View video/discussion replay
Past

Learning Programming with Others

📅

Special guest Kim Schlesinger will join us to talk about learning programming with others.

Whether you're working with a mentor or studying with a similarly-skilled peer, learning collaboratively can be more effective and more fun.

View video/discussion replay
Past

Teaching: Python 2 and 3

📅

When I do training, I sometimes have to teach Python 2. How can you teach Python 2 while encouraging Python 3 awareness? That's the topic of this week's chat.

View video/discussion replay
Past

Printing: Print Function, Print Statement, and more

📅

The pressure's on! Let's talk about printing!!

View video/discussion replay
Past

Let's talk about Tuples

📅

Tuples: what even are they? Let's chat about tuples, tuple unpacking, and other tuple-related topics.

View video/discussion replay
Past

Learning to Learn Python

📅

Let's talk about learning to learn Python!

View video/discussion replay
Past

PyCaribbean Chat

📅

I'm going to held a live chat from PyCaribbean in San Juan, Puerto Rico. Have questions about about PyCaribbean or about Python conferences in general? Ask away!

View video/discussion replay
Past

itertools & more

📅

The itertools library is one of my favorite standard library modules. Let's talk about itertools and other utilities for working with iterables!

View video/discussion replay
Past

PyTennessee Chat

📅

I'm going to held a live chat from PyTennessee, a really fun regional conference. Have questions? Ask away!

View video/discussion replay
Past

Python 2 vs 3

📅

You've used Python, but you haven't tried using the other Python. Let's talk about Python 2 and Python 3: which one should you use and what's the difference?

View video/discussion replay
Past

Teaching Python & Python Tutor

📅

This week we'll be chatting with special guest Philip Guo about pythontutor.com, a web application he made for visualizing Python code. We'll talk about how PythonTutor can be used for teaching and learning Python.

View video/discussion replay
Past

Iterators

📅

I bet you know how iterables (things you can loop over) work in Python, but how do iterators work? We're going to discuss a weird data type you'll find everywhere in Python.

View video/discussion replay
Past

Making your MVP

📅

Special guest Tracy Osborn, author of Hello Web App, will join us to talk about launching your side project.

View video/discussion replay
Past

String formatting & f-strings

📅

We'll discuss old style string formatting, the current "new" string formatting syntax, and the brand new f-string syntax in anticipation of Python 3.6!

View video/discussion replay
Past

Reading & Writing Files

📅

Files in Python: read them, write them, append them. Questions encouraged.

View video/discussion replay
Past

Dictionaries in Python

📅

Dictionaries are a a very useful data type but they can be a little more difficult than lists.

We'll start very basic but I do plan to answer more advanced dictionary questions toward the end of the chat.

View video/discussion replay
Past

Duck Typing in Python

📅

Let's talk about duck typing in Python: what does it mean and how does it affect the way we code?

View video/discussion replay
Past

Dates and Times in Python

📅

Let's chat about working with dates and times in Python! We'll talk about parsing, formatting, timezones, and date arithmetic.

View video/discussion replay
Past

Testing your code

📅

Testing: you know you should be doing it but it's so hard to get started. We're going to talk about test-driven development and some common tools for testing in Python.

View video/discussion replay
Past

Class-Based Views in Django

📅

Most Django programmers use function-based views, but some use class-based views. Why? We're going to talk about how class-based views are different.

View video/discussion replay
Past

Classes in Python

📅

Let's chat about classes in Python: what are classes useful for and how are they different from classes in other languages?

View video/discussion replay
Past

Truthiness

📅

Let's talk about truthiness in Python! Is the opposite of truthiness... falseyness? What is it, why does it matter, and how can you use it?

View video/discussion replay
Past

Decorators

📅

Decorators are one of those features in Python that people like to talk about.

Why? Because they're different. Because they're a little weird. Because they're a little mind-bending.

Let's talk about decorators: how do you make them and when should you use them?

View video/discussion replay
Past

Tips for learning Django

📅

Making mistakes is a great way to learn, but some mistakes are kind of painful to make. Special guest Melanie Crutchfield and I are going to chat about things you'll wish you knew earlier when making your first website with Django.

View video/discussion replay
Past

Functional-ish programming

📅

What is functional programming and how have functional programming concepts worked their way into Python?

This week we'll be learning about functional programming from special guest Lorena Mesa!

Lorena will be teaching us about:

  • map and filter and what makes them interesting
  • lazy data structures
  • the functools library

Lorena will also be answering questions about functional programming in Python.

View video/discussion replay
Past

Gluing strings together in Python

📅

Learn when and why you'd glue strings together using concatenation, interpolation, or other methods.

View video/discussion replay
Past

Generators: turn loops inside-out

📅

Learn about how to use generators to turn while loops into for loops!

View video/discussion replay
Past

Machine learning & scikit-learn

📅

We'll be asking Kevin Markham about machine learning with scikit-learn.

View video/discussion replay
Past

Contributing to open source

📅

Are you interested in contributing to open source projects but don't know where to start? Join this chat and tell us your story!

Katie McLaughlin and I will be chatting about different ways you can get started contributing to open source software and services.

View video/discussion replay
Past

Python Code Style

📅

Are you concerned about code readability but your team argues too much about code style? Join this chat to discuss Python code style norms, line wrapping, naming things, explicit code style guides, and times when PEP 8 isn't quite opinionated enough.

View video/discussion replay
Past

Live DjangoCon Chat

📅

If you're a Django developer who has never been to DjangoCon, join this chat to find out what DjangoCon is like so you can decide whether to go next year.

I'll be broadcasting live from DjangoCon, during the tutorials. Special guests will include whoever happens to be in the hallway with me at the time.

I'll be chatting with guests about our experiences at past DjangoCons, what there is to do during the conference, and what we plan to do during this year's DjangoCon.

This is your opportunity to get your questions answered by DjangoCon attendees (and probably an organizer or two also)!

View video/discussion replay
Past

Flask

📅

We're going to chat about the Flask web framework.

Please join this chat and ask your questions about Flask.

View video/discussion replay
Past

Traveling to Conferences

📅

When you travel to a conference, what do you pack? What do you consider when booking flights and hotels?

We will have multiple guests present during this chat, each bringing a different viewpoint to our discussion.

This is your opportunity to ask questions to frequent travelers.

View video/discussion replay
Past

List Comprehensions Workshop

📅

When should you use list comprehensions?

When should you not use list comprehensions?

How do you make your list comprehensions readable?

How can you identify whether a code section might be translatable to a comprehension?

This event will be approximately 75 minutes long and will consist of:

  • list comprehensions review (please read read my blog post first)
  • readability tips
  • discussion about when to use (and not use) list comprehensions
  • exercises (we'll work through a couple as a group)
  • Q&A

View video/discussion replay
Past

Python Variable Scope

📅

Ever wondered why creating global variables is so tricky? Why does it seem like changing variables just works sometimes but other times it doesn't?

We'll answer those questions and a couple others in this chat on how Python's variable scope rules.

We'll talk about local and global scope as well as the less obvious enclosing and builtin scopes.

View video/discussion replay
Past

Emoji: Why and How I Use It

📅

What's the big deal with emoji? Why do people use it?

Let's talk about the emoji phenomenon and whether this is a trending fad.

I'll also talk about the ways I use emoji in my own communication and the reasons I use it.

View video/discussion replay
Past

How Python For Loops Work

📅

Python's for loops are powerful but a little opaque.

During this chat we'll review Python's for loops, compare them to loops in other languages, and discuss how and why Python does things different.

We'll also learn about the iterator protocol and talk about the differences between iterables and iterators.

View video/discussion replay
Past

PyCon Sprints

📅

If you're interested in contributing to open source but you've never been to a PyCon sprint, join this chat and learn what the PyCon sprints are really like.

We'll chat with first-time contributors and experienced contributors about their PyCon sprint experience.

View video/discussion replay
Past

Live PyCon Chat

📅

If you're a Python programmer who has never been to PyCon, join this chat to find out what PyCon is like.

I'll be broadcasting live from PyCon. Special guests may include whoever happens to be in the hallway with me at the time.

We'll chat about what's been going on, how PyCon is structured, and what there is to do during the conference. Please ask your questions about PyCon. We would love to answer them!

What's the plan, what's PyCon like? Should I go next year? We'll be at PyCon during the chat so please ask anything you'd like to know!

View video/discussion replay
Past

Python Packaging

📅

If you're a Python programmer creating your first open source project, this Python chat will help you learn how to package your Python code and share it with the world.

Special guest Micah Denbraver will teach us:

  • how to create an installable Python package
  • how to put your package on the Python Package Index so others can find it
  • where to put your tests

Then we'll do Q&A about making open source Python packages.

View video/discussion replay
Past

Debugging in Python

📅

Having trouble figuring out what your code is doing? Debug-by-print not working well enough? Come to this chat and learn about the Python debugger!

George Khaburzaniya will show us how simple the Python debugger can be. We'll then do a Q&A about Python debugging, troubleshooting, and testing.

View video/discussion replay
Past

Regex Workshop - Part 2

📅

This is a continuation to the first regular expressions webinar event from March.

We'll learn about substitutions, data normalization, and greediness.

If you did not participate in the first event, I recommend watching the replay before participating in this follow-up event.

View video/discussion replay
Past

Operator Overloading in Python

📅

Ever wondered how to make == work on your objects? Ever wanted to make your own list/dict-like object?

Join this chat to learn how operator overloading can help make your Python objects feel more native.

During this chat we'll discuss:

  • what operators you can overload
  • why you would want to overload operators
  • when operator overloading is a good idea

View video/discussion replay
Past

Packing & Unpacking (* & **)

📅

Ever wondered about all the things you can do with * and ** in Python? There's a lot of uses for these prefix operators and I bet you don't know them all!

Python's packing and unpacking operators have been getting more flexible. Let's talk what could do with them in Python 2, what Python 3 supports, and what cool new features Python 3.5 added.

View video/discussion replay
Past

Lightning Talk Mentorship

📅

Unsure whether you're qualified to speak about anything?

Uncertain what you could possibly give a lightning talk about?

Not sure why you should care about giving a lightning talk?

Come to this lightning talk mentorship session and learn how to give your first lightning talk.

View video/discussion replay
Past

Live Code Review & Refactor

📅

Want to watch me review and refactor Python code for 60 minutes, live?

Want me to review your code? Want me to help refactor a little code?

If you're interested in partaking in a live code review, join this event!

View video/discussion replay
Past

Regex Workshop - Part 1

📅

How do regular expressions work and why are they so hard to read?

We’ll learn about using regular expressions for validating text and for searching within text. We’ll cover the basic regular expression syntax and how to use use regular expressions in Python in particular.

There will also be a follow-up webinar that I will announce to those who show up to this one!

View video/discussion replay