Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

The Python Error Steamroller

Project Description

The Python Error Steamroller uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not. Some code has an error? Fuck it.

Technology uses a combination of dynamic compilation, Abstract Syntax Tree rewriting, live call stack modification, and love to get rid of all those pesky errors that make programming so hard.


All functionality is provided through the fuckit module. Add import fuckit to the top of your script, then use fuckit in any of the following ways:

As a replacement for import

Use fuckit to replace an import when a module has errors. Just change import some_shitty_module to fuckit('some_shitty_module'). Note that you have to surround the module name with quotes and parentheses.

import fuckit
#import some_shitty_module

Still getting errors? Chain fuckit calls. This module is like violence: if it doesn’t work, you just need more of it.

import fuckit
# This is definitely going to run now.

As a decorator

Use fuckit as a function decorator when a single function is giving your trouble. Exceptions will be silenced, and in most cases the function will continue to run, skipping the statements that cause errors.

def func():

You can use fuckit as a class decorator, too.

class C(object):
    def __init__(self):

Keep in mind that the decorator form of fuckit can’t stop syntax errors. For those, you have to use the import form.

As a context manager

Use fuckit as a context manager to save yourself from having to type out try/except block to silence exceptions yourself.

with fuckit:

This is functionally equivalent to the following:

except Exception:

The context manager form of fuckit can’t allow the code to continue past an error like the decorator and import forms can. If you want the code to continue after an exception, wrap the code block in a function and use the decorator instead.

Release History

This version
History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(9.6 kB) Copy SHA256 Hash SHA256
Source None May 13, 2014

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers DreamHost DreamHost Log Hosting