zc.buildout recipes to perform a variety of tasks required by Bob satellite packages
Project description
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 Package Builder
This recipe can build C++/Python extensions that link against Bob using pkg-config. This recipe will look at the buildout section entry called prefixes, that potentially lists prefixes that should be prepended to the default pkg-config environment:
[mycxx] recipe = xbob.buildout:develop
Unfortunately, zc.buildout will not consider setup_requires entries on your package’s setup.py. You will have to repeat those eggs on the entry eggs for this recipe. You can ignore the special entry xbob.extension, which is included by default.
Supported Options
The recipe supports the following options:
- eggs
The eggs option specifies a list of eggs to use for building this package. Each string must be given on a separate line. The entry xbob.extension is included by default.
- buildout.eggs
The eggs option specifies a list of eggs to use for building this package. Each string must be given on a separate line. This value is overriden by a local section eggs entry.
- buildout.prefixes
A list of directories where this recipe will look for subdirectories with the stem lib/pkgconfig. All directories matching this condition are appended to the pkg-config environment using the environment variable PKG_CONFIG_PATH.
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
- ipython
If the package ipython is installed, a pre-configured ipython interpreter will also be created
- nosetests
If the package nose is installed, a test runner called nosetests will be created on the bin directory of buildout.
- sphinx- utils
If the package sphinx is installed, 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
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.
Sphinx Recipe (Deprecated)
Recipe for sphinx/buildout integration. To use it, add something like the following to your buildout configuration:
[sphinx] recipe = xbob.buildout:sphinx source = ${buildout:directory}/docs ; where documentation is build = ${buildout:directory}/sphinx ; where results will be put at ;script = sphinxgen.py
The main difference between this package and the original is the addition of the eggs parameter which obsoletes the use of interpreter in many cases.
After running buildout you should get a sphinx executable script in your bin directory you can use to scan and generate your documentation in various formats. The name of the script generated matches the section name, but you can overwrite it with the script parameter.
Supported Options
The recipe supports the following options:
- 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.
- buildout.eggs
The eggs option specifies a list of eggs to use for building this package. Each string must be given on a separate line. This value is overriden by a local section eggs entry.
- build (default: sphinx)
Specify the build documentation root.
- source (default: {build-directory}/docs)
Speficy the source directory of documentation.
- outputs (default: html)
Multiple-line value that defines what kind of output to produce. Can be doctest, html, latex, pdf or epub.
- script (default: name of buildout section)
The name of the script generated
- interpreter
Path to python interpreter to use when invoking sphinx-builder.
- extra-paths
One or more extra paths to include in the generated test script. The paths are appended.
Nose Test Generator Recipe (Deprecated)
Recipe to generate a test scanner for your package and dependencies (if you would like to test them). To use this recipe, just create a section on your buildout.cfg file like the following:
[tests] recipe = xbob.buildout:nose
This run all tests declared in the buildout:eggs entry. You can specify more entries in the tests:eggs entry if you need to do so. After running buildout you should be left with a script called bin/tests that can run all the tests for you. The name of the script generated matches the section name, but you can overwrite it with the script parameter.
Supported Options
The recipe supports the following options:
- 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.
- buildout.eggs
The eggs option specifies a list of eggs to use for building this package. Each string must be given on a separate line. This value is overriden by a local section eggs entry.
- script
The script option gives the name of the script to generate, in the buildout bin directory. Of the option isn’t used, the part name will be used.
- extra-paths
One or more extra paths to include in the generated test script. The paths are appended.
- defaults
The defaults option lets you specify testrunner default options. These are specified as Python source for an expression yielding a list, typically a list literal.
- working-directory
The working-directory option lets to specify a directory where the tests will run. The testrunner will change to this directory when run. If the working directory is the empty string or not specified at all, the recipe will not change the current working directory.
- environment
A set of environment variables that should be exported before starting the tests.
External Eggs Recipe (Deprecated)
This recipe receives as input a list of directories that it recursively scans for eggs. If an egg is found, a similar .egg-link file is created in the buildout:eggs-directory linking that egg to the current installation.
To use this recipe, add something like the following to your buildout configuration:
[external] recipe = xbob.buildout:external egg-directories = ../bob/build/lib
Supported Options
The recipe supports the following options:
- egg-directories
A list of directories that we will scan for eggs
- include-globs
A list of globbing expression (*.egg or bla-*.egg-info, for example) for path names that will be considered for inclusion. Defaults to bob*.egg-info.
- recurse
If set to 1 or true, recurses into all subdirectories (the default behavior). Else, if set to 0 or false, does not, just looks what is available in the given directories.
- strict-version
If set to 1 or true, only consider packages with strictly valid version numbers in the sense of distutils.version.StrictVersion. This parameter is set to true by default.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file xbob.buildout-0.2.3.zip
.
File metadata
- Download URL: xbob.buildout-0.2.3.zip
- Upload date:
- Size: 25.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 78c832ef1b6060624dcbf9606bc0474455ebdc72d4fe22d2c65f7a87440b64e7 |
|
MD5 | 4dd5d58cd93599af4a9d68d3136e95ba |
|
BLAKE2b-256 | 0de018e1a749c9581866409f973736c1a6a62d477c136c9374132e151d3f89e9 |