summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2011-03-21 06:34:04 +0000
committerLars Wirzenius <liw@liw.fi>2011-03-21 06:34:04 +0000
commit125487c63bb0b9c09d05aa8061b716849038e920 (patch)
treecfa62858ef1d5cdcebc7467d11d3d9606327438d
parent9f4b5d28a564c003b166cbeeda5b9b06b2257eb1 (diff)
parent54f4d105d2f364780acd5b02b15aad94c8903bed (diff)
downloadlarch-125487c63bb0b9c09d05aa8061b716849038e920.tar.gz
Merge release 0.19.version_0_19
-rw-r--r--NEWS12
-rw-r--r--README17
-rw-r--r--debian/changelog7
-rw-r--r--larch/__init__.py2
4 files changed, 28 insertions, 10 deletions
diff --git a/NEWS b/NEWS
index 1c44756..351a6d5 100644
--- a/NEWS
+++ b/NEWS
@@ -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
---------------------------------
diff --git a/README b/README
index 5cf6450..70d3862 100644
--- a/README
+++ b/README
@@ -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