python versions
project directory
version numbering
coding styles
intro
import system
standard libraries - essential modules
atexit, argparse, bisect, calendar, codecs, collections, copy, csv, datetime, fnmatch, glob, io, json, logging, multiprocessing, operator, os, random, re, select, shutil, signal, threading, tempfile, urllib, uuid
intro
Sphinx and reST
Sphinx modules
Sphinx extensions
history
packaging with
pbr
wheel format
package installation
sharing your work
Nick Coghlan
why fragmented package ecosystem?
setuptools tips & hints
PEP 426
wheels & standard library
entry points
basics
fixtures
mocking
scenario data
test streaming & parallelism
coverage
virtualenv setups with
tox
policy aka best practices
Robert Collins
preferred testing policy?
python code for testability?
unit test organization?
tools
future trends
creating decorators
how methods work
static methods
class methods
abstract methods
mixing static, class & abstract methods
super
intro
generators
list comprehensions
functions
map(func,iterable)
filter(func|none,iterable)
enumerate(iterable,start)
sorted,all,any(iterable)
zip(iterable...)
first
functools.partial
itertools module
chain()
combinations()
compress()
count()
cycle()
dropwhile()
groupby()
permutations()
product()
takewhile()
Hy programming language
Paul Tagliamonte
why create Hy?
tips & tricks
status & goals
Python interoperability? packaging?
pros & cons
data structures
profiling
ordered lists & bisecting
namedtuples & slots
memoization (caching results)
PyPy
achieving zero copy with the buffer protocol
Victor Skinner
optimization starting points
preferred tools
performance tricks
poor performance area
common mistakes
multithreading & Global Interpreter Lock (GIL)
multiprocessing vs multithreading
async & event-driven architectures
service-style architectures
SQL vs RDBMS - the object-relational impedance mismatch
streaming - Flask & PostgresQL
RDBMS concepts
PostgresQL pros & cons
standard library
external libraries
using six
single dispatcher
context managers