Hello community,
here is the log from the commit of package python-zict for openSUSE:Leap:15.2 checked in at 2020-05-31 18:19:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-zict (Old)
and /work/SRC/openSUSE:Leap:15.2/.python-zict.new.3606 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-zict"
Sun May 31 18:19:08 2020 rev:14 rq: version:1.0.0
Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/python-zict/python-zict.changes 2020-03-20 05:15:17.418563514 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.python-zict.new.3606/python-zict.changes 2020-05-31 18:19:09.212928391 +0200
@@ -2,12 +1,0 @@
-Mon Mar 9 10:51:00 UTC 2020 - pgajdos@suse.com
-
-- version update to 2.0.0
- * Create CONTRIBUTING.md (:pr:`28`) Jacob Tomlinson
- * Import ABC from collections.abc instead of collections for Python 3.9 compatibility (:pr:`31`) Karthikeyan Singaravelan
- * Drop Python 2 / 3.5 and add Python 3.7 / 3.8 support (:pr:`34`) James Bourbeau
- * Duplicate keys fast slow (:pr:`32`) fjetter
- * Fix dask cuda worker's race condition failure (:pr:`33`) Pradipta Ghosh
- * Changed default lmdb encoding to utf-8 (:pr:`36`) Alex Davies
- * Add code linting and style check (:pr:`35`) James Bourbeau
-
--------------------------------------------------------------------
Old:
----
zict-2.0.0.tar.gz
New:
----
zict-1.0.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-zict.spec ++++++
--- /var/tmp/diff_new_pack.3yMsTL/_old 2020-05-31 18:19:09.632929683 +0200
+++ /var/tmp/diff_new_pack.3yMsTL/_new 2020-05-31 18:19:09.636929696 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-zict
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,8 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%define skip_python2 1
Name: python-zict
-Version: 2.0.0
+Version: 1.0.0
Release: 0
Summary: Mutable mapping tools
License: BSD-3-Clause
++++++ zict-2.0.0.tar.gz -> zict-1.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/PKG-INFO new/zict-1.0.0/PKG-INFO
--- old/zict-2.0.0/PKG-INFO 2020-02-28 16:22:17.000000000 +0100
+++ new/zict-1.0.0/PKG-INFO 2019-06-25 08:58:10.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: zict
-Version: 2.0.0
+Version: 1.0.0
Summary: Mutable mapping tools
Home-page: http://zict.readthedocs.io/en/latest/
Maintainer: Matthew Rocklin
@@ -19,7 +19,3 @@
Keywords: mutable mapping,dict,dask
Platform: UNKNOWN
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/setup.cfg new/zict-1.0.0/setup.cfg
--- old/zict-2.0.0/setup.cfg 2020-02-28 16:22:17.000000000 +0100
+++ new/zict-1.0.0/setup.cfg 2019-06-25 08:58:10.000000000 +0200
@@ -1,13 +1,3 @@
-[flake8]
-exclude = __init__.py
-max-line-length = 120
-ignore =
- E731, # Assigning lambda expression
- E741 # Ambiguous variable names
-
-[tool:pytest]
-addopts = -v --doctest-modules
-
[egg_info]
tag_build =
tag_date = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/setup.py new/zict-1.0.0/setup.py
--- old/zict-2.0.0/setup.py 2020-02-28 16:20:44.000000000 +0100
+++ new/zict-1.0.0/setup.py 2019-06-25 08:56:50.000000000 +0200
@@ -4,7 +4,7 @@
from setuptools import setup
setup(name='zict',
- version='2.0.0',
+ version='1.0.0',
description='Mutable mapping tools',
url='http://zict.readthedocs.io/en/latest/',
maintainer='Matthew Rocklin',
@@ -15,10 +15,4 @@
install_requires=open('requirements.txt').read().strip().split('\n'),
long_description=(open('README.rst').read() if os.path.exists('README.rst')
else ''),
- classifiers=[
- "Programming Language :: Python",
- "Programming Language :: Python :: 3.6",
- "Programming Language :: Python :: 3.7",
- "Programming Language :: Python :: 3.8",
- ],
zip_safe=False)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/__init__.py new/zict-1.0.0/zict/__init__.py
--- old/zict-2.0.0/zict/__init__.py 2020-02-28 16:20:44.000000000 +0100
+++ new/zict-1.0.0/zict/__init__.py 2019-06-25 08:56:58.000000000 +0200
@@ -6,4 +6,4 @@
from .sieve import Sieve
from .lmdb import LMDB
-__version__ = "2.0.0"
+__version__ = '1.0.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/buffer.py new/zict-1.0.0/zict/buffer.py
--- old/zict-2.0.0/zict/buffer.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/buffer.py 2019-02-06 22:58:58.000000000 +0100
@@ -35,16 +35,8 @@
--------
LRU
"""
-
- def __init__(
- self,
- fast,
- slow,
- n,
- weight=lambda k, v: 1,
- fast_to_slow_callbacks=None,
- slow_to_fast_callbacks=None,
- ):
+ def __init__(self, fast, slow, n, weight=lambda k, v: 1,
+ fast_to_slow_callbacks=None, slow_to_fast_callbacks=None):
self.fast = LRU(n, fast, weight=weight, on_evict=[self.fast_to_slow])
self.slow = slow
self.n = n
@@ -80,14 +72,13 @@
raise KeyError(key)
def __setitem__(self, key, value):
+ weight = self.weight(key, value)
# Avoid useless movement for heavy values
if self.weight(key, value) <= self.n:
if key in self.slow:
del self.slow[key]
self.fast[key] = value
else:
- if key in self.fast:
- del self.fast[key]
self.slow[key] = value
def __delitem__(self, key):
@@ -117,7 +108,7 @@
return key in self.fast or key in self.slow
def __str__(self):
- return "Buffer<%s, %s>" % (str(self.fast), str(self.slow))
+ return 'Buffer<%s, %s>' % (str(self.fast), str(self.slow))
__repr__ = __str__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/common.py new/zict-1.0.0/zict/common.py
--- old/zict-2.0.0/zict/common.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/common.py 2019-03-09 17:34:21.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
try:
from collections.abc import Mapping, MutableMapping
except ImportError:
@@ -12,13 +14,13 @@
def update(*args, **kwds):
# Boilerplate for implementing an update() method
if not args:
- raise TypeError(
- "descriptor 'update' of MutableMapping object " "needs an argument"
- )
+ raise TypeError("descriptor 'update' of MutableMapping object "
+ "needs an argument")
self = args[0]
args = args[1:]
if len(args) > 1:
- raise TypeError("update expected at most 1 arguments, got %d" % len(args))
+ raise TypeError('update expected at most 1 arguments, got %d' %
+ len(args))
items = []
if args:
other = args[0]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/file.py new/zict-1.0.0/zict/file.py
--- old/zict-2.0.0/zict/file.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/file.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,5 +1,11 @@
+from __future__ import absolute_import, division, print_function
+
+import errno
import os
-from urllib.parse import quote, unquote
+try:
+ from urllib.parse import quote, unquote
+except ImportError:
+ from urllib import quote, unquote
from .common import ZictBase
@@ -9,7 +15,7 @@
Escape key so as to be usable on all filesystems.
"""
# Even directory separators are unsafe.
- return quote(key, safe="")
+ return quote(key, safe='')
def _unsafe_key(key):
@@ -49,34 +55,29 @@
>>> z['data'] = np.ones(5).data # doctest: +SKIP
"""
-
- def __init__(self, directory, mode="a"):
+ def __init__(self, directory, mode='a'):
self.directory = directory
self.mode = mode
self._keys = set()
if not os.path.exists(self.directory):
- os.makedirs(self.directory, exist_ok=True)
+ os.mkdir(self.directory)
else:
for n in os.listdir(self.directory):
self._keys.add(_unsafe_key(n))
def __str__(self):
- return '' % (
- self.directory,
- self.mode,
- len(self),
- )
+ return '' % (self.directory, self.mode, len(self))
__repr__ = __str__
def __getitem__(self, key):
if key not in self._keys:
raise KeyError(key)
- with open(os.path.join(self.directory, _safe_key(key)), "rb") as f:
+ with open(os.path.join(self.directory, _safe_key(key)), 'rb') as f:
return f.read()
def __setitem__(self, key, value):
- with open(os.path.join(self.directory, _safe_key(key)), "wb") as f:
+ with open(os.path.join(self.directory, _safe_key(key)), 'wb') as f:
if isinstance(value, (tuple, list)):
for v in value:
f.write(v)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/func.py new/zict-1.0.0/zict/func.py
--- old/zict-2.0.0/zict/func.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/func.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
from .common import ZictBase, close
@@ -28,7 +30,6 @@
>>> f['x']
10.0
"""
-
def __init__(self, dump, load, d):
self.dump = dump
self.load = load
@@ -65,11 +66,9 @@
return len(self.d)
def __str__(self):
- return "%s %s>" % (
- funcname(self.dump),
- funcname(self.load),
- str(self.d),
- )
+ return '%s %s>' % (funcname(self.dump),
+ funcname(self.load),
+ str(self.d))
__repr__ = __str__
@@ -82,9 +81,9 @@
def funcname(func):
"""Get the name of a function."""
- while hasattr(func, "func"):
+ while hasattr(func, 'func'):
func = func.func
try:
return func.__name__
- except Exception:
+ except:
return str(func)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/lmdb.py new/zict-1.0.0/zict/lmdb.py
--- old/zict-2.0.0/zict/lmdb.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/lmdb.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,14 +1,24 @@
+from __future__ import absolute_import, division, print_function
+
+import os
import sys
from .common import ZictBase
-def _encode_key(key):
- return key.encode("utf-8")
-
+if sys.version_info >= (3,):
+ def _encode_key(key):
+ return key.encode('latin1')
+
+ def _decode_key(key):
+ return key.decode('latin1')
+
+else:
+ def _encode_key(key):
+ return key
-def _decode_key(key):
- return key.decode("utf-8")
+ def _decode_key(key):
+ return key
class LMDB(ZictBase):
@@ -27,19 +37,20 @@
>>> z['x'] # doctest: +SKIP
b'123'
"""
-
def __init__(self, directory):
import lmdb
-
# map_size is the maximum database size but shouldn't fill up the
# virtual address space
- map_size = 1 << 40 if sys.maxsize >= 2 ** 32 else 1 << 28
+ map_size = (1 << 40 if sys.maxsize >= 2**32 else 1 << 28)
# writemap requires sparse file support otherwise the whole
# `map_size` may be reserved up front on disk
- writemap = sys.platform.startswith("linux")
- self.db = lmdb.open(
- directory, subdir=True, map_size=map_size, sync=False, writemap=writemap,
- )
+ writemap = sys.platform.startswith('linux')
+ self.db = lmdb.open(directory,
+ subdir=True,
+ map_size=map_size,
+ sync=False,
+ writemap=writemap,
+ )
def __getitem__(self, key):
with self.db.begin() as txn:
@@ -58,11 +69,13 @@
def items(self):
cursor = self.db.begin().cursor()
- return ((_decode_key(k), v) for k, v in cursor.iternext(keys=True, values=True))
+ return ((_decode_key(k), v)
+ for k, v in cursor.iternext(keys=True, values=True))
def keys(self):
cursor = self.db.begin().cursor()
- return (_decode_key(k) for k in cursor.iternext(keys=True, values=False))
+ return (_decode_key(k)
+ for k in cursor.iternext(keys=True, values=False))
def values(self):
cursor = self.db.begin().cursor()
@@ -84,7 +97,7 @@
raise KeyError(key)
def __len__(self):
- return self.db.stat()["entries"]
+ return self.db.stat()['entries']
def close(self):
self.db.close()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/lru.py new/zict-1.0.0/zict/lru.py
--- old/zict-2.0.0/zict/lru.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/lru.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
from heapdict import heapdict
from .common import ZictBase, close
@@ -30,7 +32,6 @@
>>> lru['z'] = 3
Lost x 1
"""
-
def __init__(self, n, d, on_evict=None, weight=lambda k, v: 1):
self.d = d
self.n = n
@@ -113,8 +114,8 @@
return key in self.d
def __str__(self):
- sub = str(self.d) if not isinstance(self.d, dict) else "dict"
- return "" % (self.total_weight, self.n, sub)
+ sub = str(self.d) if not isinstance(self.d, dict) else 'dict'
+ return '' % (self.total_weight, self.n, sub)
__repr__ = __str__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/sieve.py new/zict-1.0.0/zict/sieve.py
--- old/zict-2.0.0/zict/sieve.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/sieve.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,5 +1,8 @@
+from __future__ import absolute_import, division, print_function
+
from collections import defaultdict
from itertools import chain
+import sys
from .common import ZictBase, close
@@ -30,7 +33,6 @@
--------
Buffer
"""
-
def __init__(self, mappings, selector):
self.mappings = mappings
self.selector = selector
@@ -53,6 +55,7 @@
def _do_update(self, items):
# Optimized update() implementation issuing a single update()
# call per underlying mapping.
+ to_delete = []
updates = defaultdict(list)
mapping_ids = dict((id(m), m) for m in self.mappings.values())
@@ -88,7 +91,7 @@
return key in self.key_to_mapping
def __str__(self):
- return "Sieve<%s>" % (str(self.mappings),)
+ return 'Sieve<%s>' % (str(self.mappings),)
__repr__ = __str__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/test_buffer.py new/zict-1.0.0/zict/tests/test_buffer.py
--- old/zict-2.0.0/zict/tests/test_buffer.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/test_buffer.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
from zict import Buffer
from . import utils_test
@@ -7,45 +9,45 @@
b = dict()
buff = Buffer(a, b, n=10, weight=lambda k, v: v)
- buff["x"] = 1
- buff["y"] = 2
+ buff['x'] = 1
+ buff['y'] = 2
- assert buff["x"] == 1
- assert buff["y"] == 2
- assert a == {"x": 1, "y": 2}
+ assert buff['x'] == 1
+ assert buff['y'] == 2
+ assert a == {'x': 1, 'y': 2}
assert buff.fast.total_weight == 3
- buff["z"] = 8
- assert a == {"y": 2, "z": 8}
- assert b == {"x": 1}
-
- assert buff["x"] == 1
- assert a == {"x": 1, "z": 8}
- assert b == {"y": 2}
-
- assert "x" in buff
- assert "y" in buff
- assert "missing" not in buff
+ buff['z'] = 8
+ assert a == {'y': 2, 'z': 8}
+ assert b == {'x': 1}
+
+ assert buff['x'] == 1
+ assert a == {'x': 1, 'z': 8}
+ assert b == {'y': 2}
+
+ assert 'x' in buff
+ assert 'y' in buff
+ assert 'missing' not in buff
- buff["y"] = 1
- assert a == {"x": 1, "y": 1, "z": 8}
+ buff['y'] = 1
+ assert a == {'x': 1, 'y': 1, 'z': 8}
assert buff.fast.total_weight == 10
assert b == {}
- del buff["z"]
- assert a == {"x": 1, "y": 1}
+ del buff['z']
+ assert a == {'x': 1, 'y': 1}
assert buff.fast.total_weight == 2
assert b == {}
- del buff["y"]
- assert a == {"x": 1}
+ del buff['y']
+ assert a == {'x': 1}
assert buff.fast.total_weight == 1
assert b == {}
- assert "y" not in buff
+ assert 'y' not in buff
- buff["a"] = 5
- assert set(buff) == set(buff.keys()) == {"a", "x"}
+ buff['a'] = 5
+ assert set(buff) == set(buff.keys()) == {'a', 'x'}
fast_keys = set(buff.fast)
slow_keys = set(buff.slow)
@@ -53,34 +55,12 @@
assert fast_keys | slow_keys == set(buff)
# Overweight element stays in slow mapping
- buff["b"] = 1000
- assert "b" in buff.slow
+ buff['b'] = 1000
+ assert 'b' in buff.slow
assert set(buff.fast) == fast_keys
- assert set(buff.slow) == {"b"} | slow_keys
- assert "b" in buff
- assert buff["b"] == 1000
-
-
-def test_setitem_avoid_fast_slow_duplicate():
-
- a = dict()
- b = dict()
- buff = Buffer(a, b, n=10, weight=lambda k, v: v)
- for first, second in [(1, 12), (12, 1)]:
- buff["a"] = first
- assert buff["a"] == first
- buff["a"] = second
- assert buff["a"] == second
-
- fast_keys = set(buff.fast)
- slow_keys = set(buff.slow)
- assert not (fast_keys & slow_keys)
- assert fast_keys | slow_keys == set(buff)
-
- del buff["a"]
- assert "a" not in buff
- assert "a" not in a
- assert "a" not in b
+ assert set(buff.slow) == {'b'} | slow_keys
+ assert 'b' in buff
+ assert buff['b'] == 1000
def test_mapping():
@@ -96,43 +76,36 @@
def test_callbacks():
f2s = []
-
def f2s_cb(k, v):
f2s.append(k)
s2f = []
-
def s2f_cb(k, v):
s2f.append(k)
a = dict()
b = dict()
- buff = Buffer(
- a,
- b,
- n=10,
- weight=lambda k, v: v,
- fast_to_slow_callbacks=f2s_cb,
- slow_to_fast_callbacks=s2f_cb,
- )
+ buff = Buffer(a, b, n=10, weight=lambda k, v: v,
+ fast_to_slow_callbacks=f2s_cb,
+ slow_to_fast_callbacks=s2f_cb)
- buff["x"] = 1
- buff["y"] = 2
+ buff['x'] = 1
+ buff['y'] = 2
- assert buff["x"] == 1
- assert buff["y"] == 2
+ assert buff['x'] == 1
+ assert buff['y'] == 2
assert not f2s
assert not s2f
- buff["z"] = 8
+ buff['z'] = 8
- assert f2s == ["x"]
+ assert f2s == ['x']
assert s2f == []
- buff["z"]
+ buff['z']
- assert f2s == ["x"]
+ assert f2s == ['x']
assert s2f == []
- buff["x"]
- assert f2s == ["x", "y"]
- assert s2f == ["x"]
+ buff['x']
+ assert f2s == ['x', 'y']
+ assert s2f == ['x']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/test_file.py new/zict-1.0.0/zict/tests/test_file.py
--- old/zict-2.0.0/zict/tests/test_file.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/test_file.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
import os
import shutil
@@ -9,7 +11,7 @@
@pytest.yield_fixture
def fn():
- filename = ".tmp"
+ filename = '.tmp'
if os.path.exists(filename):
shutil.rmtree(filename)
@@ -31,12 +33,12 @@
z = File(fn)
assert not z
- z["x"] = b"123"
- assert os.listdir(fn) == ["x"]
- with open(os.path.join(fn, "x"), "rb") as f:
- assert f.read() == b"123"
+ z['x'] = b'123'
+ assert os.listdir(fn) == ['x']
+ with open(os.path.join(fn, 'x'), 'rb') as f:
+ assert f.read() == b'123'
- assert "x" in z
+ assert 'x' in z
def test_str(fn):
@@ -50,31 +52,31 @@
def test_setitem_typeerror(fn):
z = File(fn)
with pytest.raises(TypeError):
- z["x"] = 123
+ z['x'] = 123
def test_contextmanager(fn):
with File(fn) as z:
- z["x"] = b"123"
+ z['x'] = b'123'
- with open(os.path.join(fn, "x"), "rb") as f:
- assert f.read() == b"123"
+ with open(os.path.join(fn, 'x'), 'rb') as f:
+ assert f.read() == b'123'
def test_delitem(fn):
z = File(fn)
- z["x"] = b"123"
- assert os.path.exists(os.path.join(z.directory, "x"))
- del z["x"]
- assert not os.path.exists(os.path.join(z.directory, "x"))
+ z['x'] = b'123'
+ assert os.path.exists(os.path.join(z.directory, 'x'))
+ del z['x']
+ assert not os.path.exists(os.path.join(z.directory, 'x'))
def test_missing_key(fn):
z = File(fn)
with pytest.raises(KeyError):
- z["x"]
+ z['x']
def test_arbitrary_chars(fn):
@@ -83,22 +85,22 @@
# Avoid hitting the Windows max filename length
chunk = 16
for i in range(1, 128, chunk):
- key = "".join(["foo_"] + [chr(i) for i in range(i, min(128, i + chunk))])
+ key = ''.join(['foo_'] + [chr(i) for i in range(i, min(128, i + chunk))])
with pytest.raises(KeyError):
z[key]
- z[key] = b"foo"
- assert z[key] == b"foo"
+ z[key] = b'foo'
+ assert z[key] == b'foo'
assert list(z) == [key]
assert list(z.keys()) == [key]
- assert list(z.items()) == [(key, b"foo")]
- assert list(z.values()) == [b"foo"]
+ assert list(z.items()) == [(key, b'foo')]
+ assert list(z.values()) == [b'foo']
zz = File(fn)
- assert zz[key] == b"foo"
+ assert zz[key] == b'foo'
assert list(zz) == [key]
assert list(zz.keys()) == [key]
- assert list(zz.items()) == [(key, b"foo")]
- assert list(zz.values()) == [b"foo"]
+ assert list(zz.items()) == [(key, b'foo')]
+ assert list(zz.values()) == [b'foo']
del zz
del z[key]
@@ -109,5 +111,5 @@
def test_write_list_of_bytes(fn):
z = File(fn)
- z["x"] = [b"123", b"4567"]
- assert z["x"] == b"1234567"
+ z['x'] = [b'123', b'4567']
+ assert z['x'] == b'1234567'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/test_func.py new/zict-1.0.0/zict/tests/test_func.py
--- old/zict-2.0.0/zict/tests/test_func.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/test_func.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
from zict import Func
from . import utils_test
@@ -5,15 +7,12 @@
def inc(x):
return x + 1
-
def dec(x):
return x - 1
-
def rotl(x):
return x[1:] + x[:1]
-
def rotr(x):
return x[-1:] + x[:-1]
@@ -21,20 +20,20 @@
def test_simple():
d = dict()
f = Func(inc, dec, d)
- f["x"] = 10
- assert f["x"] == 10
- assert d["x"] == 11
+ f['x'] = 10
+ assert f['x'] == 10
+ assert d['x'] == 11
- assert "x" in f
- assert list(f) == ["x"]
+ assert 'x' in f
+ assert list(f) == ['x']
assert list(f.values()) == [10]
- assert list(f.items()) == [("x", 10)]
+ assert list(f.items()) == [('x', 10)]
- assert all(s in str(f) for s in ["inc", "dec", "x", "Func"])
- assert all(s in repr(f) for s in ["inc", "dec", "x", "Func"])
+ assert all(s in str(f) for s in ['inc', 'dec', 'x', 'Func'])
+ assert all(s in repr(f) for s in ['inc', 'dec', 'x', 'Func'])
- del f["x"]
- assert "x" not in d
+ del f['x']
+ assert 'x' not in d
def test_mapping():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/test_lmdb.py new/zict-1.0.0/zict/tests/test_lmdb.py
--- old/zict-2.0.0/zict/tests/test_lmdb.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/test_lmdb.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
import gc
import os
import shutil
@@ -11,7 +13,7 @@
@pytest.yield_fixture
def fn():
- dirname = tempfile.mkdtemp(prefix="test_lmdb-")
+ dirname = tempfile.mkdtemp(prefix='test_lmdb-')
try:
yield dirname
finally:
@@ -33,20 +35,20 @@
"""
with LMDB(fn) as z:
assert len(z) == 0
- z["abc"] = b"123"
+ z['abc'] = b'123'
with LMDB(fn) as z:
assert len(z) == 1
- assert z["abc"] == b"123"
+ assert z['abc'] == b'123'
def test_creates_dir(fn):
- with LMDB(fn):
+ with LMDB(fn) as z:
assert os.path.isdir(fn)
def test_file_descriptors_dont_leak(fn):
- psutil = pytest.importorskip("psutil")
+ psutil = pytest.importorskip('psutil')
proc = psutil.Process()
before = proc.num_fds()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/test_lru.py new/zict-1.0.0/zict/tests/test_lru.py
--- old/zict-2.0.0/zict/tests/test_lru.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/test_lru.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,5 @@
+from __future__ import absolute_import, division, print_function
+
from zict import LRU
from . import utils_test
@@ -6,42 +8,42 @@
d = dict()
lru = LRU(2, d)
- lru["x"] = 1
- lru["y"] = 2
+ lru['x'] = 1
+ lru['y'] = 2
- assert lru["x"] == 1
- assert lru["y"] == 2
- assert d == {"x": 1, "y": 2}
+ assert lru['x'] == 1
+ assert lru['y'] == 2
+ assert d == {'x': 1, 'y': 2}
- lru["z"] = 3
+ lru['z'] = 3
assert len(d) == 2
assert len(lru) == 2
- assert "z" in d
- assert "z" in lru
- assert "x" not in d
- assert "y" in d
-
- del lru["y"]
- assert "y" not in d
- assert "y" not in lru
+ assert 'z' in d
+ assert 'z' in lru
+ assert 'x' not in d
+ assert 'y' in d
+
+ del lru['y']
+ assert 'y' not in d
+ assert 'y' not in lru
- lru["a"] = 5
- assert set(lru.keys()) == set(["z", "a"])
+ lru['a'] = 5
+ assert set(lru.keys()) == set(['z', 'a'])
def test_str():
d = dict()
lru = LRU(2, d)
- lru["x"] = 1
- lru["y"] = 2
+ lru['x'] = 1
+ lru['y'] = 2
assert str(lru.total_weight) in str(lru)
assert str(lru.total_weight) in repr(lru)
assert str(lru.n) in str(lru)
assert str(lru.n) in repr(lru)
- assert "dict" in str(lru)
- assert "dict" in repr(lru)
+ assert 'dict' in str(lru)
+ assert 'dict' in repr(lru)
def test_mapping():
@@ -59,20 +61,19 @@
d = dict()
lru = LRU(2, d)
- lru["x"] = 1
- lru["y"] = 2
- lru["y"] = 3
+ lru['x'] = 1
+ lru['y'] = 2
+ lru['y'] = 3
- assert set(lru) == {"x", "y"}
+ assert set(lru) == {'x', 'y'}
- lru.update({"y": 4})
+ lru.update({'y': 4})
- assert set(lru) == {"x", "y"}
+ assert set(lru) == {'x', 'y'}
def test_callbacks():
count = [0]
-
def cb(k, v):
count[0] += 1
@@ -80,11 +81,11 @@
d = dict()
lru = LRU(2, d, on_evict=[lambda k, v: L.append((k, v)), cb])
- lru["x"] = 1
- lru["y"] = 2
- lru["z"] = 3
+ lru['x'] = 1
+ lru['y'] = 2
+ lru['z'] = 3
- assert L == [("x", 1)]
+ assert L == [('x', 1)]
assert count[0] == len(L)
@@ -93,35 +94,35 @@
weight = lambda k, v: v
lru = LRU(10, d, weight=weight)
- lru["x"] = 5
+ lru['x'] = 5
assert lru.total_weight == 5
- lru["y"] = 4
+ lru['y'] = 4
assert lru.total_weight == 9
- lru["z"] = 3
- assert d == {"y": 4, "z": 3}
+ lru['z'] = 3
+ assert d == {'y': 4, 'z': 3}
assert lru.total_weight == 7
- del lru["z"]
+ del lru['z']
assert lru.total_weight == 4
- lru["a"] = 10000
- assert "a" not in lru
- assert d == {"y": 4}
+ lru['a'] = 10000
+ assert 'a' not in lru
+ assert d == {'y': 4}
def test_explicit_evict():
d = dict()
lru = LRU(10, d)
- lru["x"] = 1
- lru["y"] = 2
+ lru['x'] = 1
+ lru['y'] = 2
- assert set(d) == {"x", "y"}
+ assert set(d) == {'x', 'y'}
k, v, w = lru.evict()
- assert set(d) == {"y"}
- assert k == "x"
+ assert set(d) == {'y'}
+ assert k == 'x'
assert v == 1
assert w == 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/test_sieve.py new/zict-1.0.0/zict/tests/test_sieve.py
--- old/zict-2.0.0/zict/tests/test_sieve.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/test_sieve.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,3 +1,7 @@
+from __future__ import absolute_import, division, print_function
+
+import sys
+
from zict import Sieve
from . import utils_test
@@ -6,56 +10,52 @@
a = {}
b = {}
c = {}
-
def selector(k, v):
return len(v) % 3
-
mappings = {0: a, 1: b, 2: c}
d = Sieve(mappings, selector)
assert len(d) == 0
- d["u"] = b"the"
- d["v"] = b"big"
- d["w"] = b"brown"
- d["x"] = b"fox"
- d["y"] = b"jumps"
- d["z"] = b"over"
+ d['u'] = b'the'
+ d['v'] = b'big'
+ d['w'] = b'brown'
+ d['x'] = b'fox'
+ d['y'] = b'jumps'
+ d['z'] = b'over'
- assert d["u"] == b"the"
- assert d["v"] == b"big"
+ assert d['u'] == b'the'
+ assert d['v'] == b'big'
assert len(d) == 6
- assert sorted(d) == ["u", "v", "w", "x", "y", "z"]
- assert sorted(d.keys()) == ["u", "v", "w", "x", "y", "z"]
- assert sorted(d.values()) == sorted(
- [b"the", b"big", b"brown", b"fox", b"jumps", b"over"]
- )
-
- assert a == {"u": b"the", "v": b"big", "x": b"fox"}
- assert b == {"z": b"over"}
- assert c == {"w": b"brown", "y": b"jumps"}
+ assert sorted(d) == ['u', 'v', 'w', 'x', 'y', 'z']
+ assert sorted(d.keys()) == ['u', 'v', 'w', 'x', 'y', 'z']
+ assert sorted(d.values()) == sorted([b'the', b'big', b'brown',
+ b'fox', b'jumps', b'over'])
+
+ assert a == {'u': b'the', 'v': b'big', 'x': b'fox'}
+ assert b == {'z': b'over'}
+ assert c == {'w': b'brown', 'y': b'jumps'}
# Changing existing keys can move values from one mapping to another.
- d["w"] = b"lazy"
- d["x"] = b"dog"
- assert d["w"] == b"lazy"
- assert d["x"] == b"dog"
+ d['w'] = b'lazy'
+ d['x'] = b'dog'
+ assert d['w'] == b'lazy'
+ assert d['x'] == b'dog'
assert len(d) == 6
- assert sorted(d.values()) == sorted(
- [b"the", b"big", b"lazy", b"dog", b"jumps", b"over"]
- )
-
- assert a == {"u": b"the", "v": b"big", "x": b"dog"}
- assert b == {"w": b"lazy", "z": b"over"}
- assert c == {"y": b"jumps"}
+ assert sorted(d.values()) == sorted([b'the', b'big', b'lazy',
+ b'dog', b'jumps', b'over'])
- del d["v"]
- del d["w"]
+ assert a == {'u': b'the', 'v': b'big', 'x': b'dog'}
+ assert b == {'w': b'lazy', 'z': b'over'}
+ assert c == {'y': b'jumps'}
+
+ del d['v']
+ del d['w']
assert len(d) == 4
- assert "v" not in d
- assert "w" not in d
- assert sorted(d.values()) == sorted([b"the", b"dog", b"jumps", b"over"])
+ assert 'v' not in d
+ assert 'w' not in d
+ assert sorted(d.values()) == sorted([b'the', b'dog', b'jumps', b'over'])
def test_mapping():
@@ -64,10 +64,8 @@
"""
a = {}
b = {}
-
def selector(key, value):
return sum(bytearray(value)) & 1
-
mappings = {0: a, 1: b}
z = Sieve(mappings, selector)
utils_test.check_mapping(z)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/test_zip.py new/zict-1.0.0/zict/tests/test_zip.py
--- old/zict-2.0.0/zict/tests/test_zip.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/test_zip.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,19 +1,14 @@
+from collections import MutableMapping
import os
import zipfile
-try:
- from collections.abc import MutableMapping
-except ImportError:
- from collections import MutableMapping
-
import pytest
from zict import Zip
-
@pytest.yield_fixture
def fn():
- filename = ".tmp.zip"
+ filename = '.tmp.zip'
if os.path.exists(filename):
os.remove(filename)
@@ -32,58 +27,58 @@
assert list(z.values()) == []
assert list(z.items()) == []
- z["x"] = b"123"
- assert list(z) == list(z.keys()) == ["x"]
- assert list(z.values()) == [b"123"]
- assert list(z.items()) == [("x", b"123")]
- assert z["x"] == b"123"
+ z['x'] = b'123'
+ assert list(z) == list(z.keys()) == ['x']
+ assert list(z.values()) == [b'123']
+ assert list(z.items()) == [('x', b'123')]
+ assert z['x'] == b'123'
z.flush()
- zz = zipfile.ZipFile(fn, mode="r")
- assert zz.read("x") == b"123"
+ zz = zipfile.ZipFile(fn, mode='r')
+ assert zz.read('x') == b'123'
- z["y"] = b"456"
- assert z["y"] == b"456"
+ z['y'] = b'456'
+ assert z['y'] == b'456'
def test_setitem_typeerror(fn):
z = Zip(fn)
with pytest.raises(TypeError):
- z["x"] = 123
+ z['x'] = 123
def test_contextmanager(fn):
with Zip(fn) as z:
- z["x"] = b"123"
+ z['x'] = b'123'
- zz = zipfile.ZipFile(fn, mode="r")
- assert zz.read("x") == b"123"
+ zz = zipfile.ZipFile(fn, mode='r')
+ assert zz.read('x') == b'123'
def test_missing_key(fn):
z = Zip(fn)
with pytest.raises(KeyError):
- z["x"]
+ z['x']
def test_close(fn):
z = Zip(fn)
- z["x"] = b"123"
+ z['x'] = b'123'
z.close()
- zz = zipfile.ZipFile(fn, mode="r")
- assert zz.read("x") == b"123"
+ zz = zipfile.ZipFile(fn, mode='r')
+ assert zz.read('x') == b'123'
with pytest.raises(IOError):
- z["y"] = b"123"
+ z['y'] = b'123'
def test_bytearray(fn):
- data = bytearray(b"123")
+ data = bytearray(b'123')
with Zip(fn) as z:
- z["x"] = data
+ z['x'] = data
with Zip(fn) as z:
- assert z["x"] == b"123"
+ assert z['x'] == b'123'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/tests/utils_test.py new/zict-1.0.0/zict/tests/utils_test.py
--- old/zict-2.0.0/zict/tests/utils_test.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/tests/utils_test.py 2019-02-06 22:58:58.000000000 +0100
@@ -1,11 +1,9 @@
+from __future__ import absolute_import, division, print_function
+
+from collections import MutableMapping
import random
import string
-try:
- from collections.abc import MutableMapping
-except ImportError:
- from collections import MutableMapping
-
import pytest
@@ -16,7 +14,7 @@
for i in range(n):
nchars = r.randint(min_len, max_len)
- s = "".join(r.choice(chars) for _ in range(nchars))
+ s = ''.join(r.choice(chars) for _ in range(nchars))
l.append(s)
return l
@@ -26,7 +24,7 @@
if isinstance(s, bytes):
return s
else:
- return s.encode("latin1")
+ return s.encode('latin1')
def check_items(z, expected_items):
@@ -46,7 +44,8 @@
r = random.Random(42)
keys = list(string.ascii_lowercase)
- values = [to_bytestring(s) for s in generate_random_strings(len(keys), 1, 10)]
+ values = [to_bytestring(s)
+ for s in generate_random_strings(len(keys), 1, 10)]
z.clear()
assert len(z) == 0
@@ -79,40 +78,40 @@
assert list(z.items()) == []
assert len(z) == 0
- z["abc"] = b"456"
- z["xyz"] = b"12"
+ z['abc'] = b'456'
+ z['xyz'] = b'12'
assert len(z) == 2
- assert z["abc"] == b"456"
+ assert z['abc'] == b'456'
- check_items(z, [("abc", b"456"), ("xyz", b"12")])
+ check_items(z, [('abc', b'456'), ('xyz', b'12')])
- assert "abc" in z
- assert "xyz" in z
- assert "def" not in z
+ assert 'abc' in z
+ assert 'xyz' in z
+ assert 'def' not in z
with pytest.raises(KeyError):
- z["def"]
+ z['def']
- z.update(xyz=b"707", uvw=b"000")
- check_items(z, [("abc", b"456"), ("xyz", b"707"), ("uvw", b"000")])
- z.update([("xyz", b"654"), ("uvw", b"999")])
- check_items(z, [("abc", b"456"), ("xyz", b"654"), ("uvw", b"999")])
- z.update({"xyz": b"321"})
- check_items(z, [("abc", b"456"), ("xyz", b"321"), ("uvw", b"999")])
+ z.update(xyz=b'707', uvw=b'000')
+ check_items(z, [('abc', b'456'), ('xyz', b'707'), ('uvw', b'000')])
+ z.update([('xyz', b'654'), ('uvw', b'999')])
+ check_items(z, [('abc', b'456'), ('xyz', b'654'), ('uvw', b'999')])
+ z.update({'xyz': b'321'})
+ check_items(z, [('abc', b'456'), ('xyz', b'321'), ('uvw', b'999')])
- del z["abc"]
+ del z['abc']
with pytest.raises(KeyError):
- z["abc"]
+ z['abc']
with pytest.raises(KeyError):
- del z["abc"]
- assert "abc" not in z
- assert set(z) == {"uvw", "xyz"}
+ del z['abc']
+ assert 'abc' not in z
+ assert set(z) == {'uvw', 'xyz'}
assert len(z) == 2
- z["def"] = b"\x00\xff"
+ z['def'] = b'\x00\xff'
assert len(z) == 3
- assert z["def"] == b"\x00\xff"
- assert "def" in z
+ assert z['def'] == b'\x00\xff'
+ assert 'def' in z
stress_test_mapping_updates(z)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict/zip.py new/zict-1.0.0/zict/zip.py
--- old/zict-2.0.0/zict/zip.py 2020-02-27 21:54:41.000000000 +0100
+++ new/zict-1.0.0/zict/zip.py 2019-03-09 17:34:21.000000000 +0100
@@ -1,7 +1,10 @@
+from __future__ import absolute_import, division, print_function
+
try:
from collections.abc import MutableMapping
except ImportError:
from collections import MutableMapping
+import sys
import zipfile
@@ -23,15 +26,14 @@
b'123'
>>> z.flush() # flush and write metadata to disk # doctest: +SKIP
"""
-
- def __init__(self, filename, mode="a"):
+ def __init__(self, filename, mode='a'):
self.filename = filename
self.mode = mode
self._file = None
@property
def file(self):
- if self.mode == "closed":
+ if self.mode == 'closed':
raise IOError("File closed")
if not self._file or not self._file.fp:
self._file = zipfile.ZipFile(self.filename, mode=self.mode)
@@ -41,7 +43,7 @@
return self.file.read(key)
def __setitem__(self, key, value):
- self.file.writestr(key, value)
+ self.file.writestr(key, to_bytes(value))
def keys(self):
return (zi.filename for zi in self.file.filelist)
@@ -50,7 +52,8 @@
return map(self.file.read, self.keys())
def items(self):
- return ((zi.filename, self.file.read(zi.filename)) for zi in self.file.filelist)
+ return ((zi.filename, self.file.read(zi.filename))
+ for zi in self.file.filelist)
def __iter__(self):
return self.keys()
@@ -67,10 +70,19 @@
def close(self):
self.flush()
- self.mode = "closed"
+ self.mode = 'closed'
def __enter__(self):
return self
def __exit__(self, type, value, traceback):
self.close()
+
+
+if sys.version_info[0] == 2:
+ def to_bytes(x):
+ if isinstance(x, bytearray):
+ return bytes(x)
+ return x
+else:
+ to_bytes = lambda x: x
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict.egg-info/PKG-INFO new/zict-1.0.0/zict.egg-info/PKG-INFO
--- old/zict-2.0.0/zict.egg-info/PKG-INFO 2020-02-28 16:22:17.000000000 +0100
+++ new/zict-1.0.0/zict.egg-info/PKG-INFO 2019-06-25 08:58:10.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 1.2
Name: zict
-Version: 2.0.0
+Version: 1.0.0
Summary: Mutable mapping tools
Home-page: http://zict.readthedocs.io/en/latest/
Maintainer: Matthew Rocklin
@@ -19,7 +19,3 @@
Keywords: mutable mapping,dict,dask
Platform: UNKNOWN
-Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 3.6
-Classifier: Programming Language :: Python :: 3.7
-Classifier: Programming Language :: Python :: 3.8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zict-2.0.0/zict.egg-info/SOURCES.txt new/zict-1.0.0/zict.egg-info/SOURCES.txt
--- old/zict-2.0.0/zict.egg-info/SOURCES.txt 2020-02-28 16:22:17.000000000 +0100
+++ new/zict-1.0.0/zict.egg-info/SOURCES.txt 2019-06-25 08:58:10.000000000 +0200
@@ -2,7 +2,6 @@
MANIFEST.in
README.rst
requirements.txt
-setup.cfg
setup.py
zict/__init__.py
zict/buffer.py