Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython

fuckit is unavailable in PyPM, because there aren't any builds for it in the package repositories. Click the linked icons to find out why.

 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
Windows (64-bit)
Mac OS X (10.5+)
Linux (32-bit)
1.0.0 Failed View build log
Linux (64-bit)
1.0.0 Failed View build log
 
Links
Author
License
WTFPL
Dependencies
Lastest release
version 1.0.0 on Aug 26th, 2013

#FuckIt.py [![Build Status](https://travis-ci.org/ajalt/fuckitpy.png)](https://travis-ci.org/ajalt/fuckitpy) ### The Python Error Steamroller FuckIt.py 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 FuckIt.py 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_.

## API 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 parenthesis.

import fuckit #import some_shitty_module fuckit('some_shitty_module') some_shitty_module.some_function()

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

from fuckit import fuckit fuckit(fuckit('some_shitty_module')) # This is definitely going run now. some_shitty_module.some_function()

### 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.

@fuckit def func():

System Message: ERROR/3 (<string>, line 34)

Unexpected indentation.
problem_solved

You can use fuckit as a class decorator, too.

@fuckit class C(object):

System Message: ERROR/3 (<string>, line 40)

Unexpected indentation.
def __init__(self):
everything_works_now

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:
some_code

This is functionally equivalent to the following:

try:
some_code
except Exception:
pass

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.

##License
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004

Copyright (C) 2013

Everyone is permitted to copy and distribute verbatim or modified copies of this license document, and changing it is allowed as long as the name is changed.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE

System Message: WARNING/2 (<string>, line 73)

Block quote ends without a blank line; unexpected unindent.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  1. You just DO WHAT THE FUCK YOU WANT TO.

## Attribution

This module is inspired by Matt Diamond's [FuckIt.js](https://github.com/mattdiamond/fuckitjs).

Docutils System Messages

System Message: ERROR/3 (<string>, line 7); backlink

Unknown target name: "hard".

Subscribe to package updates

Last updated Aug 26th, 2013

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.