[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