Past Meetings • Recent Topics

Thu, Aug 09 2018 at 06:00 PM at Sully's House

Mocking with MITM
(30 Minutes)
By: Quentin Bayart
Experience Level: Intermediate

Every developer (eventually) writes tests. Unit tests, Integration tests, End-to-end tests, Regression tests.. All of those tests are necessary but can become a nightmare when you need to refactor some code. I personally don't like the amount of time I spend to manually mock my dependencies / functions / objects. This talk is about a simple docker-compose / pytest / mitm setup which aims at speeding up the mocking process and the maintenance of those mocks when refactoring or when updating the interface of your services. Q&A: Many of you are dealing with this mocking process regularly so you can expect many comments / questions if you come to this talk :) Contact: Quentin Bayart, Software Engineer @ Nielsen A couple of days before the presentation, I will push my demo to my github so you should be able to find it there after the presentation.
Pandas MultiIndex Tutorial and Best Practices
(25 Minutes)
By: Zax
Experience Level: Novice

While Pandas is one of the most well known Python libraries for working with array-like data, many users limit themselves to just two dimensions of data. This talk will walk through Pandas' MultiIndex DataFrames, which extend traditional DataFrames by enabling effective storage and manipulation of arbitrarily high dimension data in a 2-dimensional tabular structure. ((If that sentence doesn't make sense yet, don't worry - it should by the end of the tutorial.)) While the displayed version of a multiindexed DataFrame doesn't appear to be much more than a prettily-organized regular DataFrame, it's actually a pretty powerful structure if the data warrants its use. This talk is beginner friendly, and will start from the assumption of having never used Pandas, though some Pandas experience will aid understanding.
Python Magic Methods
By: Nick Timkovich
Experience Level: Intermediate

Everything in Python is an object and nothing is special. Python's built-in objects can be added, called, indexed, or with'd, and with a little magic, so can yours! Use of magic methods, those prefixed/suffixed with double underscores, can increase the flexibility of your code while also making it shorter and simpler.
Interactive Introspection with `ls`
(5 Minutes)
By: Aly Sivji
Experience Level: Novice

Walkthrough of `python-ls`, a new utility that allows users to interactively introspect Python objects.
57 Python enthusiasts attended this meeting.

Thu, Jul 12 2018 at 06:00 PM at Telnyx

Data Classes in Python 3.7: Why and How do They Compare to Existing Solutions?
By: Brian Stempin, Yiu Ming Huynh
Experience Level: Intermediate

Python prides itself on being a language where “There should be one – and preferably only one – obvious way to do it” (PEP 20). One place where this isn’t really true is when it comes to the question of how to store data. There are several options: dictionaries, tuples, named tuples, vanilla Python classes, and Python classes decorated with the attrs library. PEP 557 adds a new way: Data classes. In this talk we will compare and contrast each approach, give listeners a way to figure out which one is best for their particular project, and share some performance metrics for those who are concerned with speed and memory footprints.
Python 3.7 Below the Fold: `mock.seal`
(5 Minutes)
By: Aly Sivji
Experience Level: Intermediate

`unittest.mock` provides a flexible implementation of mock objects we can use to write isolated unit tests. In this lightning talk, we will explore the new `mock.seal()` function that was added in Python 3.7.
Intro to SaltStack
By: Erik Johnson
Experience Level: Novice

SaltStack is open-source software for modern IT automation. The project was created in 2012 and today is used by tens of thousands of DevOps and enterprise IT organizations to automate the management of data center infrastructure and application environments. With its core remote-execution functionality, it is flexible enough to run shell commands, perform configuration management tasks, orchestration, and more. Erik Johnson, a SaltStack core developer and Chicago-area native, will demo the basics of how to get started using Salt, as well as how to use its powerful event bus for automation tasks.
177 Python enthusiasts attended this meeting.

Thu, Jun 14 2018 at 05:30 PM at TEKsystems

267 Python enthusiasts attended this meeting.

Thu, Apr 12 2018 at 06:00 PM at Blue Lacuna

A Robust Dev-to-Production Workflow for Home Use, Using Jupyter Notebooks and PyTest
(20 Minutes)
By: Leon Shernoff
Experience Level: Novice

Working on a substantial Python project at home can be confusing and frustrating. A work environment can suddenly impact the direction of a project in unexpected ways, because of the many stakeholders; but they usually have a robust process in place for actually doing the coding (otherwise nothing gets done). Implementing a solid and productive workflow routine at home can be a challenge, but it is of great benefit for complex projects. This talk uses a sample text-processing project to demonstrate a home workflow design featuring sandboxing in Jupyter notebooks, migration of working routines to project-specific modules and straight-ahead Python files, and writing unit tests for these in PyTest.
Calculating pi using Django and Solidity on the Ethereum Blockchain
(10 Minutes)
By: Joshua Herman
Experience Level: Intermediate
Slides Link
After giving a whirlwind tour of what Ethereum and Solidity are I will show how to use Django and Web3py to deploy a smart contract that performs division.
Going with the flow: Intro to Airflow
By: Matt Inwood
Experience Level: Intermediate

Airflow is a great open source resource for managing ETL, or any other scheduled jobs. We'll go over the DAG-Task-Script Hierarchy; job triggers, logging, and the web interface. I'll also talk about some best practices, and different caveats and gotchas that you can come across from my personal experience implementing it.
152 Python enthusiasts attended this meeting.

Thu, Mar 08 2018 at 06:00 PM at Metis

mitmproxy: Lift the veil on server-side HTTP(s) interaction
(15 Minutes)
By: Ross Heflin
Experience Level: Intermediate

When writing web frontends there's powerful tools for understanding backend calls made by a website (Network tab in Chrome, Firefox, Webkit'sm Dev Tools and HAR analyzers). These are (reasonably) great for figuring out what requests a browser is making to backend servers & what came back. When dealing with server-side code its somewhat harder to see all requests made to other systems in context of what requests came into the server-side api without instrumenting your code with lots of (often incomplete) logging. During the last 5 years, I've worked through many issues in various languages/frameworks and libraries, where the only common thread was (sometimes complex) communication with other systems over HTTP(S) by using mitmproxy. This talk will cover a variety of use cases, demonstrating some useful capabilities of this versatile tool with minimal (if any) changes to existing code regardless of source language, server-side framework, and HTTP client used.
Formatted strings in Python 3.6
(15 Minutes)
By: Phil Robare
Experience Level: Novice

3.6 has introduced a fourth way to format output from a Python program. PEP 498 introduced a new kind of string literals: f-strings, or formatted string literals. Formatted string literals are prefixed with 'f' and are similar to the format strings accepted by str.format(). They contain replacement fields surrounded by curly braces. The replacement fields are expressions, which are evaluated at run time, and then formatted using the format() protocol This talk will give a quick overview of syntax, usage, and possibly abuse of this new feature.
Introduction to Keras
(30 Minutes)
By: Chris Gruber
Experience Level: Intermediate

Keras is a popular framework for building neural networks in Python. Using Keras, a developer can define and train a neural network in just a few lines of code. Keras also includes a number of pre-built networks to build state-of-the-art models for language translation, image recognition, etc. This talk will consist of an overview of Keras and its features, and a demo in which we build and train a classifier for the MNIST hand-written digit dataset.
162 Python enthusiasts attended this meeting.