Dots are appropriate in package names when they contain namespace
packages but pyramid is not a namespace package.

Answer to the next question: why is pyramid not a namespace package when
repoze.bfg was?  Namespace packages are pretty great when you first
start out because you can decide to move questionable functionality out
of the package and into a separate distribution (e.g. move a file from
the repoze.bfg distribution named "lxml" to a "repoze.bfg.lxml"
distribution) with minimal distruption to users (just tell them to
install repoze.bfg.lxml and their code continues to work).

There are issues with namespace packages though.

- You can't easily do the inverse (move a previously external module
  *in* to a separate distribution's package space), because the current
  crop of distribution tools do not support an "this distribution
  obsoletes that one" functionality.

- When a package is a namespace package, its __init__ cannot contain
  any "API-meaningful" code.  So if we wanted to make pyramid.__init__
  into a "facade" module at some point (e.g. instead of making people
  type "from pyramid.configuration import Configurator" we could
  allow them to do "from pyramid import Configurator" without breaking
  old code by adding "from pyramid.configuration import Configurator"
  to pyramid.__init__), it would be impossible if pyramid was a
  namespace package.

Basically, we just decided to not use namespace packages, because we
weren't getting a lot of value from them.

> Hi All,
> 
> I notice that as part of the move from repoze.bfg to pyramid, the dots
> have changed to underscores.
> 
> This is something I've thought about a lot in the past myself, but never
> managed to come up with a decent answer, so I'd be very interested to
> know what tipped the balance to change all the dots to underscores?
> 
> cheers,
> 
> Chris
> 
> -- 
> Simplistix - Content Management, Batch Processing & Python Consulting
>              - http://www.simplistix.co.uk
> 


-- 
You received this message because you are subscribed to the Google Groups 
"pylons-devel" group.
To post to this group, send email to pylons-de...@googlegroups.com.
To unsubscribe from this group, send email to 
pylons-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/pylons-devel?hl=en.

  • . to _ Chris Withers
    • Re: Fwd: . to _ Chris McDonough

Reply via email to