[ZODB-Dev] Release: IndexedCatalog 0.3

Christian Reis kiko@async.com.br
Wed, 9 Oct 2002 12:59:26 -0300


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.

    http://www.async.com.br/projects/IndexedCatalog/

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.

* Changes

    - 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 -------------------------------------------------------------

* Overview

  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).

* Features

    - 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.

* Feedback

  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.

* Download

  You can download IndexedCatalog from

    http://www.async.com.br/projects/IndexedCatalog/

* Installing

  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

    http://bugs.async.com.br/enter_bug.cgi?product=IndexedCatalog

* Contact

  Johan Dahlin <jdahlin@telia.com>, Christian Reis <kiko@async.com.br>

* 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/~kiko/ | [+55 16] 261 2331 | NMFL
Take care,