[Zope-CVS] CVS: Packages/pypes - README.txt:1.2

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

Modified Files:
	README.txt 
Log Message:
Revamp the README


=== Packages/pypes/README.txt 1.1.1.1 => 1.2 ===
--- Packages/pypes/README.txt:1.1.1.1	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:
-
-- Relations
-- Indexes
+=====
+pypes
+=====
+
+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.
     
 Dependencies
 ------------
-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
+better.
 
 Installation
 ------------
+
 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
+to install.
 
 Testing
 -------
+
 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 overview
 --------------
-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 @@
 
 Services
 --------
+
 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 @@
     
 Identity service
 ----------------
+
 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 @@
 
 Event service
 -------------
+
 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 @@
 
 Data structures
 ---------------
+
 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 @@
 
 Identity set
 ------------
+
 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 @@
 
 Graphs
 ------
+
 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.
 
-Future
-------
-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
-application questions.
+Extents
+-------
+
+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
+interface extents.
+
+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
+-------
+
+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
+query plan.
+
+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 mailing list