[Web-SIG] Entry points and import maps (was Re: Scarecrow deployment config
Ian Bicking
ianb at colorstudy.com
Mon Jul 25 03:49:22 CEST 2005
Chris McDonough wrote:
> Sorry, I think I may have lost track of where we were going wrt the
> deployment spec. Specifically, I don't know how we got to using eggs
> (which I'd really like to, BTW, they're awesome conceptually!) from
> where we were in the discussion about configuring a WSGI pipeline. What
> is a "feature"? What is an "import map"? "Entry point"? Should I just
> get more familiar with eggs to understand what's being discussed here or
> did I miss a few posts?
It wouldn't hurt to read up on eggs. It's not obvious how they fit
here, and it's taken me a while to figure it out. But specifically:
* Eggs are packages. Packages can have optional features. Those
features can have additional requirements (external packages) that the
base package does not have. Package specifications are spelled like
"PackageName>=VERSION_NUMBER[FeatureName]"
* Import maps and entry points are new things we're discussing now.
They are kind of the same thing; basically an entry point maps a logical
specification (like a 'wsgi.app_factory' named 'foo') to a actual import
statement. That's the configuration file:
[wsgi.app_factory]
app = mymodule.wsgi:make_app
Which means to get an object "app" which fulfills the spec
"wsgi.app_factory" you would do "from mymodule.wsgi import make_app"
Eggs have an PackageName.egg-info directory, where configuration files
can go, and pkg_resources (which is part of setuptools, and associated
with easy_install, and defines the require() function) can find and
parse them.
--
Ian Bicking / ianb at colorstudy.com / http://blog.ianbicking.org
More information about the Web-SIG
mailing list