开发者

What is behind python package namespaces: z3c, zc, collective?

开发者 https://www.devze.com 2023-02-11 22:53 出处:网络
So they all are somehow related to开发者_JAVA技巧 zope. Question is how? I am not familiar with Zope. I guess that zc, z3c stand for Zope Component and Zope3 Component but I want to be sure. Also the

So they all are somehow related to开发者_JAVA技巧 zope. Question is how?

I am not familiar with Zope. I guess that zc, z3c stand for Zope Component and Zope3 Component but I want to be sure. Also there is a collective namespace. What kind of packages goes under it?

What are other well known python package namespaces?

Are there any conventions when package should be namespaced with zc, z3c and others?

Sometimes I see packages starting with zc and I can't rationate why are they namespaced. For example z3c.sqlalchemy has namespace because it is a wrapper of sqlalchemy for zope projects. But another example zc.buildout looks like a completely independent project. Did it got the namespace only because it is developed by people who work on Zope? If I would work on Zope would that mean that I should prefix my projects with zc even if they are not relevant to any other Zope package?


  • zc is "Zope Corporation".
  • z3c is "Zope 3 community", a namespace that long since has been "deprecated", ie no new packages are made with this namespace.
  • collective refers to the Plone Collective, a svn repository for Plone packages with a friendly attitude towards contributors. It's been the "default" namespace for new generic Plone packages that are not a part of Plone core for quite some time now.

Also of interest is:

  • zope originally used for packages that was a part of Zope 3. Now rarely used for new packages.
  • Products, used for older Zope2 / Plone packages. A hystorical remnant of the fact that all Zope2 products had to be in a Products directory, since before there was namespace packages.


Stephan Richter and I where prototyping some packages on a zope sprint which didn't really fit into the zope package namespace. This was the time we started using z3c as a package name. This should mean zope 3 community as Lennart says. But the namespace is not deprecated.

Probably the question is more which license commiter agreement does someone like to use if he likes to commit to a zope package repository. I think z3c and collective use different license stuff.

The z3c repos is a part of the zope repository and uses the same license (ZPL) etc. as zope itself uses. But this also means you need to be a zope contributer for using it.

btw, using the z3c or collective outside the relevant repositories is probably a very bad ide.

Regards Roger Ineichen

0

精彩评论

暂无评论...
验证码 换一张
取 消