Full Stack Python Matthew Makai
Full Stack Python Matthew Makai
Full Stack Python Matthew Makai
Table of Contents
1. Introduction........................................ 8
1.1 Learning Programming............................ 8
The Python Language............................ 12
Why Use Python?................................ 16
Python 2 or 3?................................. 19
Enterprise Python.............................. 23
1.2 Python Community............................... 27
Companies Using Python......................... 31
Best Python Resources.......................... 34
Must-watch Python Videos....................... 39
Podcasts....................................... 42
2. Development Environments........................... 48
2.1 Text Editors and IDEs.......................... 51
Vim............................................ 55
Emacs.......................................... 61
Sublime Text................................... 65
PyCharm........................................ 69
Jupyter Notebook............................... 70
2.2 Shells......................................... 74
Bourne-again shell (Bash)...................... 75
Zsh............................................ 77
PowerShell..................................... 78
2.3 Terminal multiplexers.......................... 79
tmux........................................... 81
Screen......................................... 82
2.4 Environment configuration...................... 83
Application dependencies....................... 84
virtual environments (virtualenvs)............. 90
Localhost tunnels.............................. 91
2.5 Source Control................................. 91
Git............................................ 97
Mercurial..................................... 103
3. Data.............................................. 105
3.1 Relational databases.......................... 108
2
Full Stack Python: April 2019 Edition
PostgreSQL.................................... 114
MySQL......................................... 120
SQLite........................................ 124
3.2 Object-relational mappers..................... 128
SQLAlchemy.................................... 135
Peewee........................................ 140
Django ORM.................................... 143
Pony ORM...................................... 146
3.3 NoSQL......................................... 147
Redis......................................... 152
MongoDB....................................... 155
Apache Cassandra.............................. 158
Neo4j......................................... 162
3.4 Data analysis................................. 163
pandas........................................ 166
SciPy & NumPy................................. 168
3.5 Data visualization............................ 171
Bokeh......................................... 173
d3.js......................................... 176
Matplotlib.................................... 178
3.6 Markup Languages.............................. 179
Markdown...................................... 180
reStructuredText.............................. 182
4. Web Development................................... 184
4.1 Web Frameworks................................ 187
Django........................................ 191
Flask......................................... 199
Bottle........................................ 206
Pyramid....................................... 209
Falcon........................................ 214
Morepath...................................... 215
Sanic......................................... 217
Other web frameworks.......................... 219
4.2 Template Engines.............................. 221
Jinja2........................................ 225
Mako.......................................... 227
3
Full Stack Python: April 2019 Edition
4
Full Stack Python: April 2019 Edition
5
Full Stack Python: April 2019 Edition
Jenkins....................................... 377
GoCD
5.8 Configuration management...................... 379
Ansible....................................... 381
Salt
5.9 Containers.................................... 383
Docker........................................ 385
Kubernetes.................................... 389
5.10 Serverless Architectures..................... 391
AWS Lambda................................... 396
Azure Functions.............................. 399
Google Cloud Functions....................... 400
6. DevOps............................................ 403
6.1 Monitoring.................................... 405
Prometheus.................................... 409
Rollbar....................................... 410
Sentry
Scout
6.2 Web App Performance........................... 410
Logging....................................... 413
Caching....................................... 412
Web Analytics................................. 417
7. Meta
About the author.................................. 422
What "full stack" means........................... 422