Skip to main content

Flask-Failsafe

A failsafe for the Flask reloader.

https://travis-ci.org/mgood/flask-failsafe.png

The Flask reloader works great until you make a syntax error and it fails importing your app. This extension helps keep you working smoothly by catching errors during the initialization of your app, and provides a failsafe fallback app to display those startup errors instead.

To use it, run your app via a small script script with a factory function to initialize your app:

from flask_failsafe import failsafe

@failsafe
def create_app():
  # note that the import is *inside* this function so that we can catch
  # errors that happen at import time
  from myapp import app
  return app

if __name__ == "__main__":
  create_app().run()

The @failsafe decorator catches any errors calling create_app() and returns a fallback app that will instead display the Flask error debugger.

If you use Flask-Script, you can pass the same @failsafe-decorated factory function to the Manager() class:

from flask.ext.script import Manager, Server
from flask_failsafe import failsafe

@failsafe
def create_app():
  from myapp import app
  return app

manager = Manager(create_app)
manager.add_command("runserver", Server())

if __name__ == "__main__":
  manager.run()

Changes

0.2 (2014-01-03)

Python 3 support (thanks to Asger Drewsen for the help)

0.1 (2012-09-14)

Initial release

Release files for Flask-Failsafe 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Flask-Failsafe 0.2
File Size Uploaded
Flask-Failsafe-0.2.tar.gz 2.9 kB Details

Release files / Flask-Failsafe-0.2.tar.gz

Download URL Flask-Failsafe-0.2.tar.gz
Size 2.9 kB
Tags Source
SHA-256 checksum
How to use checksums
10df61daaad241b5970504acb98fb26375049fe1adaf23f28bc9e257c28f768b
BLAKE2b-256 checksum
How to use checksums
76d8d968f17fcca8b9e006ff537ae25b10293c906fbaf15d14a222affcc19cc3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2 This release

1 release file

0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page