Scalable persistent object containers
Project description
BTrees: scalable persistent components
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 mechannism.
Please see the Sphinx documentation (docs/index.rst) for further information.
BTrees Changelog
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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for BTrees-4.1.1.win-amd64-py3.3.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 051c2320a52f40864c96f53d754a39c036a0864aea27bfa1505b8ae1f74e2f2d |
|
MD5 | b49833a87e56218935d384f8fded052f |
|
BLAKE2b-256 | c80bac70d745096eca1b84e401c0ed23c4b46d2e4d8190728ba36a3d757efaa4 |
Hashes for BTrees-4.1.1.win-amd64-py3.2.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b0dbddffacdc2529bc274e72813c171da430b9b00a59943978de8a163e15c61 |
|
MD5 | f4bb2b1fc811b37d0ff1cf100de06a60 |
|
BLAKE2b-256 | 7df84498b5caedb8d312620e7e7e9f3f5d6e8d2c2db99983c1aae18b49addf00 |
Hashes for BTrees-4.1.1.win-amd64-py2.7.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12877dc8f79e722ac59467a1ca088996d3f94a1e5799291a0517cfd92585df3d |
|
MD5 | c1121a07afef874c48e15dfa640b2234 |
|
BLAKE2b-256 | 2e93aa2cec375ca2a8cabe4d85d2d25232290deb60e4b4a630b0bcf6112b1200 |
Hashes for BTrees-4.1.1.win-amd64-py2.6.exe
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0728ae4f33eaf9ac3855d0a5593bfdf295d81ff753a771597444205223fe1ccd |
|
MD5 | bd2a1553b34e700b7bb7884f55656f5b |
|
BLAKE2b-256 | 095f03e09d59e511b0007ac97151aa0780bdc4021089cbbdfb77e7324a0fafc9 |
Hashes for BTrees-4.1.1-py3.3-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c09162b9bc17e1a844e1bfa36307ad2c363db4bd73462ec384bef2fb049f67f |
|
MD5 | 3250bcbf8081a2d2f6aceb03d10bc03b |
|
BLAKE2b-256 | eae19196f27088ae7b78bbd04f59f81fd587055d1967fb64212e661831161ea0 |
Hashes for BTrees-4.1.1-py3.2-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | bebdf7718e4fd71b672caaceb2973d6b80eb75f8d9808213705034ac9f23a086 |
|
MD5 | 4250d7d011863e330f754d23b859f2c4 |
|
BLAKE2b-256 | 5114b0f9b82df8ee3f92648874dea491ad548b111ef6b3076680520225bde79f |
Hashes for BTrees-4.1.1-py2.7-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ee9f2e4a39b9e65e0dde2bc75d8cda5795e73a50b8de23413c6358588b8bd34 |
|
MD5 | 2acd45ef8a8fef3c3f5da3bb51290ec5 |
|
BLAKE2b-256 | 63af56e02fbd36e196460f7082eff7dbf8f8b3dfb2390cc74badc06a4ae752bb |
Hashes for BTrees-4.1.1-py2.6-win-amd64.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdd7d95f421c28003d4d2416d9520815cc4695a7e68a8a0eb4d63d559c7562e8 |
|
MD5 | fec7176e9e014891799b216944e5b499 |
|
BLAKE2b-256 | 5347ab88933a8d2c8ef16d687df02b4b48a6e5fe902b940aa24d7f244924ebec |