Index
A
- Alembic
- about / Alembic
- application, setting up
- about / Setting up the application
- models, declaring / Declaring our models
- OAuth in views, handling / Handling OAuth in our views
- recipes, creating / Creating recipes
- recipes, posting to Twitter and Facebook / Posting recipes to Twitter and Facebook
- SQLAlchemy events / SQLAlchemy events
- common friends, finding / Finding common friends
- application factories
- about / Application factories
- application context / The application context
- app object, instantiating / Instantiating an app object
- application factory
- about / The application factory
- approaches
- Fan-out on Write / Social features – friends and followers
- Fan-out on Read / Social features – friends and followers
- Nan the world), but / Social features – friends and followers
B
- Blinker
- publish/subscribe events, using with / Publish/subscribe events with Blinker
- signals, from extensions / Signals from Flask and extensions
- signals, from Flask / Signals from Flask and extensions
- custom signals, creating / Creating custom signals
- Blueprint
- about / Starting off
C
- command-line interface (CLI) / From module to package
- Cross-Site Request Forgery (CSRF) / Flask-WTF – form validation and rendering
D
- database
- migrations / Interlude – database migrations
- data mapper / Declarative mapping and Flask-SQLAlchemy
- data model, Snap application
- about / The data model for snaps
- user_id attribute / The data model for snaps
- created_on attribute / The data model for snaps
- hash_key attribute / The data model for snaps
- content attribute / The data model for snaps
- extension attribute / The data model for snaps
- name attribute / The data model for snaps
- user attribute / The data model for snaps
- content-sensitive default functions, using / Better defaults with content-sensitive default functions
- dependency hell
- avoiding / Avoiding dependency hell, the Python way
- dunder
- about / Starting off
E
- exceptions
- handling / Graceful handling of exceptions
F
- Flask
- extensions / Flask extensions – the basics
- extensions, uses / When should an extension be used?
- extensions, GitHubber / Our extension – GitHubber
- Flask-RESTful
- APIs with / Simple APIs with Flask-RESTful
- password handling, with hybrid attributes / Improved password handling with hybrid attributes
- API authentication / API authentication
- authentication, protocols / Authentication protocols
- users, getting / Getting users
- new users, creating / Creating new users
- input validation / Input validation
- API testing / API testing
- Flask-Script commands
- across Blueprints / The Flask-Script commands across Blueprints
- submanagers / Submanagers
- arguments, required / The required and optional arguments
- arguments, optional / The required and optional arguments
- Flask-Script submanager
- about / Submanagers
- Flask-SQLAlchemy
- about / Flask-SQLAlchemy
- configuring / Configuring Flask-SQLAlchemy
- basics / SQLAlchemy basics
- benefits / SQLAlchemy basics
- declarative mapping / Declarative mapping and Flask-SQLAlchemy
- snap data models / Snap data models
- Flask-WTF
- URL / Flask-WTF – form validation and rendering
- about / Flask-WTF – form validation and rendering
- user passwords, hashing / Hashing user passwords
- application SECRET_KEY, configuring / Configure an application SECRET_KEY
- blueprint, hooking up / Hook up the blueprint
- Flask application structure
- about / Your first Flask application structure
- from module, to package / From module to package
- from package to blueprint / From package to blueprint
- blueprint / Our first blueprint
- Flask documentation
- functional testing
- and unit testing / Unit and functional testing
- and integration testing / Functional and integration testing
- about / Functional testing
I
- integration testing
- and functional testing / Functional and integration testing
- Internet Engineering Task Force (IETF) / Terminology
M
- manage.py file
- about / The manage.py file
- built-in default commands / The built-in default commands
- marshalling
- about / Fetching the user's photos
- Model class / Declarative mapping and Flask-SQLAlchemy
N
- newsfeed / Your newsfeed
- newsfeed-like service
- implementing / Social features – friends and followers
O
- OAuth
- about / First OAuth
- advantages / Why use OAuth?
- consumer / Terminology
- provider / Terminology
- resource owner / Terminology
- access token(s) / Terminology
- authorization server / Terminology
- flow type / Terminology
- OAuth 1.0
- about / So what's wrong with OAuth 1.0?
P
- packages
- adding, to virtual environment / Adding packages to an existing environment
- uninstalling, from testing environment / Uninstalling packages from an existing environment
- Photo Stream API
- about / Starting off
- application factory / The application factory
- pip
- about / Setuptools and pip
- publish/subscribe events
- using, with Blinker / Publish/subscribe events with Blinker
- publishers / Publish/subscribe events with Blinker
S
- setuptools
- about / Setuptools and pip
- Shutterbug
- photos, uploading / Back to Shutterbug – uploading photos
- fie uploads, in distributed systems / File uploads in distributed systems
- photo uploads, testing / Testing the photo uploads
- users photos, fetching / Fetching the user's photos
- signals, Flask
- request_started / Signals from Flask and extensions
- request_finished / Signals from Flask and extensions
- signals, Flask-Login
- user_logged_in / Signals from Flask and extensions
- user_logged_out / Signals from Flask and extensions
- user_unauthorized / Signals from Flask and extensions
- signals, Flask-SQLAlchemy extension
- models_committed / Signals from Flask and extensions
- before_models_committed / Signals from Flask and extensions
- Snap application
- building / Getting started
- Flask-Login, for authentication / Flask-Login and Flask-Bcrypt for authentication
- Flask-Bcrypt, for authentication / Flask-Login and Flask-Bcrypt for authentication
- running / Let's run this thing
- data model / The data model for snaps
- view handlers / Snap view handlers
- Socializer
- starting with / Starting off
- application factories / Application factories
- SQLAlchemy events / SQLAlchemy events
T
- testing environment
- packages, uninstalling from / Uninstalling packages from an existing environment
- three-legged authorization
- about / Three-legged authorization
U
- unit testing
- and functional testing / Unit and functional testing
V
- version control system (VCS) / Simplifying common operations – using the virtualenvwrapper tool
- virtualenv
- working with / Working with virtualenv
- virtual environment
- creating / Creating a new virtual environment
- deactivating / Activating and deactivating virtual environments
- activating / Activating and deactivating virtual environments
- packages, adding to / Adding packages to an existing environment
- virtualenvwrapper tool
- used, for simplifying common operations / Simplifying common operations – using the virtualenvwrapper tool
W
- Werkzeug
- about / Interlude – Werkzeug
- middlewares / Interlude – Werkzeug middlewares