Skip to main content

zc.buildout recipes to compile and install software or python packages and generate scripts or configuration files sponsored by Makina Corpus.

Project description

Introduction

The egg has those entry point:

  • printer: print or dump to a file all versions needed to achieve eggs requirements (versions.cfg made easy)

You can browse the code on minitage’s following resources:

Makina Corpus sponsored software

makinacom

minitage.recipe.printer

Abstract

  • This recipe intends to install eggs and python software and on top of installed stuff, generating KGS (Known good Set) versions file.

  • This will help you to pin all the eggs used by a specific application by generating nicely configs with all eggs pinned insude?

  • This recipe inherit from minitage;recipe:egg.

Specific options

Please look for options at : http://pypi.python.org/pypi/minitage.recipe.common#options-shared-by-all-the-recipes And also for options at :http://pypi.python.org/pypi/minitage.recipe.egg#specific-options

  • quiet

    if set: do not print anything to stdout

  • file

    file to write the version to

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.printer'])
>>> 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('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('..')

Writing only to output

Do not specify the file option.

>>> data = """
... [buildout]
... download-cache=${buildout:directory}
... parts = part
... [part]
... recipe=minitage.recipe.printer
... find-links=%(index)s
... eggs=foo
... """%{'index': index_url}
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout -vvvvv install')
b...
minitage.recipe: Maybe put this in a cfg like file ;)
#--- 8-< 8-<  8-<  8-<  8-<  8-<  8-<  ---...
[versions]
foo=1.0...
[buildout]
versions=versions...
#--- 8-< 8-<  8-<  8-<  8-<  8-<  8-<  ---...

Writing to a file

Feed the part with the file option.

>>> data = """
... [buildout]
... download-cache=${buildout:directory}
... parts = part
... [part]
... recipe=minitage.recipe.printer
... find-links=%(index)s
... eggs=foo
... file=toto.cfg
... """%{'index': index_url}
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout -vvvvv install')
b...
#--- 8-< 8-<  8-<  8-<  8-<  8-<  8-<  ---
minitage.recipe: Generated: toto.cfg...
>>> cat('toto.cfg')
<BLANKLINE>
<BLANKLINE>
[versions]
foo=1.0
<BLANKLINE>
[buildout]
versions=versions
<BLANKLINE>
<BLANKLINE>

Be quiet please, baby is sleeping

Set the quiet flag.

>>> data = """
... [buildout]
... download-cache=${buildout:directory}
... parts = part
... [part]
... recipe=minitage.recipe.printer
... find-links=%(index)s
... eggs=foo
... quiet=1
... file=toto.cfg
... """%{'index': index_url}
>>> touch('buildout.cfg', data=data)
>>> sh('bin/buildout -vvvvv install')
b...
minitage.recipe: All egg dependencies seem to be installed!
minitage.recipe: Generated: toto.cfg...

CHANGELOG

1.39 (2013-03-29)

  • release fix

1.36

  • decorator helper

1.35

  • splitted out from minitage.recipe

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

minitage.recipe.printer-1.39.zip (16.7 kB view details)

Uploaded Source

File details

Details for the file minitage.recipe.printer-1.39.zip.

File metadata

File hashes

Hashes for minitage.recipe.printer-1.39.zip
Algorithm Hash digest
SHA256 ad8a0bd959dd4be50c12ea144beafe22fc043c7da87516d2c85d184c4c5d4def
MD5 872f558001c2502a80cfa4d352da3c90
BLAKE2b-256 d03e3dac72221a72411563d80e08b2c70b5450472754574b5a2a41b292918dc1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page