[Import-SIG] PEP 382: Partial packages (was: Is ".ns" really the right extension?)

"Martin v. Löwis" martin at v.loewis.de
Sun Jul 10 19:27:29 CEST 2011

I've been talking to people about how things should be named in PEP 382.

I think "namespace package" is the wrong name for the feature: every
package is a namespace, as is every class, object, and function. In
setuptools, there might have been a point in calling it "namespace
package" to indicate it is a *mere* namespace (i.e. can't contain
code on its own); this won't be the case for the PEP 382 feature.

Likewise, people had objections to the .ns extension:
- as Phillip points out, people may confuse the file with actually
  being a namespace
- the .ns extension does not indicate that it belongs to Python,
  which apparently is important to people (who otherwise don't
  know what piece of software is in charge of that file); this
  is also a flaw in Phillip's proposed '.contrib' file
- the extension asks to invoke Godwin's law

So here is my proposal:

- the feature defined in PEP 382 is called "partial package",
  indicating that the entire package may be more than that.
  "package portion" could work as well, as could "component
  package" or "package component"; "partial package has the
  advantage of raising associations with C#'s "partial classes"
  which are esstentially the same feature (but on a class level).
- the extension is ".pyp", for "Python Package"

What do you think?


More information about the Import-SIG mailing list