diff options
-rw-r--r-- | NEWS | 12 | ||||
-rw-r--r-- | README | 17 | ||||
-rw-r--r-- | debian/changelog | 7 | ||||
-rw-r--r-- | larch/__init__.py | 2 |
4 files changed, 28 insertions, 10 deletions
@@ -5,6 +5,18 @@ These are the release notes for larch, a Python implementation of a copy-on-write B-tree, designed by Odah Rodeh. +Version 0.19, released 2011-03-21 +--------------------------------- + +* The `NodeStoreDisk` class now uses a separate VFS class for I/O, rather + than methods in `NodeStoreDisk` itself, and requiring subclassing with + method overrides. A separate VFS class is clearer and simpler to use. + As a bonus, the API is now compatible with the Obnam VFS API. +* Forest metadata now includes key and node sizes, and there's a factory + function that checks that the sizes given to it match the existing ones. + This should reduce potential errors. +* Renamed from btree to larch, to avoid name clashes with other projects. + Version 0.18, released 2011-02-18 --------------------------------- @@ -1,5 +1,5 @@ -A Python B-tree library -======================= +Larch, a Python B-tree library +============================== This is an implementation of particular kind of B-tree, based on research by Ohad Rodeh. See "B-trees, Shadowing, and Clones" (link below) for details on @@ -20,7 +20,8 @@ I have two implementations of the NodeStore class, one for in-memory and one for on-disk storage. Documentation is sparse. Docstrings and reading the code are your best hope. -(Help and feedback welcome!) +There is also an example program. The speed-test benchmark program may +also be useful. (Help and feedback and prodding welcome!) See the file example.py for an example. @@ -36,7 +37,8 @@ setup.py should work as usual for distutils. But it might not: I have only used enough to make the Debian package build. You can also use the Debian packaging, if on Debian or a derivative. -(Just run "debuild -us -uc" to build the package.) +Just run "debuild -us -uc" to build the package. Or you can get packages +from my site (see <http://liw.fi/code/> for details). Hacking @@ -66,16 +68,13 @@ The unit test modules are paired with their corresponding code modules: for code module `foo.py` there exists a unit test module `foo_tests.py`. CoverageTestRunner makes sure each code module's unit test achieve 100% test coverage for that module, not counting explicitly excluded -parts of the code. +parts of the code. You can also use `nosetests` to run the tests. -I have three scripts to run simplistic benchmarks: +I have two scripts to run simplistic benchmarks: * `codec-speed 1000 no` tests speed of the NodeCodec class, for encoding tree nodes for on-disk storage. * `speed-test` tests insert and lookup speeds in trees. -* `bsearch-speed` compares my binary search routine with the one in the - Python standard library module `bisect` (mine is slower, but more - versatile) You may want to run either or both before and after making any changes, to see if you're making things better or worse. diff --git a/debian/changelog b/debian/changelog index 771bd18..aaaba73 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +python-larch (0.19) squeeze; urgency=low + + * New upstream version. + * New source package name, due to new upstream name. + + -- Lars Wirzenius <liw@liw.fi> Mon, 21 Mar 2011 06:29:39 +0000 + python-btree (0.18) squeeze; urgency=low * New upstream version. diff --git a/larch/__init__.py b/larch/__init__.py index 313c84d..da4dbb6 100644 --- a/larch/__init__.py +++ b/larch/__init__.py @@ -14,7 +14,7 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. -version = '0.18' +version = '0.19' from nodes import FrozenNode, LeafNode, IndexNode |