123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 |
- Metadata-Version: 2.1
- Name: BTrees
- Version: 4.5.1
- Summary: Scalable persistent object containers
- Home-page: https://github.com/zopefoundation/BTrees
- Author: Zope Foundation
- Author-email: zodb-dev@zope.org
- License: ZPL 2.1
- Platform: any
- Classifier: Development Status :: 6 - Mature
- Classifier: License :: OSI Approved :: Zope Public License
- Classifier: Programming Language :: Python
- Classifier: Programming Language :: Python :: 2
- Classifier: Programming Language :: Python :: 2.7
- Classifier: Programming Language :: Python :: 3
- Classifier: Programming Language :: Python :: 3.4
- Classifier: Programming Language :: Python :: 3.5
- Classifier: Programming Language :: Python :: 3.6
- Classifier: Programming Language :: Python :: 3.7
- Classifier: Programming Language :: Python :: Implementation :: CPython
- Classifier: Programming Language :: Python :: Implementation :: PyPy
- Classifier: Framework :: ZODB
- Classifier: Topic :: Database
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
- Classifier: Operating System :: Microsoft :: Windows
- Classifier: Operating System :: Unix
- Provides-Extra: test
- Provides-Extra: ZODB
- Provides-Extra: docs
- Requires-Dist: persistent (>=4.1.0)
- Requires-Dist: zope.interface
- Provides-Extra: ZODB
- Requires-Dist: ZODB; extra == 'ZODB'
- Provides-Extra: docs
- Requires-Dist: Sphinx; extra == 'docs'
- Requires-Dist: repoze.sphinx.autointerface; extra == 'docs'
- Provides-Extra: test
- Requires-Dist: transaction; extra == 'test'
- Requires-Dist: zope.testrunner; extra == 'test'
-
- ``BTrees``: scalable persistent components
- ===========================================
-
- .. image:: https://travis-ci.org/zopefoundation/BTrees.svg?branch=master
- :target: https://travis-ci.org/zopefoundation/BTrees
-
- .. image:: https://ci.appveyor.com/api/projects/status/github/zopefoundation/BTrees?branch=master&svg=true
- :target: https://ci.appveyor.com/project/mgedmin/BTrees
-
- .. image:: https://coveralls.io/repos/github/zopefoundation/BTrees/badge.svg?branch=master
- :target: https://coveralls.io/github/zopefoundation/BTrees?branch=master
-
- .. image:: https://img.shields.io/pypi/v/BTrees.svg
- :target: https://pypi.org/project/BTrees/
- :alt: Current version on PyPI
-
- .. image:: https://img.shields.io/pypi/pyversions/BTrees.svg
- :target: https://pypi.org/project/BTrees/
- :alt: Supported Python versions
-
-
- This package contains a set of persistent object containers built around
- a modified BTree data structure. The trees are optimized for use inside
- ZODB's "optimistic concurrency" paradigm, and include explicit resolution
- of conflicts detected by that mechanism.
-
- Please see `the Sphinx documentation <http://btrees.readthedocs.io/>`_ for further
- information.
-
-
- ``BTrees`` Changelog
- ====================
-
- 4.5.1 (2018-08-09)
- ------------------
-
- - Produce binary wheels for Python 3.7.
-
- - Use pyproject.toml to specify build dependencies. This requires pip
- 18 or later to build from source.
-
-
- 4.5.0 (2018-04-23)
- ------------------
-
- - Add support for Python 3.6 and 3.7.
- - Drop support for Python 3.3.
- - Raise an ``ImportError`` consistently on Python 3 if the C extension for
- BTrees is used but the ``persistent`` C extension is not available.
- Previously this could result in an odd ``AttributeError``. See
- https://github.com/zopefoundation/BTrees/pull/55
- - Fix the possibility of a rare crash in the C extension when
- deallocating items. See https://github.com/zopefoundation/BTrees/issues/75
- - Respect the ``PURE_PYTHON`` environment variable at runtime even if
- the C extensions are available. See
- https://github.com/zopefoundation/BTrees/issues/78
- - Always attempt to build the C extensions, but make their success
- optional.
- - Fix a ``DeprecationWarning`` that could come from I and L objects in
- Python 2 in pure-Python mode. See https://github.com/zopefoundation/BTrees/issues/79
-
- 4.4.1 (2017-01-24)
- ------------------
-
- Fixed a packaging bug that caused extra files to be included (some of
- which caused problems in some platforms).
-
- 4.4.0 (2017-01-11)
- ------------------
-
- - Allow None as a special key (sorted smaller than all others).
-
- This is a bit of a return to BTrees 3 behavior in that Nones are
- allowed as keys again. Other objects with default ordering are
- still not allowed as keys.
-
- 4.3.2 (2017-01-05)
- ------------------
-
- - Make the CPython implementation consistent with the pure-Python
- implementation and only check object keys for default comparison
- when setting keys. In Python 2 this makes it possible to remove keys
- that were added using a less restrictive version of BTrees. (In
- Python 3 keys that are unorderable still cannot be removed.)
- Likewise, all versions can unpickle trees that already had such
- keys. See: https://github.com/zopefoundation/BTrees/issues/53 and
- https://github.com/zopefoundation/BTrees/issues/51
-
- - Make the Python implementation consistent with the CPython
- implementation and check object key identity before checking
- equality and performing comparisons. This can allow fixing trees
- that have keys that now have broken comparison functions. See
- https://github.com/zopefoundation/BTrees/issues/50
-
- - Make the CPython implementation consistent with the pure-Python
- implementation and no longer raise ``TypeError`` for an object key
- (in object-keyed trees) with default comparison on ``__getitem__``,
- ``get`` or ``in`` operations. Instead, the results will be a
- ``KeyError``, the default value, and ``False``, respectively.
- Previously, CPython raised a ``TypeError`` in those cases, while the
- Python implementation behaved as specified.
-
- Likewise, non-integer keys in integer-keyed trees
- will raise ``KeyError``, return the default and return ``False``,
- respectively, in both implementations. Previously, pure-Python
- raised a ``KeyError``, returned the default, and raised a
- ``TypeError``, while CPython raised ``TypeError`` in all three cases.
-
- 4.3.1 (2016-05-16)
- ------------------
-
- - Packaging: fix password used to automate wheel creation on Travis.
-
- 4.3.0 (2016-05-10)
- ------------------
-
- - Fix unexpected ``OverflowError`` when passing 64bit values to long
- keys / values on Win64. See:
- https://github.com/zopefoundation/BTrees/issues/32
-
- - When testing ``PURE_PYTHON`` environments under ``tox``, avoid poisoning
- the user's global wheel cache.
-
- - Ensure that the pure-Python implementation, used on PyPy and when a C
- compiler isn't available for CPython, pickles identically to the C
- version. Unpickling will choose the best available implementation.
- This change prevents interoperability problems and database corruption if
- both implementations are in use. While it is no longer possible to
- pickle a Python implementation and have it unpickle to the Python
- implementation if the C implementation is available, existing Python
- pickles will still unpickle to the Python implementation (until
- pickled again). See:
- https://github.com/zopefoundation/BTrees/issues/19
-
- - Avoid creating invalid objects when unpickling empty BTrees in a pure-Python
- environment.
-
- - Drop support for Python 2.6 and 3.2.
-
- 4.2.0 (2015-11-13)
- ------------------
-
- - Add support for Python 3.5.
-
- 4.1.4 (2015-06-02)
- ------------------
-
- - Ensure that pure-Python Bucket and Set objects have a human readable
- ``__repr__`` like the C versions.
-
- 4.1.3 (2015-05-19)
- ------------------
-
- - Fix ``_p_changed`` when removing items from small pure-Python
- BTrees/TreeSets and when adding items to small pure-Python Sets. See:
- https://github.com/zopefoundation/BTrees/issues/13
-
-
- 4.1.2 (2015-04-07)
- ------------------
-
- - Suppress testing 64-bit values in OLBTrees on 32 bit machines.
- See: https://github.com/zopefoundation/BTrees/issues/9
-
- - Fix ``_p_changed`` when adding items to small pure-Python
- BTrees/TreeSets. See:
- https://github.com/zopefoundation/BTrees/issues/11
-
-
- 4.1.1 (2014-12-27)
- ------------------
-
- - Accomodate long values in pure-Python OLBTrees.
-
-
- 4.1.0 (2014-12-26)
- ------------------
-
- - Add support for PyPy and PyPy3.
-
- - Add support for Python 3.4.
-
- - BTree subclasses can define ``max_leaf_size`` or ``max_internal_size``
- to control maximum sizes for Bucket/Set and BTree/TreeSet nodes.
-
- - Detect integer overflow on 32-bit machines correctly under Python 3.
-
- - Update pure-Python and C trees / sets to accept explicit None to indicate
- max / min value for ``minKey``, ``maxKey``. (PR #3)
-
- - Update pure-Python trees / sets to accept explicit None to indicate
- open ranges for ``keys``, ``values``, ``items``. (PR #3)
-
-
- 4.0.8 (2013-05-25)
- ------------------
-
- - Fix value-based comparison for objects under Py3k: addresses invalid
- merges of ``[OLI]OBTrees/OBuckets``.
-
- - Ensure that pure-Python implementation of ``OOBTree.byValue`` matches
- semantics (reversed-sort) of C implementation.
-
-
- 4.0.7 (2013-05-22)
- ------------------
-
- - Issue #2: compilation error on 32-bit mode of OS/X.
-
- - Test ``PURE_PYTHON`` environment variable support: if set, the C
- extensions will not be built, imported, or tested.
-
-
- 4.0.6 (2013-05-14)
- ------------------
-
- - Changed the ``ZODB`` extra to require only the real ``ZODB`` package,
- rather than the ``ZODB3`` metapackage: depending on the version used,
- the metapackage could pull in stale versions of **this** package and
- ``persistent``.
-
- - Fixed Python version check in ``setup.py``.
-
-
- 4.0.5 (2013-01-15)
- ------------------
-
- - Fit the ``repr`` of bucket objects, which could contain garbage
- characters.
-
-
- 4.0.4 (2013-01-12)
- ------------------
-
- - Emulate the (private) iterators used by the C extension modules from
- pure Python. This change is "cosmetic" only: it prevents the ZCML
- ``zope.app.security:permission.zcml`` from failing. The emulated
- classes are **not** functional, and should be considered implementation
- details.
-
- - Accomodate buildout to the fact that we no longer bundle a copy
- of 'persistent.h'.
-
- - Fix test failures on Windows: no longer rely on overflows from
- ``sys.maxint``.
-
-
- 4.0.3 (2013-01-04)
- ------------------
-
- - Added ``setup_requires==['persistent']``.
-
-
- 4.0.2 (2013-01-03)
- ------------------
-
- - Updated Trove classifiers.
-
- - Added explicit support for Python 3.2, Python 3.3, and PyPy.
- Note that the C extensions are not (yet) available on PyPy.
-
- - Python reference implementations now tested separately from the C
- verions on all platforms.
-
- - 100% unit test coverage.
-
-
- 4.0.1 (2012-10-21)
- ------------------
-
- - Provide local fallback for persistent C header inclusion if the
- persistent distribution isn't installed. This makes the winbot happy.
-
-
- 4.0.0 (2012-10-20)
- ------------------
-
- Platform Changes
- ################
-
- - Dropped support for Python < 2.6.
-
- - Factored ``BTrees`` as a separate distribution.
-
- Testing Changes
- ###############
-
- - All covered platforms tested under ``tox``.
-
- - Added support for continuous integration using ``tox`` and ``jenkins``.
-
- - Added ``setup.py dev`` alias (installs ``nose`` and ``coverage``).
-
- - Dropped dependency on ``zope.testing`` / ``zope.testrunner``: tests now
- run with ``setup.py test``.
-
- Documentation Changes
- #####################
-
- - Added API reference, generated via Spinx' autodoc.
-
- - Added Sphinx documentation based on ZODB Guide (snippets are exercised
- via 'tox').
-
- - Added ``setup.py docs`` alias (installs ``Sphinx`` and
- ``repoze.sphinx.autointerface``).
-
|