FWIW, when/if I end up trying to introduce component architecture ideas and
practices to projects or groups not already using Zope or BFG, chances are I
will start here, rather than than with the zope.* equivalents.  While I
don't have any particular opinion about XML vs YAML, I have found the
heuristic that all component lookups are based on interfaces to lead the
abuse of the interface concept.  Marker interfaces, I think, are a symptom
of this.  They're not really interfaces.  But they are markers.  Use of
strings as markers I think relieves this stress on the interface concept and
opens up some more (not yet even thought up) usage patterns that could be

It also relieves the temptation to pull in zope.interface when one wishes to
use the *concept* of interfaces in their code, but not necessarily Zope's
implementation of such.  I'm starting to think that for the advantages
interfaces provide in terms of writing polymorphic, OOP code in Python,
abstract base classes might be a more natural way to go.


On Mon, Jun 22, 2009 at 3:52 PM, Chris McDonough <chr...@plope.com> wrote:

> I have released two new packages to PyPI.  These packages were inspired by
> (design almost entirely stolen from) zope.component and zope.configuration.
>  I
> don't really expect them to get much use, but writing them was
> enlightening.
> Maybe they'll be interesting to someone who wants to introduce people to
> zope-style componentry without using interfaces and zope-style
> configuration
> without schema or XML.
> repoze.component
> ----------------
> package: http://pypi.python.org/pypi/repoze.component/0.1
> docs: http://docs.repoze.org/component/
> code: http://svn.repoze.org/repoze.component/trunk/
> This package differs from zope.component inasmuch as it disuses the concept
> of
> interface, instead favoring string markers.
> repoze.configuration
> --------------------
> package: http://pypi.python.org/pypi/repoze.configuration/0.1
> docs: http://docs.repoze.org/configuration/
> code: http://svn.repoze.org/repoze.configuration/trunk/
> This package differs from zope.configuration inasmuch as it uses YAML
> instead of
> XML, and doesn't use schemas to define directive attributes.
> Have fun,
> - C
> _______________________________________________
> Repoze-dev mailing list
> Repoze-dev@lists.repoze.org
> http://lists.repoze.org/listinfo/repoze-dev
Repoze-dev mailing list

Reply via email to