Skip to main content

zc.buildout recipes to perform a variety of tasks required by Bob satellite packages

Project description

https://travis-ci.org/bioidiap/xbob.buildout.svg?branch=master

Buildout Recipes for Bob Packages

This package contains a number of recipes to be used to build Satellite Packages for Bob, a signal-processing and machine learning toolbox originally developed by the Biometrics Group at Idiap, in Switzerland.

C++/Python Extension

This extension allows you to compile C/C++ extensions that depend on each other using a buildout. It assures that eggs living in both develop-eggs and eggs are on your path before building the packages in the develop section. By using this extension you can drop the use of the local recipe xbob.buildout:develop, which should be considered deprecated.

Supported Options

verbose

If set, buildout it will output the compilation commands while compiling the module.

prefixes

A list of directories where this recipe will look for installed software, such as compiled libraries and header files. It is the same as setting the environment variable XBOB_PREFIX_PATH to a list of paths containing externally installed software. As a side-effect, setting XBOB_PREFIX_PATH also sets, internally, PKG_CONFIG_PATH to a list of directories following where to search for pkg-config files.

debug

If set, the module will be compiled with debugging symbols and with optimization turned off. If debug is set to true, this is equivalent to appending the environment variables CFLAGS and CXXFLAGS with -O0 -g. If it is set to false, it is the same as appending -O3 -g0 instead.

environ

The name of a section on your configuration file that contains the names and values of environment variables that should be used through the build. This section is named, by default, environ.

If a section named environ exists, it is read and the environment variables are set before the specified eggs are developed. You can use variable substitution on this section. Here is an an example:

[environ]
CFLAGS = '-O0 -g -DNDEBUG'
CXXFLAGS = ${CFLAGS}

Notice there is some functionality overlap between the previous flags and the use of section environ. While it is more flexible, you must understand the consequences of setting both prefixes and debug, together with environ. The rule is simple: values set on the environ section have precedence to debug and prefixes. If you set debug and CFLAGS (or CXXFLAGS) in the environ section, for example, then the values on the final CFLAGS variable would be -O0 -g followed by environ’s CFLAGS settings. Analogously, the paths defined by environ’s XBOB_PREFIX_PATH and PKG_CONFIG_PATH are prepended to those listed in prefixes, if that is also set.

Multi-Script Installer

This recipe installs all most used scripts and interpreter proxies for your package. It will look at the buildout section entry called prefixes, that potentially lists prefixes that should be prepended to the default python environment. In these prefixes, it will look for standard python directories. If one or more are found, these paths are prepended into the resulting scripts generated by this recipe and eggs will be searched on those locations prioritarily.

By default, this recipe will use the eggs defined at the buildout section called eggs, but that can be overriden locally. It generates these scripts:

python

A pre-configured python interpreter

gdb-python

A pre-configured python interpreter, prefixed with gdb to make debugging easier. Use it like you use python.

nosetests

A test runner called nosetests will be created on the bin directory of buildout.

sphinx

Several sphinx utilities will be created on the bin directory of buildout.

package scripts

Package scripts will be created taking into account the prefixes established for this section or globally (as a second priority).

To use this recipe, you just have to simply do:

[scripts]
recipe = xbob.buildout:scripts

Common Supported Options

The recipe supports the following options:

prefixes

A list of directories where this recipe will look for subdirectories with the stem lib/python*/site-packages. All directories matching this condition are appended to the search paths. If not given, the value of this property defaults to buildout.prefixes. Both can be empty, which makes this recipe default to using standard available paths.

eggs

The eggs option specifies a list of eggs to use for building this package. Each string must be given on a separate line. If not given, the value of this property defaults to buildout.eggs.

dependent-scripts

If set to the string true, scripts will be generated for all required eggs in addition to the eggs specifically named.

interpreter

The name of a script to generate that allows access to a Python interpreter that has the path set based on the eggs installed. If you don’t specify anything, the default value python will be used.

extra-paths

Extra paths to be appended in a generated script. To prepend, using the prefixes entry.

nose-flags

These are extra flags that are appended to the given nosetests command line, automatically. Use this to preset arguments you like running all the time like -v, for example.

Other Recipes

This package also provides recipes that allow for the discrete installation of interpreters and support programs, lumped together with the scripts recipe described above. You can use some of the options described above with these recipes. For example, the prefixes, eggs and extra-paths are considered by all these recipes.

python

This recipe generates just a python interpreter on the binary directory. Extra options considered: interpreter.

ipython

This recipe generates an IPython interpreter on the binary directory. Extra options considered: interpreter.

gdb-python

This recipe generates a gdb launcher using the python interpreter so you can start your scripts directly typing gdb-python myscript.py.

pylint

No extra options for this recipe.

nose

This recipe generates only the nosetests program. Extra options considered are:nose-flags.

sphinx

This recipe generates only the Sphinx documentation generator applications. Extra options considered: none.

egg.scripts

This recipe generates only the scripts (and dependent scripts) for the package. Extra options considered: dependent-scripts.

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

xbob.buildout-0.4.4.zip (32.0 kB view details)

Uploaded Source

File details

Details for the file xbob.buildout-0.4.4.zip.

File metadata

  • Download URL: xbob.buildout-0.4.4.zip
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for xbob.buildout-0.4.4.zip
Algorithm Hash digest
SHA256 83a46feda0b7c9ac83a546351d5e770b388ee6bf4b4e4883a35e0d411041a387
MD5 4e00d2604b1b30e93dec7e309f5eaacd
BLAKE2b-256 ce6c4524f8f8554edf150a6b0c1fb79ffc217dc40dfc3e76ac6a179a898d8e21

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