Links ===== .. todo:: Sort these by topic and target audience * `Transforming Code into Beautiful, Idiomatic Python `__. **Raymond Hettinger**, reiterating his favorite phrase: "There must be a better way". (Hettinger is a "Python Core Developer".) .. raw:: html * `Python Tutorial: Duck Typing and Asking Forgiveness, Not Permission (EAFP) `__. **Corey Schafer** about *Duck Typing*, and the word *Pythonic*. Corey Schafer has a number of very good Tutorials; he manages to keep those short and to the point, and rarely exceeds 15 minutes. .. raw:: html * `Python Tutorial: Unit Testing Your Code with the unittest Module `__. Our project was guided by unit tests; here's **Corey Schafer** about the ``unittest`` module. .. raw:: html * `Python Tutorial: Decorators - Dynamically Alter The Functionality Of Your Functions `__. **Corey Schafer** about decorators. Mine was better :-) .. raw:: html * `Built in Super Heroes `__. **David Beazley** in an entertaining keynote to the "PyData Chicago 2016" conference. He has a number of very good and entertaining (and very advanced) videos. You have to spend an entire evening with him though. .. raw:: html * `Concurrency `__: **Raymond Hettinger** covering most if not all aspects and possiblities of concurrency. Very informative, very concise, covering * Multithreading * Multiprocessing * Async; I didn't even mention that. `asyncio `__. Me big fan. .. raw:: html * `Understanding the Python GIL `__: **David Beazley** dissecting the Global Interpreter Lock, explaining why multiprocessing is better. At around minute 45, in the questions/answers, there a mention that using NumPy operations in multiple threads is *truly parallel*. .. raw:: html * `Modules and Packages `__. **David Beazley** has a three hour (!) *really cool and in-depth* look into the seemingly simple ``import`` mechanism. .. raw:: html * `Virtual Environments Tutorial `__: **Corey Schafer** again. Virtual environments are kind of an isolated development sandbox, solving a similar problem as containers do, but much more lightweight and Python only. .. raw:: html * `Packaging, Deployment, PyPI, and pip `__: **Chris Wilcox** (of Google) talking about packaging and deployment, and related topics .. raw:: html * `Generators: The Final Frontier `__: **David Beazley**, again a bit (a whopping four hours) more precise on that topic. .. raw:: html * `NumPy Tutorial `__: **Keith Galli** has a number of good **data science** tutorials. .. raw:: html