Continued from day 1 and day 2.

Share Your Code! Python Packaging Without Complication (by @tylerdave)

Authoritatively describes best practices in Python packages.

Asynchronous Python for the Complete Beginner (by @miguelgrinberg)

  • Video
  • Concurrent programming analogy: an exhibition chess match
  • Ways to suspend: callbacks, generators, async/await (Py3 only), greenlets (eventlet, gevent)
  • CPU-heavy tasks should release CPU by sleeping periodically
  • You may not use blocking standard library functions in async code
  • Main async advantage over threads or processes: scaling (thousands vs ones/tens/hundreds)

Building Stream Processing Applications (by Amit Ramesh and Qui Nguyen)

  • Video
  • Data processing: batch vs stream
  • Kafka, Spark Streaming, Cassandra
  • Describes how to put together a big data stream processing pipeline
  • Handling failures: idempotency, consistency (every read sees a current view of the data) vs scalability (capacity to serve requests)

Kubernetes for Pythonistas (by @kelseyhightower)

An awesome talk with a really cool demo.

devops = group therapy for sysadmins