Metadata-Version: 1.0
Name: minitage.recipe.wsgi
Version: 1.35
Summary: zc.buildout recipes to compile and install software or python packages and generate scripts or configuration files.
Home-page: http://cheeseshop.python.org/pypi/minitage.recipe.wsgi
Author: Mathieu Pasquet
Author-email: kiorky@cryptelium.net
License: BSD
Description: ******************************************************************************
        Recipe for compiling and installing software with or without minitage
        ******************************************************************************
        
        .. contents::
        
        =======================
        Introduction
        =======================
        
        The egg has those entry point:
        
        - *wsgi*: Make a Python paste configuration file eatable by mod_wsgi with
        all the eggs dependencies you need.
        
        You can browse the code on minitage's following resources:
        
        - http://git.minitage.org/git/minitage/eggs/minitage.recipe.wsgi/
        - http://www.minitage.org/trac/browser/minitage/eggs/minitage.recipe.wsgi
        
        
        
        ===============================================
        minitage.recipe.wsgi
        ===============================================
        
        Abstract
        -----------------
        
        - This recipe is inspired by collective.recipe.modwsgi but use
        minitage code to generate  a wrapper to launch a paste configuration file, suitable for mod_mwsgi.
        - This recipe inherit from minitage;recipe:egg.
        - I recommend Spawning to be the WSGI server, but in the wonderful world of system administration, you
        don't have always the choice of the final technology to use. This will help to to use mod_wsgi with
        buildout based installations.
        
        Specific options
        -----------------
        
        * All the shared options and the options from minitage.recipe:egg +
        * config-file
        full path to the paste configuration file to use
        
        
        Detailled documentation
        -------------------------
        
        Let's create a buildout configuration file::
        
        >>> rmdir(tempdir)
        >>> mkdir(tempdir)
        >>> cd(tempdir)
        >>> a = [mkdir(d) for d in ('eggs', 'develop-eggs', 'bin', 'src')]
        >>> install_develop_eggs(['minitage.recipe.wsgi'])
        >>> install_eggs_from_pathes(['zc.buildout'], sys.path)
        >>> touch('buildout.cfg')
        >>> sh('buildout -o bootstrap')
        buildout -o bootstrap...
        >>> index_url = start_server(os.path.sep.join(tempdir))
        
        Initializing test env.
        +++++++++++++++++++++++
        ::
        
        >>> if os.path.exists('foo'): rmdir(foo)
        >>> mkdir('foo')
        >>> mkdir('foo/src/toto')
        >>> touch('foo/setup.py', data="""
        ... from setuptools import setup, find_packages
        ... setup(name='foo', version='1.0',
        ...     packages=find_packages('src'),
        ...     package_dir = {'': 'src'},
        ...     include_package_data=True,
        ...     scripts=['src/toto/toto.py'],
        ...     entry_points={'console_scripts': ['s=toto.toto:f']},
        ...     )
        ... """)
        >>> touch('foo/src/toto/__init__.py')
        >>> touch('toto.cfg')
        >>> touch('foo/src/toto/toto.py', data="""
        ... def f():
        ...     print "foo"
        ... if __name__ == '__main__' :
        ...     print 'called'
        ...
        ... """)
        >>> noecho = [os.remove(d) for d in os.listdir('.') if '.tar.gz' in d]
        >>> os.chdir('foo')
        >>> sh('python setup.py sdist')
        p...
        >>> noecho = [shutil.copy(os.path.join('dist', d), os.path.join('..', d)) for d in os.listdir('dist')]
        >>> os.chdir('..')
        
        Generating a mod_mwsgi friendly configuration
        +++++++++++++++++++++++++++++++++++++++++++++++++++
        Do not specify the file option.
        
        >>> data = """
        ... [buildout]
        ... download-cache=${buildout:directory}
        ... parts = part
        ... [part]
        ... recipe=minitage.recipe.wsgi
        ... config-file = toto.cfg
        ... find-links=%(index)s
        ... eggs=foo
        ... """%{'index': index_url}
        >>> touch('buildout.cfg', data=data)
        >>> sh('bin/buildout -vvvvv install')
        b...
        minitage.recipe: Generated script: '/tmp/buildout.test/parts/part/wsgi'...
        
        >>> cat('parts', 'part', 'wsgi')
        #!...
        #!!! #GENERATED VIA MINITAGE.recipe !!!...
        import sys
        sys.path[0:0] = [ '/tmp/buildout.test/eggs/foo-1.0-py....egg', ]...
        from paste.deploy import loadapp
        application = loadapp("config:toto.cfg")...
        
        
        =======================
        CHANGELOG
        =======================
        
        1.35
        -----
        
        - splitted out from minitage.recipe
        
        
        
Keywords: development buildout recipe
Platform: UNKNOWN
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
