ANNOUNCE: IndexedCatalog 0.4
Johan Dahlin
jdahlin@async.com.br
14 Nov 2002 19:45:28 -0200
ANNOUNCE: Released IndexedCatalog 0.4
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/date) and=20
providing a simple query language.
http://www.async.com.br/projects/IndexedCatalog/
* Changes
- New query language:
* Includes Mike Fletcher's SimpleParse 2.0:
(code is included to avoid the external dependency)
* Parentheses
* Arrays (x in [1, 2, 3])
* Object references can be used in the query=20
(using the %o parameter format)
* Substring case sensitive and case in sensitive matching
* Boolean operators: and/or/not
- mx.DateTime support, simplifies date and time indexing/querying
- Foreign references works correctly now.=20
(Delegate indexing/queries to other catalogs)
- Optimized substring searching, should be 10-30% faster.
- More tests in the test suites.
- Dynamic attributes for simple types (no instances yet)
Next release will include complete dynamic types, documentation and a=20
(hopefully) stable API.
A blurb about IndexedCatalog follows.
--- blurb -------------------------------------------------------------
* Overview
IndexedCatalog is an extension to the Zope Object Database (ZODB)
developed at Async Open Source that provides indexing and allows=20
queries for objects based on attributes. This is accomplished=20
by indexing all fields by type (string/integer/float) and=20
by implementing a 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, Dates and Instances.
- Requires very little change to objects for catalogs and indexes to
work: basically inherit from IndexedCatalog.IndexedObject,,=20
add some special attributes to the Classes, and use catalog.insert(=
)=20
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
minimal effort to install.
* Feedback
We really would appreciate feedback on a few things:
- The efficiency of the indexing and query algorithms,=20
especially sub-string matching.
- The new improved query language
- All comments are appreciated; don't hesitate to post your
opinion.
* Download
You can download IndexedCatalog from
http://www.async.com.br/projects/IndexedCatalog/
=20
* Dependencies
Python 2.1.2 or higher or Python 2.2.2 or higher.
(Python CVS/2.3 untested)
ZODB 1.0.x and 3.x are known to work
eGenix mx Extensions: Currently only mx.DateTime, but we plan to=20
use larger parts later on.
* 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=3DIndexedCatalog
* Contact
Johan Dahlin <jdahlin@async.com.br>
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=E3o Carlos, SP, Brazil, and online at
http://www.async.com.br/
--=20
Johan Dahlin <jdahlin@async.com.br>
Async Open Source