ANNOUNCE: Released IndexedCatalog 0.3
Async Open Source releases today the third public version of IndexedCatalog. IndexedCatalog is an extension to the Zope Object Database (ZODB) that makes object retrieval easier and faster, by indexing all fields by type (string/integer/float) and providing a simple query language.
The next version will implement a real query language and parser; we got tired of hacking on the current version and we need some extra functionality that just couldn't be cut. The new version will be cooking in CVS hopefully by tomorrow morning, and we'll be testing it through the week. The next version will accompany some real documentation, too.
- Support for creating objects outside of the catalog was added; it is no longer required to use catalog.new(). - catalog.insert() was added. - Boolean operations now work as they should. - Many new tests were added in the test suite. - Many random bugfixes were made. - Case insensitive substring searching (largely untested :-)
A blurb about IndexedCatalog follows.
--- blurb -------------------------------------------------------------
IndexedCatalog is an extension to the Zope Object Database (ZODB) developed by Johan Dahlin at Async Open Source (http://www.async.com.br/) that provides indexing and allows queries for objects based on attributes. This is accomplished by indexing all fields by type (string/integer/float) and by implementing a simple query language.
IndexedCatalog is licensed under the Lesser GNU Public License (LGPL).
- Provides a Catalog class that stores objects and offers a query interface. - Provides Indexes for Strings, Floats, Integers and Instances. - Requires very little change to objects for catalogs and indexes to work: basically, add some special attributes to the Classes, and use catalog.insert() to add the instances to the catalogs. - Supports composite objects, initializing and indexing sub-objects automatically. - Supports queries by type, and allows querying sub-object or referenced object attribute values. - Allows ordering query results by field, both ascending and descending. - Is 100% pure python, and by using Distutils requires miminal effort to install.
We really would appreciate feedback on a few things:
- Object lifecycle (Class() and catalog.insert() vs. Catalog.new()) - The efficiency of the indexing and query algorithms - The query language - All flam^Wcomments are appreciated; don't hesitate to post your opinion.
You can download IndexedCatalog from
Using standard python distutils:
python setup.py install
Or just set PYTHONPATH to the directory you unpacked IndexedCatalog in.
* Reporting bugs
Report bugs, feature requests and all other things related to IndexedCatalog at
* About Async
Async Open Source is a company devoted to developing custom applications based on open source software, and providing support for other existing open source products. We are active in the OSS community, supporting (and employing) project maintainers, encouraging release of software as open source, and promoting reuse of existing open source products.
Async is located in São Carlos, SP, Brazil, and online at http://www.async.com.br/
Take care, -- Christian Reis, Senior Engineer, Async Open Source, Brazil. http://async.com.br/%7Ekiko/ | [+55 16] 261 2331 | NMFL Take care,