Skip to main content

The Python Error Steamroller

Project description

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():
    problem_solved

You can use fuckit as a class decorator, too.

@fuckit
class C(object):
    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.

Project details


Download files

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

Source Distributions

fuckit-1.0.1.zip (9.4 kB view details)

Uploaded Source

fuckit-1.0.0.zip (7.4 kB view details)

Uploaded Source

File details

Details for the file fuckit-1.0.1.zip.

File metadata

  • Download URL: fuckit-1.0.1.zip
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fuckit-1.0.1.zip
Algorithm Hash digest
SHA256 601be6b38b7fd9300b9954c036d25c6bc8c45dd8e11d47fbc027ebd6a35129f5
MD5 b04eb97a5c1699d8c0ba5281c60e572b
BLAKE2b-256 08a21fe1030ddfb8fda16a82c7977bfb497eb2b634d2091b1d243a3b16e722c0

See more details on using hashes here.

File details

Details for the file fuckit-1.0.0.zip.

File metadata

  • Download URL: fuckit-1.0.0.zip
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for fuckit-1.0.0.zip
Algorithm Hash digest
SHA256 d406759424bd6ac0eb9f23ce8ed9fbf026f562d76717d8786c1cf1ccd4d8a9c0
MD5 8b02f4e47bc6d08dbef245af1a1fae32
BLAKE2b-256 d4100036c7100f5b8e2a55a8cc610592b336529efeb594075e7808e836996e07

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page