Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

Download
ActivePython
INSTALL>
pypm install buildout.sendpickedversions

How to install buildout.sendpickedversions

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install buildout.sendpickedversions
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
0.2
1.0-alpha.1Never BuiltWhy not?
0.2 Available View build log
0.1 Available View build log
Windows (64-bit)
0.2
1.0-alpha.1Never BuiltWhy not?
0.2 Available View build log
0.1 Available View build log
Mac OS X (10.5+)
0.2
1.0-alpha.1Never BuiltWhy not?
0.2 Available View build log
0.1 Available View build log
Linux (32-bit)
1.0-alpha.1 Available View build log
0.3 Available View build log
0.2 Available View build log
0.1 Available View build log
Linux (64-bit)
1.0-alpha.1 Available View build log
0.3 Available View build log
0.2 Available View build log
0.1 Available View build log
 
License
GPL
Dependencies
Lastest release
version 1.0-alpha.1 on Mar 24th, 2013

buildout.sendpickedversions

This package is heavily inspired by buildout.dumppickedversions and its purpose is to gather the buildout information and send it as json data to a specified remote server.

Remote server can be anything that can handle json data, but there is already working server for that - Whiskers. Whiskers is developed hand in hand with buildout.sendpickedversions to store and display the data.

Configuration

To use buildout.sendpickedversions with buildout your buildout.cfg should have buildout.sendpickedversions in you extensions-line and following fields configured:

buildoutname
This is the name of the buildout. Whiskers uses this information to create new buildout object with the package data. If buildout configuration doesn't contain buildoutname the script picks the folders name where buildout is located.
send-data-url
This is the url where data is sent after buildout has been run. If you leave this empty or don't set at all buildout.sendpickedversions just displays the data dict. In earlier versions of buildout.sendpickedversions this setting was called whiskers-url - this works until next major version (2.x).

To get most out of buildout.sendpickedversions above configuration should be in buildouts global configuration at $HOME/.buildout/default.cfg.

Example

Here's small example configuration.

[buildout]
extensions = buildout.sendpickedversions
buildoutname = test
send-data-url = http://localhost:6543

parts = nose

[nose]
recipe = zc.recipe.egg
eggs = nose

Above example configuration assumes you have Whiskers server running locally on port 6543. If you run buildout it will install nose normally to your buildout environment. After buildout has set up the environment buildout.sendpickedversions will try to send following json formatted data to the url specified in configuration:

{'buildout_config': {
    'allow-hosts': '*',
    'allow-picked-versions': 'true',
    'bin-directory': '/buildout/example/bin',
    'buildoutname': 'test',
    'develop-eggs-directory': '/buildout/folder/develop-eggs',
    'directory': '/buildout/folder',
    'download-cache': '/home/user/.buildout/download-cache',
    'eggs-directory': '/home/user/.buildout/eggs-directory',
    'executable': '/path/to/python',
    'extends-cache': '/home/user/.buildout/extends-cache',
    'extensions': 'buildout.sendpickedversions',
    'find-links': '',
    'install-from-cache': 'false',
    'installed': '/buildout/folder/.installed.cfg',
    'log-format': '',
    'log-level': 'INFO',
    'newest': 'false',
    'offline': 'false',
    'parts': 'nose',
    'parts-directory': '/buildout/folder/parts',
    'prefer-final': 'true',
    'python': 'buildout',
    'send-data-url': 'http://localhost:6543',
    'show-picked-versions': 'false',
    'socket-timeout': '',
    'update-versions-file': '',
    'use-dependency-links': 'true',
    'versions': 'versions'},
 'finished': '2013-03-20T11:06:42.900950',
 'hostname': 'latitude',
 'ipv4': '127.0.1.1',
 'packages': {
     'Python': {'requirements': [], 'version': '2.7'},
     'argparse': {'requirements': [], 'version': '1.2.1'},
     'buildout.sendpickedversions': {'requirements': [{'name': 'setuptools'},
                                                      {'name': 'zc.buildout'}],
                                     'version': '1.0a1'},
     'distribute': {'requirements': [], 'version': '0.6.35'},
     'nose': {'requirements': [], 'version': '1.2.1'},
     'pip': {'requirements': [], 'version': '1.2.1'},
     'wsgiref': {'requirements': [], 'version': '0.1.2'},
     'zc.buildout': {'requirements': [{'name': 'setuptools'}],
                     'version': '2.0.1'},
     'zc.recipe.egg': {'requirements': [{'equation': '>=',
                                         'name': 'zc.buildout',
                                         'version': '1.2.0'},
                                        {'name': 'setuptools'}],
                       'version': '2.0.0a3'}},
 'pinned_versions': {'zc.buildout': '>=2.0.1', 'zc.recipe.egg': '>=2.0.0a3'},
 'started': '2013-03-20T11:06:42.279059',
 'versionmap': {
     'Python': '2.7',
     'argparse': '1.2.1',
     'buildout.sendpickedversions': '1.0a1',
     'distribute': '0.6.35',
     'nose': '1.2.1',
     'pip': '1.2.1',
     'wsgiref': '0.1.2',
     'zc.buildout': '2.0.1',
     'zc.recipe.egg': '2.0.0a3'}}
Thanks

Code is mainly based to Mustapha Benali's buildout.dumppickedversions. This buildout extension has probably saved thousands of buildouts from nasty version conflicts or total havoc. Huge thanks!

Changelog

1.0-alpha.1 (2013-03-20)
  • Returns a lots of new information about buildout including whole buildout section (with defaults and computed values as well).
  • Returns absolutely all package requirements with versions numbers (both picked version and fuzzy version requirement like zope.interface >= 3.8).
  • Picks buildout name from directory name - no need to specify buildoutname to buildout config anymore (though you still can if you want to).
0.3 (2012-10-11)
  • Performance optimizations (ported from zc.buildout).
0.2 (2011-10-16)
  • Sends data urlencoded.
0.1 (2011-10-16)
  • Initial import

Subscribe to package updates

Last updated Mar 24th, 2013

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.