[Subversion] / PEAK / setup.py  

Log of /PEAK/setup.py

Parent Directory

No default branch
Bookmark a link to HEAD: (view) (download) (as text)


Revision 1275 - (view) (download) (as text) - [select for diffs]
Modified Mon Jul 21 00:55:16 2003 UTC (20 years, 8 months ago) by pje
File length: 4007 byte(s)
Diff to previous 1222
The templates have landed!  We can parse and render templates, and use them
as web methods on locations.  There's even a (yes, just one) unit test.
Big TODO lists both in the package and its test suite, but at least it's
working.  Made minor adjustments to publishing algorithms so that locations
know their parent locations, and methods know the location that they were
found in. Bumped package version to 0.5a3, since we've been in the alpha 3
cycle for a while now.

Revision 1222 - (view) (download) (as text) - [select for diffs]
Modified Tue Jul 1 19:14:53 2003 UTC (20 years, 9 months ago) by tsarna
File length: 3990 byte(s)
Diff to previous 1215
Initial import of N2 (Namespace Navigator) utility.

This is a sort of all-purpose Swiss Army Knife for PEAK.  It's a sh-like
shell for navigating peak.naming contexts, complete with IO redirection!
It's an enhanced Python interactive command line! It's a sqsh-like
interactive database shell [1]! It's an extensible environment for
interacting with any python object! It's a floor wax, and a desert
topping!

This is an almost total rewrite of the (unreleased) original. It was
completely refactored to take advantage of adaption [2], changes in
peak.naming, the peak.running commands stuff, completely rewritten
argument parsing code, and more. This fixed all sorts of ugliness in the
original code, and made it much more extensible.

Note that this has not been tested much, especially the namespace shell,
because "nis:" has stopped working and that was my primary test case.
It also needs documentation and there are still some things to do to the
code... But you can play with it now.

usage: peak n2 [-e] [-p] [name]

-e      if name lookup fails, go into python interactor anyway
-p      use python interactor even if there is a more specific interactor
        (implies -e)

[1] The SQL interactor has not been ported from the old code yet, but
    that's coming soon.

[2] Phillip makes fun of me for saying adaption instead of adaptation,
    but dictionary.com say "adaption" is OK. :-)

    Besides, "adaption" sounds like it goes with adapt().  Seems like
    adaptation would have a function called adaptate() ;-).  And for that
    matter, shouldn't Canadians come from a country called Canadia?

Revision 1215 - (view) (download) (as text) - [select for diffs]
Modified Fri Jun 27 18:43:34 2003 UTC (20 years, 9 months ago) by pje
File length: 3939 byte(s)
Diff to previous 1207
Added Python/Zope 'datetime' package.

Revision 1207 - (view) (download) (as text) - [select for diffs]
Modified Thu Jun 26 00:38:05 2003 UTC (20 years, 9 months ago) by pje
File length: 3724 byte(s)
Diff to previous 1203
'peak.web' is born; just interface sketches and a draft of 'BaseInteraction'
for now.  CGI support has been moved from 'peak.running.zpublish' into
'peak.running.commands' (for "raw" CGI/FastCGI) and 'peak.web' (for the
PEAK high-level publishing framework).  You can use 'peak CGI someName' to
adapt 'someName' to a 'running.IRerunnableCGI' and run it as a CGI/FastCGI.
This will form the basis for creating the web version of an app later;
you'll do something like::

   class MyAppAsCGI(web.CGIPublisher):
       app = binding.New(MyAppClass)

And then use 'peak CGI import:somepkg.MyAppAsCGI' to run it.  Or, if your
app wants to exec a config file, you might define your CGIPublisher
subclass as an adapter from MyAppClass to IRerunnableCGI, rather than
invoking it directly.

Revision 1203 - (view) (download) (as text) - [select for diffs]
Modified Tue Jun 24 21:45:21 2003 UTC (20 years, 9 months ago) by pje
File length: 3712 byte(s)
Diff to previous 1170
Initial draft of security system for 'peak.web', et al.  You can declare
abstract permission types, then declare application-specific rules for
checking those permissions, for a given subject type.  Rules can delegate
to other rules, and user objects can also have global permission grants or
denials.

Revision 1170 - (view) (download) (as text) - [select for diffs]
Modified Sat Jun 7 19:30:26 2003 UTC (20 years, 9 months ago) by pje
File length: 3665 byte(s)
Diff to previous 1136
Add PyProtocols '_speedups' to extensions built.

Revision 1136 - (view) (download) (as text) - [select for diffs]
Modified Sun May 25 16:36:37 2003 UTC (20 years, 10 months ago) by pje
File length: 3601 byte(s)
Diff to previous 1130
Moved 'peak.util.advice' tests to 'protocols.tests'.

Revision 1130 - (view) (download) (as text) - [select for diffs]
Modified Mon May 19 17:33:59 2003 UTC (20 years, 10 months ago) by pje
File length: 3582 byte(s)
Diff to previous 1127
Misc. edits preparing for 0.5a2

Revision 1127 - (view) (download) (as text) - [select for diffs]
Modified Mon May 19 13:17:48 2003 UTC (20 years, 10 months ago) by pje
File length: 3582 byte(s)
Diff to previous 1122
Fixed not installing ZConfig schema .xml files

Revision 1122 - (view) (download) (as text) - [select for diffs]
Modified Sun May 18 00:03:27 2003 UTC (20 years, 10 months ago) by pje
File length: 3534 byte(s)
Diff to previous 1119
Added the UML 1.4 metamodel, and thus the ability to load UML 1.4
models encoded in XMI 1.1.

Added support in the mof2py code generator for "unprefixing" enumerated
values, so that UML and other metamodels' enumerations work correctly
when loading from XMI.

Fixed source distributions missing essential setup files.

Rescheduled UML 1.5 and CWM support to version 0.6.  Hardly any tools
use UML 1.5 yet, and we can't do anything useful with CWM until we have
XMI writing, and some type of UI for editing models.

Revision 1119 - (view) (download) (as text) - [select for diffs]
Modified Wed May 14 22:40:54 2003 UTC (20 years, 10 months ago) by pje
File length: 3515 byte(s)
Diff to previous 1115
Added a 'peak.running.shortcuts' command to run the unit tests.  Now I'm
also testing the command subsystem every time I run the tests...  :)

Revision 1115 - (view) (download) (as text) - [select for diffs]
Modified Wed May 14 02:52:51 2003 UTC (20 years, 10 months ago) by pje
File length: 3632 byte(s)
Diff to previous 1109
Began the move of 'peak.interface' to a separate 'protocols' package for
ease of distribution independently of PEAK.  Also, removed caching of
success/failed adapter lookups, because there was no way for them to be
cleared when declarations were made for base classes of a class whose
lookup was cached.  (To do caching, I'll have to add a separate cache.)

In the next pass, I'll add the new declaration API that Ty and I designed,
and then change PEAK to use it, factoring out the interim API, and changing
the few remaining introspections in PEAK to work via adapation.  Then, it's
off to documentation, unit tests, and packaging for the 'protocols'
package.

Revision 1109 - (view) (download) (as text) - [select for diffs]
Modified Sat May 10 21:37:03 2003 UTC (20 years, 10 months ago) by pje
File length: 3619 byte(s)
Diff to previous 1108
Fixed nits.  We probably need a way to do classProvides() that doesn't
require you to have classAttr()s.

Revision 1108 - (view) (download) (as text) - [select for diffs]
Modified Sat May 10 21:29:49 2003 UTC (20 years, 10 months ago) by pje
File length: 3633 byte(s)
Diff to previous 1061
Farewell, 'zope.interface'.  You served us well.

Revision 1061 - (view) (download) (as text) - [select for diffs]
Modified Thu May 1 17:43:55 2003 UTC (20 years, 11 months ago) by pje
File length: 3757 byte(s)
Diff to previous 1050
Added 'fcgiapp' to distribution; this should be the final checkin for
0.5a1, barring any bug or doc fixes that come up while prepping
the release.

Revision 1050 - (view) (download) (as text) - [select for diffs]
Modified Wed Apr 30 16:47:33 2003 UTC (20 years, 11 months ago) by pje
File length: 3476 byte(s)
Diff to previous 1049
Fixes for documentation generation - docs for third party packages were
being generated, and peak.metamodels was claiming it was still obsolete and
unsupported!

Revision 1049 - (view) (download) (as text) - [select for diffs]
Modified Wed Apr 30 12:36:02 2003 UTC (20 years, 11 months ago) by pje
File length: 3387 byte(s)
Diff to previous 1018
Updating README/INSTALL/setup for 0.5a1.  INSTALL was out of date on some
matters; edited README for clarity in a couple of places.

Revision 1018 - (view) (download) (as text) - [select for diffs]
Modified Thu Apr 24 18:05:13 2003 UTC (20 years, 11 months ago) by pje
File length: 3386 byte(s)
Diff to previous 1008
Semi-final draft of the 'peak.running.commands' framework.  It's now
possible to bootstrap almost anything to run as a PEAK command object;
see 'running.IExecutable'.  Added new 'peak' script (Posix-like OSes and
Cygwin only) that can bootstrap execution of any URL or .ini-defined
shortcut.  Moved CGI/FastCGI publishing command objects to
'peak.running.zpublish', since they aren't useful without the ZPublisher
stuff anyway.  Added "usage" capabilities for commands to display usage
help and to be able to distinguish invocation errors from execution errors.

Note: the diffs for this are going to suck from a readability POV, because
diff doesn't deal well with the removal of a huge block of code in the same
revision as significant doc rewrites or refactoring within classes.  :(

Revision 1008 - (view) (download) (as text) - [select for diffs]
Modified Tue Apr 22 20:08:22 2003 UTC (20 years, 11 months ago) by pje
File length: 3168 byte(s)
Diff to previous 1001
Split out more generally-useful "setup" code fragments into a reusable
"prologue" file.

Revision 1001 - (view) (download) (as text) - [select for diffs]
Modified Sat Apr 19 19:32:32 2003 UTC (20 years, 11 months ago) by pje
File length: 3699 byte(s)
Diff to previous 997
Fixed installing deleted packages and not installing some new ones.

Revision 997 - (view) (download) (as text) - [select for diffs]
Modified Sat Apr 19 18:35:30 2003 UTC (20 years, 11 months ago) by pje
File length: 3888 byte(s)
Diff to previous 974
PEAK-Zope namegeddon, phase 2.  Switched to 'zope.interface' and
'persistence', using Zope X3 Milestone 2 as a basis.  Early-draft "setup"
support with autodetection of an existing Zope installation.  This still
needs a lot of work.  Since I did this on Linux, I now see the problem
Ulrich was talking about on tests failing.  I have some ideas about it but
I still need to track it down.  Probably this will mean revising the format
of PEAK "import strings", which is just as well because I've wanted to
clean them up anyway.  (The ':' will go away, basically.)

Revision 974 - (view) (download) (as text) - [select for diffs]
Modified Thu Apr 10 01:22:36 2003 UTC (20 years, 11 months ago) by pje
File length: 2678 byte(s)
Diff to previous 966
Factored out useful setup classes for use in other Eby-Sarna distributions

Revision 966 - (view) (download) (as text) - [select for diffs]
Modified Sat Apr 5 20:44:59 2003 UTC (20 years, 11 months ago) by pje
File length: 5787 byte(s)
Diff to previous 931
REINSTALL WARNING: a package was removed from setup.py on this change,
so be sure to *delete* your PEAK installation from 'site-packages' before
reinstalling.  Also be sure to update your checkout with 'cvs update -dPA'.

Change notes:

* It's now possible to use 'config.declareModule()' to patch third-party
  (i.e. non-PEAK) modules, and also to pre-declare inheritance or patch
  data for modules inherited via package inheritance.  This was done to
  make PEAK/Zope reusage/patching easier, and also to ease patching of
  large generated-code models (like UML and CWM).

* The patches to add "Pythonic features" to UML models are now in a
  separate module, 'peak.metamodels.core_addons', so that they can be
  shared amongst all UML versions.  This was made possible by the
  new 'declareModule()' function.

* Cleaned up and removed the now-unnecessary subpackage of UML13 that was
  there just to provide a home for the patches that can now be applied by
  "remote control", so to speak.

* 'lazyModule()' now has an extra parameter that can be used to hook the
  initial loading of a module.  This was added so that 'declareModule()'
  can patch modules when they are loaded.

Revision 931 - (view) (download) (as text) - [select for diffs]
Modified Sat Mar 1 21:31:48 2003 UTC (21 years, 1 month ago) by pje
File length: 5830 byte(s)
Diff to previous 911
Fixed certain setup.py operations failing if HappyDoc isn't installed;
minor updates to copyright notices and installation instructions.

Revision 911 - (view) (download) (as text) - [select for diffs]
Modified Thu Feb 20 00:49:43 2003 UTC (21 years, 1 month ago) by pje
File length: 5728 byte(s)
Diff to previous 895
Re-organized setup script to allow leaving out tests, metamodels, or both.
This should make it possible for people who want a compact install for
"embedded" use (e.g. inside an application distributed as a binary).  Tests
aren't needed once PEAK is verified for your target platform, and the
metamodels package will only be needed if your application works directly
with MOF, UML, CWM, etc.  For example, if it's a code generator,
documentation utility, or a model editing program.

Mostly, though, I'm adding these options so I can excuse the later addition
of reams of generated code to the 'peak.metamodels' package to support UML
1.4, MOF 1.4, CWM 1.0, etc.  I can always say to somebody who complains,
"if you don't need it, edit the setup.py before you install".  ;)

Revision 895 - (view) (download) (as text) - [select for diffs]
Modified Tue Feb 18 23:48:35 2003 UTC (21 years, 1 month ago) by pje
File length: 5225 byte(s)
Diff to previous 884
Finally replaced the old 'peak.metamodels.uml' package, with the new
'peak.metamodels.UML13' package, which is a merger of code generated using
'peak.model.mof2py' and an inheriting package which extends the generated
code with a few convenience methods.  The main impact on existing code is
the fact that the new metamodel uses singular names (e.g.
'item.ownedElement') where plurals were previously used.  Also, the test
suite runs significantly faster, apparently because of the use of
lazily-imported nested packages in the new generated code.  (The UML model
used by the test suite doesn't include any "behavioral elements", so a lot
less of the UML metamodel has to be imported and run through the module
inheritance machinery than before.)

Be sure to 'cvs update -dPA', clean up any leftover 'build' directories,
and uninstall/reinstall PEAK after this change, otherwise ghosts of the
removed files and directory may hang around to haunt you.

Revision 884 - (view) (download) (as text) - [select for diffs]
Modified Mon Feb 17 19:42:11 2003 UTC (21 years, 1 month ago) by pje
File length: 5022 byte(s)
Diff to previous 767
Removed outdated TransWarp 'mof' package, since 'MOF131' works great so
far.  Re-enabled generation of documentation for the 'peak.metamodels'
package.

Be sure to use 'cvs update -dPA' to refresh your checkout, and delete
PEAK from your Python 'site_packages' directory before re-installing.

Revision 767 - (view) (download) (as text) - [select for diffs]
Modified Sat Nov 30 20:04:51 2002 UTC (21 years, 4 months ago) by pje
File length: 5065 byte(s)
Diff to previous 766
Completed conversion to C of the base class descriptor methods for 'Once'
attributes.  Due to constraints in how Pyrex creates extension types, it
was not possible to continue support for the (deprecated anyway) 'OnceClass'
and 'AutoCreatable' metaclasses.  This is now cleaned up pretty decently
and runs the tests at least as fast as before I began the metadata
refactoring yesterday (~4.1 seconds on my Windows PC).

Note that if you want to build from Pyrex source or have Pyrex installed,
you *must* patch Pyrex.Compiler.TypeSlots so that these two lines:

descrgetfunc = Signature("TOO", "O")       # typedef ...
descrsetfunc = Signature("TOO", "O")       # typedef ...

Look like *this* instead:

descrgetfunc = Signature("Tpp", "O")       # typedef ...
descrsetfunc = Signature("TOp", "i")       # typedef ...

This is a work-around for improper generation of descriptor __get__/__set__
code by Pyrex.

Revision 766 - (view) (download) (as text) - [select for diffs]
Modified Fri Nov 29 22:20:23 2002 UTC (21 years, 4 months ago) by pje
File length: 4971 byte(s)
Diff to previous 763
Refactored to allow "lazy" metadata computation, using bindings.
This means that you can use attribute bindings in metaclasses to assemble
metadata registries, such as those needed for XMI.

Unfortunately, for this to work on types, I had to change the fundamental
implementation of attribute bindings to a new implementation in Pyrex/C.
The problem is that only *data* descriptors from a metaclass are invoked
if there is an attribute value available in the type's dictionary or the
dictionary of one of its base types.  This means that trying to have
'Once' bindings that attach to classes via their metaclass, is inherently
unstable unless you make use of the bindings in strict reverse __mro__
order!  This problem has actually existed ever since I added the ability
to use bindings in metaclasses, but because of the way things were being
used, it "just happened" to look like it was working.

So I had to make 'Once' a data descriptor; unfortunately this means that
it has to check whether the value appears in the object's dictionary
*every* time the attribute is accessed.  That's still doable from Python,
but the bigger problem is that type dictionaries aren't accessible from
pure Python code, and the only way to implement the __set__ function on
a 'Once' descriptor is by writing to the dictionary.  So I wrote a Pyrex
extension type to support getting at the object's true dictionary, and
to implement a (relatively) fast __get__ method.  The result seems to
perform about as well as the old version, although I'm tempted to redo
some of it in pure C to get rid of a lot of overhead that would be
avoidable if Pyrex properly supported the '__get__' signature for
extension types.

Up next: standardizing the metaclass naming convention, documenting all this
stuff, then maybe on to XMI writing...

Revision 763 - (view) (download) (as text) - [select for diffs]
Modified Thu Nov 28 23:44:26 2002 UTC (21 years, 4 months ago) by pje
File length: 4888 byte(s)
Diff to previous 757
Major speedup for module inheritance, thanks to Pyrex!  The 'codeIndex()'
object and associated iterators are now in C, and the speedup is quite
visible.  It's still not as fast as I'd like, but the next step would be
to rewrite 'prepForSimulation()' in Pyrex, and it's a lot more complex
than the 'codeIndex' class.  Unfortunately, you can't just copy your code
into a .pyx file and expect a speedup; you have to think in C even if
the syntax is Pythonic.  Nonetheless, module inheritance spent so much
time in the old 'codeIndex.__init__' method that it was worth the hour or
two it took to convert.

Added support for Pyrex.Distutils to automatically build from .pyx; if
you're using 'mingw32' and Greg hasn't released my fixes yet, you may want
to edit setup.py to force it to compile from .c files instead and run
'pyrexc' manually against the '.pyx' files.  If you want to tinker with
the 'pyx' source files, you'll want to install Pyrex 0.4.6 or better.

Revision 757 - (view) (download) (as text) - [select for diffs]
Modified Wed Nov 27 21:54:21 2002 UTC (21 years, 4 months ago) by pje
File length: 4593 byte(s)
Diff to previous 729
Added 'peak.util.buffer_gap.Buffer' a "mutable string" extension type.
This may later form the basis for C implementations of the
'peak.util.Code' module and module inheritance.  I'm including the C code
so that people without Pyrex (especially those lacking my mingw32 patches
for Pyrex.Distutils) can play with it.

Revision 729 - (view) (download) (as text) - [select for diffs]
Modified Fri Nov 22 17:39:04 2002 UTC (21 years, 4 months ago) by pje
File length: 4518 byte(s)
Diff to previous 669
Refactored to remove peak.metamodels.xmi.Reading as a mixin module.  There
is now a peak.model.xmi module (accessible as 'model.xmi') that provides
XMI loading services, and XMI metadata is now generated automatically by
model classes.  Note that this change also changes the signature of
'ActiveDescriptor.activate()' to better support 'super()' calls between
co-operative descriptor mixins.

Revision 669 - (view) (download) (as text) - [select for diffs]
Modified Tue Nov 12 20:24:19 2002 UTC (21 years, 4 months ago) by pje
File length: 4541 byte(s)
Diff to previous 656
Updated metadata for upload to the prototype PyPI system

Revision 656 - (view) (download) (as text) - [select for diffs]
Modified Sun Nov 10 02:46:58 2002 UTC (21 years, 4 months ago) by pje
File length: 4474 byte(s)
Diff to previous 652
Added [Load on demand] rules section, and made running.clusters use it.
Also added basic unit tests for peak.running.clusters.

Revision 652 - (view) (download) (as text) - [select for diffs]
Modified Sat Nov 9 00:05:52 2002 UTC (21 years, 4 months ago) by pje
File length: 4376 byte(s)
Diff to previous 629
Reorgs and and misc. cleanups; updated TODO for 0.5a1 vs 0.5final

Moved ActiveDescriptor(s) classes from binding.meta to binding.once and the
rest of binding.meta to model.method_exporter.  Moved the method-exporter
tests that lived in metamodels.tests.General to model.tests, where they
really belonged, and added model.tests to the install and API test suite.

Revision 629 - (view) (download) (as text) - [select for diffs]
Modified Thu Nov 7 23:17:01 2002 UTC (21 years, 4 months ago) by pje
File length: 4356 byte(s)
Diff to previous 584
Removed OpaqueURL and refactored ParsedURL for simpler creation of URL
classes.  This may need another pass or two to get everything completely
cleaned up.  Added a test suite for peak.naming to do parse tests on a
variety of the built-in URL classes, which really needs a lot more test
examples.  The URL classes also need better parse error messages.  Last,
but not least, we may need a way to map from URLs back to their strings,
if they are created from arguments instead of a string.  But that's
probably lower priority.

Revision 584 - (view) (download) (as text) - [select for diffs]
Modified Thu Oct 31 23:45:13 2002 UTC (21 years, 5 months ago) by pje
File length: 4328 byte(s)
Diff to previous 583
Added unit tests for transactions, covering just about everything but the
'info' mapping, and error handler processing.

Revision 583 - (view) (download) (as text) - [select for diffs]
Modified Thu Oct 31 02:42:05 2002 UTC (21 years, 5 months ago) by pje
File length: 4306 byte(s)
Diff to previous 582
Adjusted HappyDoc options to suppress documentation for the
unsupported-for-now 'metamodels' subpackage.  This should be the last item
before I can update the API docs on the web site.

Revision 582 - (view) (download) (as text) - [select for diffs]
Modified Thu Oct 31 02:08:38 2002 UTC (21 years, 5 months ago) by pje
File length: 4271 byte(s)
Diff to previous 576
Misc. doc fixes for HappyDoc.

Revision 576 - (view) (download) (as text) - [select for diffs]
Modified Mon Oct 28 17:58:01 2002 UTC (21 years, 5 months ago) by pje
File length: 4231 byte(s)
Diff to previous 573
Added a basic configuration file format, and used it to replace the
schemes dictionary in peak.naming.factories, by adding a "peak.ini"
global configuration file for PEAK builtins.  This means that the
factories subpackage is pretty much useless now; the URL classes can
easily move anywhere now, like to the same modules as the implementations.
It should now be easy to add lots of address schemes to PEAK.  Also,
subclasses of GlobalConfig can change the list of filenames used to load
configuration settings, and thus perhaps read a ~.peakrc or /etc/peak.ini
file, or an app-specific global configuration file.

The file format is very primitive right now: ConfigParser with eval() of
the settings done at file load time.  Ultimately, this should move to a
true lazy evaluation mode, and there are some syntactic sugar features that
should be added.  For right now, however, all we need are constant
expressions.

Last, but not least, fixed a bug in the fromURL() method of ParsedURLs.

Revision 573 - (view) (download) (as text) - [select for diffs]
Modified Thu Oct 17 22:23:10 2002 UTC (21 years, 5 months ago) by pje
File length: 4190 byte(s)
Diff to previous 572
Added Interface.Registry packages to the subpackage list.  This is rather
cool, since I think with a little work I can base the EigenRegistry stuff
off of one of the registry types, without duplicating all the algorithmic
complexity, the way I'm doing now.  It might also be nice to have adapter
registries in PEAK, although I'm going to wait until there's a *really*
good use case before I try that one!

Revision 572 - (view) (download) (as text) - [select for diffs]
Modified Thu Oct 17 21:12:46 2002 UTC (21 years, 5 months ago) by pje
File length: 4106 byte(s)
Diff to previous 562
Added stub of Zope 3 "Persistence" package to setup; PEAK will now install
it along with "kjbuckets" and "Interface".

Revision 562 - (view) (download) (as text) - [select for diffs]
Modified Fri Oct 11 21:30:38 2002 UTC (21 years, 5 months ago) by pje
File length: 3978 byte(s)
Diff to previous 559
Fixed an issue on installing to a non-standard package directory (i.e.
using --install-lib or --install-platlib).  Setup will now always install
data files relative to wherever the distutils is actually installing the
package.  This used to only work if you used --install-purelib, and once
kjbuckets was added to the distribution, it stopped working unless you
supplied both platlib and purelib.  Now it should work correctly no matter
what you do, or at least as correctly as distutils itself does.  (Distutils
may ignore --install-purelib if the package contains any C extensions.)

Revision 559 - (view) (download) (as text) - [select for diffs]
Modified Fri Oct 11 20:12:59 2002 UTC (21 years, 5 months ago) by pje
File length: 3982 byte(s)
Diff to previous 557
Created a peak.api.tests module, which just runs tests on API packages
(like binding, config, naming, etc.) and skips the old tests (metamodels)
and the utils tests.  Changed the "setup.py test" default to use this
shorter and MUCH faster subset of tests.  You can still run the full suite
with "setup.py test -m peak.tests", but on my Windows machines the extra
tests can add up to 20 seconds to my test times, and I rarely change
anything that affects the utils or metamodel tests.  I'll save those for
checkin testing, and use the API-only tests for running as I change things.

Revision 557 - (view) (download) (as text) - [select for diffs]
Modified Fri Oct 11 19:19:49 2002 UTC (21 years, 5 months ago) by pje
File length: 3978 byte(s)
Diff to previous 551
Fixed up some MANIFEST settings for PEAK (had TW-specific stuff in it).
Also added an 'sdist_nodoc' command to build a source distribution without
docs, when HappyDoc isn't available/installed.

Revision 551 - (view) (download) (as text) - [select for diffs]
Modified Thu Oct 10 20:34:10 2002 UTC (21 years, 5 months ago) by pje
File length: 3952 byte(s)
Diff to previous 538
Added 'kjbuckets' extension to setup.py; updated installation doc and
copyright notices accordingly.

Revision 538 - (view) (download) (as text) - [select for diffs]
Modified Sun Oct 6 16:52:19 2002 UTC (21 years, 5 months ago) by pje
File length: 3859 byte(s)
Diff to previous 524
Moved module inheritance/advice tests to peak.config.tests.

Revision 524 - (view) (download) (as text) - [select for diffs]
Modified Fri Oct 4 15:31:35 2002 UTC (21 years, 5 months ago) by pje
File length: 3838 byte(s)
Diff to previous 519
Changing docs from TransWarp->PEAK, referenced new site at
http://www.telecommunity.com/PEAK/, prepping docs for 0.5a1 release.

Revision 519 - (view) (download) (as text) - [select for diffs]
Modified Sun Sep 29 21:57:11 2002 UTC (21 years, 6 months ago) by pje
File length: 3841 byte(s)
Diff to previous 501
Changed to not generate docs for Zope Interface package.

Revision 501 - (view) (download) (as text) - [select for diffs]
Modified Sat Aug 17 21:32:48 2002 UTC (21 years, 7 months ago) by pje
File length: 3808 byte(s)
Diff to previous 487
Made peak.storage a proper package and added it to setup.py.  Added a
'finishTransaction()' message to the participant API, so that objects can
be sure a transaction is really, and completely, over.  Made the abstract
TransactionService concrete by finishing out a few more methods and making
it a binding.AutoCreated component.  Now adding a transaction service to an
application is as easy as 'myTxnAttribute = storage.TransactionService' in
a high-level component.

Also added a 'TransactionComponent' base class for things like managed
connection objects and Racks.  Instances automatically register with their
nearest transaction service as soon as they're added to a component
hierarchy.

Last, but not least, I fleshed out the transaction metadata implementations
for both the basic transaction service and the ZODB-compatible one.  The
ZODBTransactionService will interpret the names 'note', 'user_name' and
'user_path' as special, and call the note() and setUser() methods of the
underlying ZODB transaction, accordingly.  All other info items will be
set via setExtendedInfo() on the underlying ZODB transaction.

Revision 487 - (view) (download) (as text) - [select for diffs]
Modified Sat Jul 27 21:56:55 2002 UTC (21 years, 8 months ago) by pje
File length: 3792 byte(s)
Diff to previous 467
Moved config to its own top-level subpackage, peak.config, since it doesn't
really fit well with the rest of 'running' as it's shaping up.  Also,
removed lockfiles and dameons from the running.api, as they aren't
really part of the API.  Lockfiles will normally be instantiated via
a URL reference, as will most Daemon providers.  To create daemons, the
preferred method will be:

from peak.running import daemons

class MyDaemon(daemons.AbstractDaemon):
    ....

Similarly, when we have logging base classes, 'from peak.running import
logs' and 'aLog = logs.SomeLogger()' will be reasonable usage as well,
since logs will also normally be instantiated via URL references.

Revision 467 - (view) (download) (as text) - [select for diffs]
Modified Sat Jul 13 20:17:17 2002 UTC (21 years, 8 months ago) by pje
File length: 3800 byte(s)
Diff to previous 458
Added config package, and integrated it into binding.Component's
acquireUtility() method.  Note that the config API signatures ended up
slightly different than in the implementation plan posted to the mailing
list; notably, it didn't make sense to have 'forRoot' as an optional
parameter, since *every* root needs its own local configuration, unless you
manually set the same one for a bunch of them.

Revision 458 - (view) (download) (as text) - [select for diffs]
Modified Sun Jul 7 20:44:37 2002 UTC (21 years, 8 months ago) by pje
File length: 3753 byte(s)
Diff to previous 432
Added Interface package to setup.  (If you're tracking CVS, be sure to
"cvs update -dPA" to get the Interface directory to show up.)

Revision 432 - (view) (download) (as text) - [select for diffs]
Modified Sun Jun 23 15:35:07 2002 UTC (21 years, 9 months ago) by pje
File length: 3699 byte(s)
Diff to previous 406
Moved module inheritance from 'peak.api' to 'peak.binding', and
reformatted peak.api package accordingly.  Applied the following
name changes::

 .getSEFparent()  -> .getParentComponent()
 ._setSEFparent() -> .setParentComponent()
 .getService()    -> .lookupComponent()

 setupModule()    -> binding.setupModule()
 adviseModule()   -> binding.patchModule()
 configure()      -> binding.configure()

Also made the default '__proceed__' value a built-in, so that it's not
necessary to import it.

This concludes the essential code-level transformations from TransWarp
to PEAK.  Almost everything should be in its long-term home now, with
its long-term name, although the 'model' package may receive some
adjustments by the time a tutorial is written for it.  Following this
check-in, the repository will be considered stable, and CVS checkouts
of PEAK will be possible.

Revision 406 - (view) (download) (as text) - [select for diffs]
Modified Thu Jun 13 01:17:04 2002 UTC (21 years, 9 months ago) by pje
File length: 3717 byte(s)
Diff to previous 405
Added naming package to setup, fixed a syntax error.

Revision 405 - (view) (download) (as text) - [select for diffs]
Modified Thu Jun 13 01:10:44 2002 UTC (21 years, 9 months ago) by pje
File length: 3677 byte(s)
Diff to previous 404
Hacked on it until all tests pass...  But still a lot of re-name, re-doc,
re-org to go.  Still need to move Caching over, and there are some test
package splits that need to be done (metamodels->model).  Need to make the
Once and other peak.binding package import idioms consistent, too.  But
at least the tests run.  The repository is not yet stable, however.

Revision 404 - (view) (download) (as text) - [select for diffs]
Modified Thu Jun 13 00:15:00 2002 UTC (21 years, 9 months ago) by pje
File length: 3677 byte(s)
Diff to previous 383
First pass of random conversions from TW -> peak

Revision 383 - (view) (download) (as text) - [select for diffs]
Modified Fri Apr 5 00:38:34 2002 UTC (21 years, 11 months ago) by pje
File length: 3587 byte(s)
Diff to previous 377
Added 'TWX' package for extensions; added 'TWX.Diagrams.GraphViz'
diagramming utility module.  Very hacky and first-draft, with no unit
tests, but I've manually verified most of the functionality so far.

Revision 377 - (view) (download) (as text) - [select for diffs]
Modified Sun Mar 31 21:33:31 2002 UTC (22 years ago) by pje
File length: 3565 byte(s)
Diff to previous 375
Documented setup.py 'test' command, and added an option to specify which
test module should be run.

Revision 375 - (view) (download) (as text) - [select for diffs]
Modified Sun Mar 31 20:45:54 2002 UTC (22 years ago) by pje
File length: 3466 byte(s)
Diff to previous 359
Added a 'test' command to 'setup.py' that installs and then tests all of
TransWarp.  (It saves me time running the unit tests while I'm writing
new code.)

Revision 359 - (view) (download) (as text) - [select for diffs]
Modified Sun Mar 24 00:36:04 2002 UTC (22 years ago) by pje
File length: 2767 byte(s)
Diff to previous 346
Fixed 'happy' command not to build docs for 'tests' packages.

Revision 346 - (view) (download) (as text) - [select for diffs]
Modified Sun Mar 17 05:01:16 2002 UTC (22 years ago) by pje
File length: 2752 byte(s)
Diff to previous 341
Many changes in preparation for 0.2 final, including:

 * Added 'SEF.bindToParent()' and 'SEF.bindToNames()' specifiers to allow
   more flexible component parameter bindings.

 * Fixed the base class "rebind by name" bugs in module inheritance, and
   updated the documentation to more clearly reflect what it is that
   metaclass generation and module inheritance does and does not do.  Added
   test cases to prevent regression of the rebind-by-name problem.

 * The 'setup.py' script features a new command, 'happy', which can be used
   to generate the API reference docs, and this command runs as part of the
   'sdist' command to build source distributions.

 * The API reference docs in the source distribution has been moved from
   the 'doc' directory to 'docs/html/reference'.

 * Added 'CHANGES.txt' file.

Revision 341 - (view) (download) (as text) - [select for diffs]
Modified Tue Mar 5 20:23:29 2002 UTC (22 years ago) by pje
File length: 1115 byte(s)
Diff to previous 340
Updated website URL, and fixed MANIFEST.in to avoid including the
(currently out-of-date) examples directory.

Revision 340 - (view) (download) (as text) - [select for diffs]
Modified Fri Mar 1 19:57:23 2002 UTC (22 years, 1 month ago) by pje
File length: 1123 byte(s)
Diff to previous 332
Misc. Documentation fixes, clarifications, and enhancements.

Revision 332 - (view) (download) (as text) - [select for diffs]
Modified Sat Feb 16 01:32:06 2002 UTC (22 years, 1 month ago) by pje
File length: 1096 byte(s)
Diff to previous 331
Pre-release documentation and cleanup sweep, part 3.  Rearranged all the
test stuff to meet Zope.org's test packaging conventions.  Added module
docstrings to the Database package, and shuffled a few things around there
to break up the code better.  Looks like the last package left for this
treatment is Utils...

Revision 331 - (view) (download) (as text) - [select for diffs]
Modified Fri Feb 15 23:36:20 2002 UTC (22 years, 1 month ago) by pje
File length: 1088 byte(s)
Diff to previous 328
Pre-release documentation and cleanup sweep, part 2.  Cleaned up the rest
of the 3-letter packages (SEF, MOF, and API), replacing StructuralModel
with SEF along the way.  Also moved some of the key metaclasses into their
own module, TW.API.Meta.

Revision 328 - (view) (download) (as text) - [select for diffs]
Modified Fri Feb 15 16:33:57 2002 UTC (22 years, 1 month ago) by pje
File length: 1109 byte(s)
Diff to previous 326
Fixed the %&$#(@%& distutils data file path problem, after much Googling
and Use of The Source.

Revision 326 - (view) (download) (as text) - [select for diffs]
Modified Fri Feb 15 14:23:54 2002 UTC (22 years, 1 month ago) by pje
File length: 649 byte(s)
Diff to previous 325
Fixed bad data file path

Revision 325 - (view) (download) (as text) - [select for diffs]
Added Fri Feb 15 14:22:07 2002 UTC (22 years, 1 month ago) by pje
File length: 645 byte(s)
Initial (untested) setup.py

This form allows you to request diffs between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.

  Diffs between and
  Type of Diff should be a

Sort log by:

cvs-admin@eby-sarna.com

Powered by ViewCVS 1.0-dev

ViewCVS and CVS Help