Home ¦ Posts ¦ Books ¦ Articles ¦ Talks ¦ Notes

PyCon US 2018 - Main conference

Keynote: Dan Callahan


  • Platform detected the tool
  • Rust -> WASM -> Web
  • Rust -> DLL -> Python
  • The Birth and Death of Javascript, Gary Berhardt

Thinking Outside the GIL with AsyncIO and Multiprocessing

Talk overview



  • Thread pool for I/O
  • Underutilized CPU
  • Memory usage

Py3 switch:

  • ~45% memory savings
  • 20% runtime reduction


  • CPU scaling
  • CPU utilization
  • Automatic IPC
  • Pool.map is really useful
  • One task per processor
  • Memory duplication (gc)


  • Based on futures
  • Faster than threads
  • Massive I/O concurrency
  • Still relyin on one process
  • Process still limited by GIL

Ideally: Asyncio + multiprocessing

  • Event loop per process
  • Queues for work/results
  • asyncio.wait


  • Minimize what you pickle
  • Prechunk work items
  • Aggregate results in the child
  • Use map/reduce


Great tools make complex tasks simple

The AST and Me

Talk overview

Friday 3:15 p.m.–4 p.m. in Grand Ballroom B


Trio: Async concurrency for mere mortals

Talk overview

Love your bugs

Talk overview

  • Bitflips are real
  • Server side gating and feature flags
  • Debugging requires a growth mindset

Elegant Solutions For Everyday Python Problems

Friday 5:10 p.m.–5:40 p.m. in Room 26A/B/C

Talk overview


Inside the Cheeseshop: How Python Packaging Works

Talk overview


Dataclasses: The code generator to end all code generators

Talk overview

Saturday 3:15 p.m.–4 p.m. in Grand Ballroom C


© Amit Saha. Built using Pelican. Customised theme based on the one by Giulio Fidente on github.