diff --git a/ipykernel/codeutil.py b/ipykernel/codeutil.py deleted file mode 100644 index 08212a068..000000000 --- a/ipykernel/codeutil.py +++ /dev/null @@ -1,38 +0,0 @@ -"""Utilities to enable code objects to be pickled. - -Any process that import this module will be able to pickle code objects. This -includes the func_code attribute of any function. Once unpickled, new -functions can be built using new.function(code, globals()). Eventually -we need to automate all of this so that functions themselves can be pickled. - -Reference: A. Tremols, P Cogolo, "Python Cookbook," p 302-305 -""" - -# Copyright (c) IPython Development Team. -# Distributed under the terms of the Modified BSD License. - -import warnings -warnings.warn("ipykernel.codeutil is deprecated since IPykernel 4.3.1. It has moved to ipyparallel.serialize", - DeprecationWarning, - stacklevel=2 -) - -import copyreg -import sys -import types - -def code_ctor(*args): - return types.CodeType(*args) - -def reduce_code(co): - args = [co.co_argcount, co.co_nlocals, co.co_stacksize, - co.co_flags, co.co_code, co.co_consts, co.co_names, - co.co_varnames, co.co_filename, co.co_name, co.co_firstlineno, - co.co_lnotab, co.co_freevars, co.co_cellvars] - if sys.version_info[0] >= 3: - args.insert(1, co.co_kwonlyargcount) - if sys.version_info > (3, 8, 0, 'alpha', 3): - args.insert(1, co.co_posonlyargcount) - return code_ctor, tuple(args) - -copyreg.pickle(types.CodeType, reduce_code) diff --git a/ipykernel/pickleutil.py b/ipykernel/pickleutil.py index 281b8f9ea..a2f3da11b 100644 --- a/ipykernel/pickleutil.py +++ b/ipykernel/pickleutil.py @@ -18,12 +18,7 @@ from ipython_genutils.py3compat import buffer_to_bytes # This registers a hook when it's imported -try: - # available since ipyparallel 5.1.1 - from ipyparallel.serialize import codeutil -except ImportError: - # Deprecated since ipykernel 4.3.1 - from ipykernel import codeutil +from ipyparallel.serialize import codeutil from traitlets.log import get_logger diff --git a/ipykernel/tests/test_serialize.py b/ipykernel/tests/test_serialize.py index 849f7208b..bee3a2641 100644 --- a/ipykernel/tests/test_serialize.py +++ b/ipykernel/tests/test_serialize.py @@ -6,9 +6,9 @@ import pickle from collections import namedtuple -from ipykernel.serialize import serialize_object, deserialize_object +from ipyparallel.serialize import serialize_object, deserialize_object from IPython.testing import decorators as dec -from ipykernel.pickleutil import CannedArray, CannedClass, interactive +from ipyparallel.serialize.canning import CannedArray, CannedClass, interactive def roundtrip(obj): diff --git a/setup.py b/setup.py index f906aedbf..272cb043d 100644 --- a/setup.py +++ b/setup.py @@ -84,12 +84,13 @@ def run(self): 'appnope;platform_system=="Darwin"', ], extras_require={ - 'test': [ - 'pytest !=5.3.4', - 'pytest-cov', - 'flaky', - 'nose', # nose because there are still a few nose.tools imports hanging around - 'jedi<=0.17.2' + "test": [ + "pytest !=5.3.4", + "pytest-cov", + "flaky", + "nose", # nose because there are still a few nose.tools imports hanging around + "jedi<=0.17.2", + "ipyparallel", ], }, classifiers=[