diff options
Diffstat (limited to 'PKG-INFO')
-rw-r--r-- | PKG-INFO | 47 |
1 files changed, 40 insertions, 7 deletions
@@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: tblib -Version: 1.3.0 +Version: 1.3.1 Summary: Traceback serialization library. Home-page: https://github.com/ionelmc/python-tblib Author: Ionel Cristian Mărieș @@ -18,10 +18,15 @@ Description: ======== It allows you to: - * Pickle tracebacks and raise exceptions with pickled tracebacks in different processes. - This allows better error handling when running code over multiple processes (imagine multiprocessing, billiard, futures, - celery etc). - * Parse traceback strings and raise with the parsed tracebacks. + * `Pickle <https://docs.python.org/3/library/pickle.html>`_ tracebacks and raise exceptions + with pickled tracebacks in different processes. This allows better error handling when running + code over multiple processes (imagine multiprocessing, billiard, futures, celery etc). + * Create traceback objects from strings (the ``from_string`` method). *No pickling is used*. + * Serialize tracebacks to/from plain dicts (the ``from_dict`` and ``to_dict`` methods). *No pickling is used*. + * Raise the tracebacks created from the aforementioned sources. + + **Again, note that using the pickle support is completely optional. You are solely responsible for + security problems should you decide to use the pickle support.** Installation ============ @@ -232,6 +237,28 @@ Description: ======== raise Exception("boom!") Exception: boom! + Or a traceback that's caused by exceeding the recursion limit (here we're + forcing the type and value to have consistency across platforms):: + + >>> def f(): f() + >>> try: + ... f() + ... except RuntimeError: + ... et, ev, tb = sys.exc_info() + ... tb = Traceback(tb) + ... + >>> reraise(RuntimeError, RuntimeError("maximum recursion depth exceeded"), tb.as_traceback()) + Traceback (most recent call last): + ... + File "<doctest README.rst[32]>", line 1, in f + def f(): f() + File "<doctest README.rst[32]>", line 1, in f + def f(): f() + File "<doctest README.rst[32]>", line 1, in f + def f(): f() + ... + RuntimeError: maximum recursion depth exceeded + Reference ~~~~~~~~~ @@ -278,7 +305,7 @@ Description: ======== ... tb = Traceback(tb) ... tb_dict = tb.to_dict() ... pprint(tb_dict) - {'tb_frame': {'f_code': {'co_filename': '<doctest README.rst[37]>', + {'tb_frame': {'f_code': {'co_filename': '<doctest README.rst[...]>', 'co_name': '<module>'}, 'f_globals': {'__name__': '__main__'}}, 'tb_lineno': 2, @@ -532,6 +559,12 @@ Description: ======== Changelog ========= + 1.3.1 (2017-03-27) + ~~~~~~~~~~~~~~~~~~ + + * Fixed handling for tracebacks due to exceeding the recursion limit. + Fixes `#15 <https://github.com/ionelmc/python-tblib/issues/15>`_. + 1.3.0 (2016-03-08) ~~~~~~~~~~~~~~~~~~ @@ -564,12 +597,12 @@ Classifier: Operating System :: Unix Classifier: Operating System :: POSIX Classifier: Operating System :: Microsoft :: Windows Classifier: Programming Language :: Python -Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: 3.4 Classifier: Programming Language :: Python :: 3.5 +Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Utilities |