Code quality varies between modules, from "beta" to "experimental |
Code quality varies between modules, from "beta" to "experimental |
pre-alpha". :) |
pre-alpha". :) |
|
|
|
|
Package Description |
Package Description |
|
|
PEAK is the "Python Enterprise Application Kit". If you develop |
PEAK is the "Python Enterprise Application Kit". If you develop |
on building your application. |
on building your application. |
|
|
PEAK tools can be used with other "Python Enterprise" frameworks such as |
PEAK tools can be used with other "Python Enterprise" frameworks such as |
Zope and the Python DBAPI to construct web-based, GUI, or command-line |
Zope, Twisted, and the Python DBAPI to construct web-based, GUI, or |
applications, interacting with any kind of storage, or with no storage |
command-line applications, interacting with any kind of storage, or with |
at all. Whatever the application type, PEAK can help you put it together. |
no storage at all. Whatever the application type, PEAK can help you put |
|
it together. |
|
|
Package Features |
Package Features |
|
|
components and thus more easily combine and "wire" them together. |
components and thus more easily combine and "wire" them together. |
|
|
* A comprehensive configuration framework that allows accessing |
* A comprehensive configuration framework that allows accessing |
"utilities" and "configuration properties" in-context. Properties |
"utilities" and "configuration properties" in context. Properties |
and utilities can be loaded or computed on demand, supplied by rules, |
and utilities can be loaded or computed on demand, supplied by rules, |
defined in configuration files or code, in a supplied or custom |
defined in configuration files or code, in a supplied or custom |
format. Properties and utilities are contextual and can be safely |
format. Properties and utilities are contextual and can be safely |
a given object type and storage approach, you can create your own |
a given object type and storage approach, you can create your own |
"DM" components. You can think of a DM as an advanced form of |
"DM" components. You can think of a DM as an advanced form of |
Python "shelve", that supports references to other objects, |
Python "shelve", that supports references to other objects, |
transactions, arbitrary back-end storages, and |
transactions, arbitrary back-end storages, and caching. |
|
|
- "Stackable" data managers: one DM might serialize a set of objects |
- "Stackable" data managers: one DM might serialize a set of objects |
to XML, which could then be stored in a database record by another |
to XML, which could then be stored in a database record by another |
that writes to disk files! Each DM only needs to know how to |
that writes to disk files! Each DM only needs to know how to |
manipulate objects offered by the next-level DM, not the details |
manipulate objects offered by the next-level DM, not the details |
of the next DM's implementation, so all the DM's are potentially |
of the next DM's implementation, so all the DM's are potentially |
replacable with alternate storage mechanisms. |
replaceable with alternate storage mechanisms. |
|
|
- RDBMS and LDAP connection framework based on the Python DBAPI, |
- RDBMS and LDAP connection framework based on the Python DBAPI, |
that handles data type conversions (via the configuration |
that handles data type conversions (via the configuration |
by name or URL, and bound as default collaborators or utilities |
by name or URL, and bound as default collaborators or utilities |
for access by other application components. |
for access by other application components. |
|
|
* CASE/modelling tools: PEAK includes APIs to read and write object |
* CASE/modelling tools: PEAK includes APIs to read object |
models created in the XML-based XMI format. Many open-source and |
models created in the XML-based XMI format. Many open-source and |
commercial modelling tools support XMI, inlcuding Argo/Poseidon and |
commercial modelling tools support XMI, inlcuding Argo/Poseidon and |
MagicDraw UML. PEAK includes pre-built support for UML versions 1.3 |
MagicDraw UML. PEAK includes pre-built support for UML versions 1.3 |
and 1.4, CWM 1.1, and MOF 1.3.1, using XMI versions 1.0 through 1.2. |
through 1.5, CWM 1.1, and MOF 1.3.1, using XMI versions 1.0 through 1.2. |
Also included, a MOF->Python code generator, which was used to generate |
Also included, a MOF->Python code generator, which was used to generate |
the UML and CWM support, and which you can use to generate support for |
the UML and CWM support, and which you can use to generate support for |
other modelling languages based on the MOF. |
other modelling languages based on the MOF. |
in areas not covered by the test suites. Also, many system interfaces |
in areas not covered by the test suites. Also, many system interfaces |
are still subject to change. |
are still subject to change. |
|
|
PEAK includes early copies of Zope 3's 'Interface' and 'Persistence' |
PEAK includes early copies of Zope X3's 'Interface' and 'Persistence' |
packages, which have since changed names in their official releases, |
packages, which have since changed names in their official releases, |
and have had - and will continue to have - significant implementation |
and have had - and will continue to have - significant implementation |
changes. Complete interoperability with Zope 3 is therefore currently |
changes. Complete interoperability with Zope X3 is therefore currently |
at risk. We are waiting until the pending refactoring of Zope 3's |
at risk. We are waiting until the pending refactoring of Zope 3's |
interface package is complete before upgrading from 'Interface' to |
interface package is complete before upgrading from 'Interface' to |
'zope.interface'. Also, the ZODB persistence package is undergoing |
'zope.interface'. Also, the ZODB persistence package is undergoing |