Funded! This project was successfully funded on July 18, 2013.

Photo-main
Play
00:00
00:00

A book of practical advice to help you build professional-grade applications with Flask.

Stretch goals

  • $2,100 ✓ - The initial goal was passed in just 36 hours! With the money from the initial goal I'll be able to pay for an awesome cover design and the miscellaneous expenses associated with publishing (sample prints, ISBNs, etc). Thank you all for getting us here!
  • $5,000 ✓- If we hit this mark, the book will have a strong visual identity. This means illustrations all throughout the book, in addition to a well designed website, logos, and maybe even some merchandise. All of these things combine to make the reading experience a lot more fun.
  • $10,000 - The book will be freely available online as good old HTML if we make it to this milestone!

Bonus reward

Anyone who pledges $20 or more will also receive custom stickers for your laptop, or whatever else you'd like to stick them on!

Flask is awesome!

Flask is a microframework for building web applications in Python. Flask is small enough to stay out of the way when you're trying to build your website, but powerful enough for any need. Even though Flask itself is small, its ecosystem of extensions keeps it functioning at the level of larger frameworks like Django or Ruby on Rails. This combination makes Flask an excellent choice for developers of all shapes and sizes.


The community needs a book.

The only real dedicated learning resource for Flask is the user guide. Go check it out to see how easy it is to build web apps with Flask. That's a great introduction to the framework, but it's not enough for real projects. In the end, you spend hours upon hours researching the best way to handle registration, authentication, email confirmation, and a million other little things. Most of these little things aren't documented or easy to find, potentially slowing the pace of Flask development. The experts know this stuff already, but finding them takes time and an understanding of what sort of questions need to be asked.

This is why I'm compiling this hidden knowledge into a book of tips, tricks, and best practices into one book: Practical Flask.

This book is for you.

The book is written for developers who have gone through the Flask user guide. It will assume some very basic knowledge of the framework, but it's nothing that can't be gained in a day or two. If you're interested in web development with Python, you have something to gain by backing this project.

Fun fact #1: I'm available to answer questions on Twitter @__rlp and via email at mail@robert.io.

You can make it awesome (like Flask).

I can write the book, but I need some support to turn the content into something bigger. By pledging, you're helping to take this book to the next level by funding:

  • Cover design
  • Illustration
  • Editing (both technical and grammatical)
  • Web design
  • ISBN
  • My own expenses (like coffee for the late night writing sessions and food for ... living)
  • Misc. fun stuff - If all of the other expenses are covered I'm sure we can think of some fun ways to put the surplus to good use.

Fun fact #2: The name of every backer will be listed on the website, along with their reward level!

I'm the man for the job.

I'm a student at the University of North Florida and I've been a software intern at DuckDuckGo for the last year and a half. I've been learning web development for several years. When it comes to Flask, I've built a few apps, and spent many frustrating hours trying to learn the best practices and patterns for those apps. I'm really passionate about Flask and eager to share the knowledge that I have (and what I acquire through heavy research). I don't claim to be an expert on Flask, but I've found the experts and I'm talking to them.

Some of the developers I'm consulting with to inform the content of the book include Flask creator Armin Ronacher, Balanced Co-founder and CTO Mahmoud Abdelkader, and Happify Co-founder and CTO Andy Parsons. Here is the up-to-date list of developers I've sat down and talked with so far:

  • Mahmoud Abdelkader - CTO and Co-founder of Balanced, uses Flask to facilitate payments for businesses and marketplaces.
  • Mark Harviston - Working at Elsevier, uses to build an application for researchers to log data about moon rocks.
  • Glenn Yonemitsu - Founder of MarkupHive, a site that hosts sites built with Jade, CoffeeScript, Stylus, and more. The service's SDK uses Flask to dynamically generate applications from user configuration.
  • Andy Parsons - CTO and Co-founder of Happify, uses Flask to build and serve Happify's client-heavy web app.
  • Oleg Lavrovsky - Working with Apps with love, uses Flask to back an iPhone application to let residents of Bern, Switzerland access library catalogs.
  • Joel Anderson - CEO and Founder of Cloudmancer, uses Flask to build an application that interfaces with a variety of cloud service provider APIs to let their uses manage them in one place.

I have several more discussions lined up for the near future. In the end, I expect to have consulted with over a dozen professional Flask developers to inform the content of the book.

This is a rough list of topics that I plan on talking about:

  • Coding conventions
  • Documentation conventions
  • Working with virtualenv and virtualenvwrapper
  • Organizing your project
  • Packages versus modules
  • Testing
  • Configuration
  • Using plugins
  • Blueprint patterns
  • Best practices for views
  • Best practices for templates
  • Managing static files
  • Using Flask-Assets
  • Best practices for models
  • Database migrations with Alembic
  • Common patterns for forms
  • User registration
  • Transactional emails
  • Using Celery
  • Email address confirmation
  • Using dynamic subdomains
  • User authentication
  • Logging
  • Creating a JSON API
  • Administrating your app
  • Accepting payments
  • Debugging
  • Deployment
  • - Heroku
  • - EC2
  • - Google App Engine
  • A/B Testing a Flask app
  • Maintaining the codebase
  • Client-heavy applications
  • Python 3 and Flask
  • Security best practices

Risks and challenges Learn about accountability on Kickstarter

There is also the potential for problems with finding a good printer. Right now I'm looking at CreateSpace as the top candidate, but I'll have to check a sample of the print when the time comes. In any case, there are a number of other options and I'm sure one will work well.

FAQ

426
Backers
$8,175
pledged of $2,100 goal
0
seconds to go
Me-smaller.medium
  • First created · 0 backed
  • Has not connected Facebook

See full bio

  • Pledge $10 or more
    You selected

    326 backers

    EFFICIENCY: PDF copy of the final book.

    Estimated delivery:
  • Pledge $20 or more
    You selected

    26 backers

    SUPPORTER: PDF copy of the final book. Receive a signed cover postcard in the mail.

    Estimated delivery:
  • Pledge $35 or more
    You selected

    45 backers

    PAGE TURNER: PDF copy of the final book. Signed cover postcard. Get a physical copy of the final book.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $50 or more
    You selected

    15 backers

    TRUE FAN: PDF copy of the final book. Signed cover postcard. Name listed in the e-book. Get a physical copy of the final book, signed by the author.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $100 or more
    You selected

    6 backers

    SECRET AGENT: PDF copy of the final book. Signed cover postcard. Name listed in the e-book. Physical copy of the final book, signed by the author. Find your name encoded in the book's text.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $250 or more
    You selected

    0 backers

    DECISION MAKER: You'll get the previous rewards PLUS: Choose a topic to be covered as a chapter in the book and find your name encoded in that chapter. You'll also get an extra copy of the book to send to a friend.

    Estimated delivery:
    Add $20 USD to ship outside the US
  • Pledge $500 or more
    You selected

    1 backer

    HERO: Have your name listed prominently as "patron" on the website, the e-book, and in print. If you're pledging on behalf of a company, we can use your logo. Take your pick of the previous rewards. Be my hero.

    Estimated delivery:
    Add $20 USD to ship outside the US
Funding period

- (30 days)