|
|
PEAK Release 0.5 alpha 1 |
PEAK Release 0.5 alpha 1 |
|
|
Copyright (C) 1996-2002 by Phillip J. Eby and Tyler C. Sarna. |
Copyright (C) 1996-2003 by Phillip J. Eby and Tyler C. Sarna. |
All rights reserved. This software may be used under the same terms |
All rights reserved. This software may be used under the same terms |
as Zope or Python. THERE ARE ABSOLUTELY NO WARRANTIES OF ANY KIND. |
as Zope or Python. THERE ARE ABSOLUTELY NO WARRANTIES OF ANY KIND. |
Code quality varies between modules, from "beta" to "experimental |
Code quality varies between modules, from "beta" to "experimental |
|
|
SYSTEM REQUIREMENTS |
SYSTEM REQUIREMENTS |
|
|
Basic installation requires Python 2.2.1, and the Zope 'Interface' package. |
Python 2.2.2 or better is required. Some portions of PEAK may support only |
If you want to run the test suite or use any of PEAK's frameworks |
POSIX-like and/or Windows operating systems. |
(e.g. database interaction, UML/XMI processing, etc.), you will also need |
|
Aaron Watters' 'kjbuckets' library for your version of Python. See |
|
"Obtaining and Installing Dependencies" below if you do not already have |
|
the 'Interface' package or the 'kjbuckets' module. |
|
|
|
Note: if you have installed previous versions of PEAK or TransWarp, be |
Note: if you have installed previous versions of PEAK or TransWarp, be |
sure to remove them before installing this one. A lot of things have |
sure to remove them before installing this one. A lot of things have |
Modules" section of the Python manuals for details on customizing |
Modules" section of the Python manuals for details on customizing |
installation locations, etc.). |
installation locations, etc.). |
|
|
|
SCRIPTS |
|
|
|
On operating systems where 'os.name == "posix"', PEAK installs a Python |
|
script named 'peak'. 'peak' is an application bootstrap script that |
|
can invoke any object that is referenceable via the PEAK naming system. |
|
Run the 'peak' script for usage info, or see the 'Bootstrap' class in |
|
'peak.running.commands' for more on how to make objects bootable via 'peak'. |
|
|
THIRD PARTY SOFTWARE INCLUDED WITH PEAK |
THIRD PARTY SOFTWARE INCLUDED WITH PEAK |
|
|
'kjbuckets' is copyright Aaron Watters and contributors; please see |
'kjbuckets' is copyright Aaron Watters and contributors; please see |
the 'src/kjbuckets/COPYRIGHT.txt' file for details of its license. |
the 'src/kjbuckets/COPYRIGHT.txt' file for details of its license. |
|
|
|
The Zope 3 'interface', 'persistence', and 'ZConfig' Packages |
|
|
The Zope 3 'Interface' and 'Persistence' Packages |
PEAK includes a copy of the following packages from the Zope X3 Milestone 2 |
|
release, and will install them unless Zope X3 is available on 'sys.path' |
|
at the time 'setup.py' is run: |
|
|
|
- 'zope.interface' |
|
|
|
- 'persistence' |
|
|
|
- 'ZConfig' |
|
|
|
These packages are automatically installed alongside PEAK in your |
|
'site-packages' directory, unless you specify an alternate installation |
|
location to 'setup.py'. Note that this will overwrite any existing |
|
installation of these packages. |
|
|
|
To prevent overwriting versions of these packages that were installed |
|
separately, 'setup.py' attempts to detect the presence of Zope X3 by |
|
importing 'zope.component' (which is not distributed with PEAK). If you |
|
have a 'zope.component' package on your 'sys.path' when 'setup.py' runs, |
|
'setup.py' will assume you have a complete Zope X3 installation, and it |
|
will not install any of the Zope packages listed above, in order to avoid |
|
overwriting newer versions from your Zope installation. |
|
|
|
The 'zope.interface', 'persistence', and 'ZConfig' packages are |
|
Copyright Zope Corporation and contributors; please see the 'LICENSE.txt' |
|
files in their directories for details of their licenses. |
|
|
|
The 'fcgiapp' Module |
|
|
|
On platforms where 'os.name=="posix"' (most Unixes and Cygwin), PEAK also |
|
installs the 'fcgiapp' module, which provides support for the FastCGI |
|
protocol. You may experience problems building this module on some |
|
platforms; check the 'fcgiconfig.h' to see if you need to change anything |
|
for your system. Or, you can simply disable it, by editing 'setup.py' |
|
and changing the 'include_fcgiapp' flag to 'False'. |
|
|
|
The 'fcgiapp' module is Copyright Digital Creations, LC (now Zope Corp.); |
|
see the 'fcgiappmodule.c' file for details of its license. In the same |
|
directory are distributed portions of the FastCGI Development Kit, which |
|
is Copyright Open Market, Inc. See the 'LICENSE.TERMS' file in that |
|
directory for details of its license. |
|
|
|
|
|
|
|
TESTING YOUR INSTALLATION |
|
|
|
PEAK comes with a moderately-sized built-in test suite. If you wish to |
|
run it after installation, you can do so like this:: |
|
|
|
python setup.py test |
|
|
|
This will run over 120 tests on various parts of PEAK. If you have |
|
installed everything correctly, 100% of the tests should succeed. If |
|
anything is broken, you will probably be unable to run the tests at all. |
|
|
|
If you'd like to run only a portion of the test suite, you can supply |
|
the '--test-module' or '-m' option to the test command as follows:: |
|
|
|
python setup.py test --test-module=peak.util.tests |
|
|
|
python setup.py test -m peak.tests |
|
|
|
And so on. You can also use 'python setup.py -q test' to make the tests |
|
run more "quietly". |
|
|
|
|
|
|
|
|
|
EMBEDDING PEAK IN AN APPLICATION |
|
|
|
If you are embedding PEAK in an application that you are distributing, |
|
and space is at a premium, there are some modules you may want to omit |
|
from the installation. For example, PEAK's test modules are probably |
|
not useful in such an environment, and unless your application is a |
|
CASE tool, you will probably not need to redistribute the UML and MOF |
|
metamodels. In such situations, you may want to install a copy of PEAK |
|
that does not contain these modules. You can disable installation of |
|
either set of modules by editing 'setup.py', and changing the |
|
'include_tests' and 'include_metamodels' flags, located near the top of |
|
the script. |
|
|
PEAK now includes a copy of the Zope 3 'Interface' package, and a portion |
|
of the Zope 3 'Persistence' package. They are automatically installed |
|
alongside PEAK in your 'site-packages' directory, unless you specify an |
|
alternate installation location to 'setup.py'. (Note that this will |
|
overwrite any existing installation of these packages.) The 'Interface' |
|
and 'Persistence' packages are copyright Zope Corporation and Contributors; |
|
please see the 'LICENSE.txt' files in each directory for details. |
|
|
|
|
|
|
|
|
|
|
|
|
|
TESTING YOUR INSTALLATION |
|
|
|
PEAK comes with a moderately-sized built-in test suite. If you wish to |
|
run it after installation, you can do so like this:: |
|
|
|
python setup.py test |
|
|
|
This will run about 27 tests on various parts of PEAK. If you have |
|
installed everything correctly, 100% of the tests should succeed. If |
|
you're missing any needed parts, you will probably be unable to run the |
|
tests at all. |
|
|
|
If you'd like to run only a portion of the test suite, you can supply |
|
the '--test-module' or '-m' option to the test command as follows:: |
|
|
|
python setup.py test --test-module=peak.util.tests |
|
|
|
python setup.py test -m peak.tests |
|
|
|
And so on. You can also use 'python setup.py -q test' to make the tests |
|
run more "quietly". |
|
|
|
By default, 'python setup.py test' only runs 'peak.api.tests', which cover |
|
the basic, currently supported functionality of PEAK. If you specify |
|
the 'peak.tests' module (as in the second example above), the full 67-test |
|
suite will be run. These tests will take longer to run, as they perform |
|
some rather complex XMI and UUID tests. |
|
|
|