[Zope-CVS] CVS: Packages/pypes - README.txt:1.2
casey at zope.com
Mon Jun 7 00:47:29 EDT 2004
Update of /cvs-repository/Packages/pypes
In directory cvs.zope.org:/tmp/cvs-serv3813
Revamp the README
=== Packages/pypes/README.txt 184.108.40.206 => 1.2 ===
--- Packages/pypes/README.txt:220.127.116.11 Mon Aug 4 00:46:02 2003
+++ Packages/pypes/README.txt Mon Jun 7 00:47:28 2004
@@ -1,35 +1,31 @@
-pypes milestone 1 release
-This release of pypes marks the completion of the service framework,
-several core services and essential data structures including:
-- Identity Service
-- Event Service
-- Identity Sets
-- Directed Graphs
-Milestone 2 will add:
+pypes is an embedded OODBMS for Python. It builds on the capable and scalable
+ZODB and provides high-level services for managing, organizing and discovering
+collections of persistent objects in Python applications.
-pypes requires ZODB 3.3 (also currently under development). At present, ZODB 3.3
-requires Python 2.3, so that is currently also required for pypes. Once support
-for Python 2.2.x is available in ZODB 3.3, pypes will support 2.2 as well.
+pypes requires ZODB 3.3 (also currently under development) and Python 2.3 or
pypes uses the standard distutils package. First extract or checkout the pypes
distribution and use the setup.py script as follows::
python2.3 setup.py install
-At present, pypes is written entirely in python, so no compiler is needed.
+At present, pypes is written entirely in python, so no compilation is needed
pypes is developed using extensive unit-testing. You can run all of the pypes
tests from the distribution directory using::
@@ -43,19 +39,21 @@
Discussion and reporting bugs
pypes does not yet have its own mailing list, but it is appropriate to use
the general zodb-dev at zope.org list for questions, discussion and bug reports.
If you prefer, you can also email the author directly at casey at zope.com.
-pypes provides persistent services which leverage and extend the ZODB. Although
-the ZODB is extremely functional, it does not provide anything but the most
-basic structure for an application to use. This is not surprising, since
-the most common installation of ZODB is in conjunction with Zope, which
+pypes provides persistent services which leverage and extend the ZODB.
+Although the ZODB is extremely functional, it does not provide anything but
+the most basic structure for an application to use. This is not surprising,
+since the most common installation of ZODB is in conjunction with Zope, which
provides the high-level structural components needed for building web
-applications. pypes intends to fill the gap left for applications that
-require object-database services but do need the Zope framework.
+applications. pypes intends to fill the gap left for applications that require
+object-database services but do need the Zope framework.
That said, there is nothing that says you cannot use pypes with Zope. The
two take orthogonal approaches to structure that should be transparent to
@@ -64,6 +62,7 @@
pypes provides a simple persistent service infrastructure on top of ZODB.
Services perform functions needed across the database. Given a ZODB database
connection, or any object stored in the database, you can easily access the
@@ -78,6 +77,7 @@
The identity service is one of the fundamental services pypes provides. The
service registers persistent objects and assigns them a database-unique
identifier. The service guarantees that all registered objects are accessible
@@ -91,6 +91,7 @@
The event service allows messages to be broadcast to listening objects.
The sender can simply send a message without needing to know which
objects need to receive it. Listeners are registered for a message type.
@@ -112,6 +113,7 @@
pypes provides some basic data structures that are designed pick up where the
ZODB leaves off with its BTree mapping and set types. BTree objects are
straightforward to use with simple types, but notoriously tricky when you need
@@ -121,6 +123,7 @@
The pypes identity set type provides a persistent set that implements the
Python 2.3 set protocol. It is designed to efficiently handle large sets of
arbitrary persistent objects. The only prerequisites for objects in the set
@@ -131,19 +134,40 @@
pypes provides two graph types. One for homogenous, totally ordered objects
(such as simple types), and another for arbitrary persistent object
(like identity set above). Both graph types provide the same interface which
allows the expression of direct relationships, transitive relationships and
dependencies between objects.
-For the next milestone, relations and indexes are planned. These will leverage
-the other pypes data structures and services to provide higher level database
-functionality for applications.
-For milestone 3, query support is planned. pypes queries will be written
-as Python expressions to declaratively generate persistable query objects.
-These objects can then be applied to the database to answer arbitrary
+Extents are automated sets of objects managed by pypes. Extents for a database
+are accessed through the extent service using the extent's key. pypes currently
+provides class extents which organize identified persistent objects by their
+type. In the future additional extent types will be available, such as
+Extents are typically used in a manner analigous to tables in an RDBMS. Extents
+of the same type (i.e., class extents) can be combined efficiently and are thus
+natural for use as inputs to queries.
+Queries provide a mechanism for ad-hoc selection and ordering of objects. They
+allow processing of arbitrary input sets using Python expressions to specify
+selection criteria and sort order. pypes supports powerful expression
+evaluation and introspection facilities which allow it to perform an efficient
+Still to come
+Probably the biggest thing missing from pypes at the moment is indexes for
+speeding query execution. However, since their presence is largely transparent
+to applications (other than in performance), they do not hinder the development
+of applications with pypes. Indexes are the next major feature on the todo
+list, so expect them in a subsequent release.
More information about the Zope-CVS