Commit 7a57a862 authored by André Anjos's avatar André Anjos 💬

Standardise

parent bb2eb74d
py27-conda-idiap: # This build file is defined in two parts: 1) a generic set of instructions you
script: # probably **don't** need to change and 2) a part you may have to tune to your
- source /idiap/group/torch5spro/conda/bin/activate bob-2.3.4-py27_0 # project. It heavily uses template features from YAML to help you in only
# changing a minimal part of it and avoid code duplication to a maximum while
# still providing a nice pipeline display on your package.
# 1) Generic instructions (only change if you know what you're doing)
# -------------------------------------------------------------------
# Definition of our build pipeline
stages:
- build
- test
- docs
- wheels
# Global variables
variables:
CONDA_PREFIX: env
# Template for the build stage
# Needs to run on all supported architectures, platforms and python versions
.build_template: &build_job
stage: build
before_script:
- git clean -ffdx - git clean -ffdx
- export TMPDIR=/var/tmp - curl --silent https://gitlab.idiap.ch/bob/bob/snippets/7/raw | tr -d '\r' > bootstrap-conda.sh
- python bootstrap-buildout.py - chmod 755 ./bootstrap-conda.sh
- ./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX}
variables: &build_variables
BOB_DOCUMENTATION_SERVER: "http://www.idiap.ch/software/bob/docs/latest/bob/%s/master/"
script:
- ./bin/buildout - ./bin/buildout
- unset TMPDIR - if [ -x ./bin/bob_dbmanage.py ]; then ./bin/bob_dbmanage.py all download --force; fi
- ./bin/python --version - ./bin/sphinx-build doc sphinx
- export NOSE_WITH_COVERAGE=1 - ./bin/python setup.py bdist_wheel --python-tag ${WHEEL_TAG}
- export NOSE_COVER_PACKAGE=bob.bio.vein after_script:
- ./bin/bob_dbmanage.py vera download - rm -rf ${CONDA_PREFIX}
- ./bin/nosetests -sv bob.bio.vein artifacts:
- ./bin/sphinx-build doc html expire_in: 1 day
- ./bin/resources.py -d --packages=bob.bio.vein paths:
tags: - bootstrap-conda.sh
- lidiap2015 - dist/
- sphinx/
# Template for building on a Linux machine
.build_linux_template: &linux_build_job
<<: *build_job
variables: &linux_build_variables
<<: *build_variables
CONDA_FOLDER: "/local/conda"
CFLAGS: "-D_GLIBCXX_USE_CXX11_ABI=0 -coverage"
CXXFLAGS: "-D_GLIBCXX_USE_CXX11_ABI=0 -coverage"
# Template for building on a Mac OSX machine
.build_mac_template: &macosx_build_job
<<: *build_job
variables: &macosx_build_variables
<<: *build_variables
CONDA_FOLDER: "/opt/conda"
MACOSX_DEPLOYMENT_TARGET: "10.9"
CFLAGS: "-pthread -coverage"
CXXFLAGS: "-pthread -coverage"
LDFLAGS: "-lpthread"
# Template for the test stage - re-install from uploaded wheels
# Needs to run on all supported architectures, platforms and python versions
.test_template: &test_job
stage: test
before_script:
- ./bootstrap-conda.sh ${CONDA_FOLDER} ${PYTHON_VER} ${CONDA_PREFIX}
- source ${CONDA_FOLDER}/bin/activate ${CONDA_PREFIX}
- pip install --use-wheel --no-index --pre dist/*.whl
script:
- cd ${CONDA_PREFIX}
- python -c "from ${CI_PROJECT_NAME} import get_config; print(get_config())"
- coverage run --source=${CI_PROJECT_NAME} ./bin/nosetests -sv ${CI_PROJECT_NAME}
- coverage report
- sphinx-build -b doctest ../doc ../sphinx
after_script:
- rm -rf ${CONDA_PREFIX}
# Template for the wheel uploading stage
# Needs to run against one combination of python 2.x and 3.x if it is a python
# only package, otherwise, needs to run in both pythons to all supported
# architectures (Linux and Mac OSX 64-bit)
.wheels_template: &wheels_job
stage: wheels
only:
- master
- tags
before_script:
- curl --silent https://gitlab.idiap.ch/bob/bob/snippets/8/raw | tr -d '\r' > upload-wheel.sh
- chmod 755 upload-wheel.sh
script:
- ./upload-wheel.sh
# Template for (latest) documentation upload stage
# Only one real job needs to do this
.docs_template: &docs_job
stage: docs
only:
- master
before_script:
- curl --silent https://gitlab.idiap.ch/bob/bob/snippets/9/raw | tr -d '\r' > upload-sphinx.sh
- chmod 755 upload-sphinx.sh
script:
- ./upload-sphinx.sh
# 2) Package specific instructions (you may tune this if needed)
# --------------------------------------------------------------
# Linux + Python 2.7: Builds, tests, uploads wheel
build_linux_27:
<<: *linux_build_job
variables: &linux_27_build_variables
<<: *linux_build_variables
PYTHON_VER: "2.7"
WHEEL_TAG: "py27"
tags:
- conda-linux
test_linux_27:
<<: *test_job
variables: *linux_27_build_variables
dependencies:
- build_linux_27
tags:
- conda-linux
wheels_linux_27:
<<: *wheels_job
dependencies:
- build_linux_27
tags:
- conda-linux
# Linux + Python 3.4: Builds and tests
build_linux_34:
<<: *linux_build_job
variables: &linux_34_build_variables
<<: *linux_build_variables
PYTHON_VER: "3.4"
WHEEL_TAG: "py3"
tags:
- conda-linux
test_linux_34:
<<: *test_job
variables: *linux_34_build_variables
dependencies:
- build_linux_34
tags:
- conda-linux
# Linux + Python 3.5: Builds, tests, uploads wheel
build_linux_35:
<<: *linux_build_job
variables: &linux_35_build_variables
<<: *linux_build_variables
PYTHON_VER: "3.5"
WHEEL_TAG: "py3"
tags:
- conda-linux
test_linux_35:
<<: *test_job
variables: *linux_35_build_variables
dependencies:
- build_linux_35
tags:
- conda-linux
wheels_linux_35:
<<: *wheels_job
dependencies:
- build_linux_35
tags:
- conda-linux
docs_linux_35:
<<: *docs_job
dependencies:
- build_linux_35
tags:
- conda-linux
# Mac OSX + Python 2.7: Builds and tests
build_macosx_27:
<<: *macosx_build_job
variables: &macosx_27_build_variables
<<: *macosx_build_variables
PYTHON_VER: "2.7"
WHEEL_TAG: "py27"
tags:
- conda-macosx
test_macosx_27:
<<: *test_job
variables: *macosx_27_build_variables
dependencies:
- build_macosx_27
tags:
- conda-macosx
# Mac OSX + Python 3.4: Builds and tests
build_macosx_34:
<<: *macosx_build_job
variables: &macosx_34_build_variables
<<: *macosx_build_variables
PYTHON_VER: "3.4"
WHEEL_TAG: "py3"
tags:
- conda-macosx
test_macosx_34:
<<: *test_job
variables: *macosx_34_build_variables
dependencies:
- build_macosx_34
tags:
- conda-macosx
# Mac OSX + Python 3.5: Builds and tests
build_macosx_35:
<<: *macosx_build_job
variables: &macosx_35_build_variables
<<: *macosx_build_variables
PYTHON_VER: "3.5"
WHEEL_TAG: "py3"
tags:
- conda-macosx
test_macosx_35:
<<: *test_job
variables: *macosx_35_build_variables
dependencies:
- build_macosx_35
tags:
- conda-macosx
\ No newline at end of file
.. vim: set fileencoding=utf-8 : .. vim: set fileencoding=utf-8 :
.. Fri 08 Jul 2016 15:38:56 CEST .. Fri 19 Aug 2016 13:32:51 CEST
.. image:: http://img.shields.io/badge/docs-stable-yellow.png .. image:: http://img.shields.io/badge/docs-stable-yellow.png
:target: http://pythonhosted.org/bob.bio.vein/index.html :target: http://pythonhosted.org/bob.bio.vein/index.html
.. image:: http://img.shields.io/badge/docs-latest-orange.png .. image:: http://img.shields.io/badge/docs-latest-orange.png
:target: https://www.idiap.ch/software/bob/docs/latest/bioidiap/bob.bio.vein/master/index.html :target: https://www.idiap.ch/software/bob/docs/latest/bob/bob.bio.vein/master/index.html
.. image:: https://travis-ci.org/bioidiap/bob.bio.vein.svg?branch=master .. image:: https://gitlab.idiap.ch/bob/bob.bio.vein/badges/master/build.svg
:target: https://travis-ci.org/bioidiap/bob.bio.vein :target: https://gitlab.idiap.ch/bob/bob.bio.vein/commits/master
.. image:: https://coveralls.io/repos/bioidiap/bob.bio.vein/badge.png .. image:: https://img.shields.io/badge/gitlab-project-0000c0.svg
:target: https://coveralls.io/r/bioidiap/bob.bio.vein :target: https://gitlab.idiap.ch/bob/bob.bio.vein
.. image:: https://img.shields.io/badge/github-master-0000c0.png
:target: https://github.com/bioidiap/bob.bio.vein/tree/master
.. image:: http://img.shields.io/pypi/v/bob.bio.vein.png .. image:: http://img.shields.io/pypi/v/bob.bio.vein.png
:target: https://pypi.python.org/pypi/bob.bio.vein :target: https://pypi.python.org/pypi/bob.bio.vein
.. image:: http://img.shields.io/pypi/dm/bob.bio.vein.png .. image:: http://img.shields.io/pypi/dm/bob.bio.vein.png
:target: https://pypi.python.org/pypi/bob.bio.vein :target: https://pypi.python.org/pypi/bob.bio.vein
========================================= ==========================
The Biometrics Vein Recognition Library Vein Recognition Library
========================================= ==========================
Welcome to this Vein Recognition Library based on Bob. This library is designed
to perform a fair comparison of vein recognition algorithms. It contains
scripts to execute various of vein recognition experiments on a variety
of vein image databases, and running the help is as easy as going to the
command line and typing::
$ bin/verify.py --help This package is part of the signal-processing and machine learning toolbox
Bob_. It contains resources for finger, palm and wrist vein recognition as
`bob.bio.base`_ plugins.
About
-----
This library is currently developed at the `Biometrics group
<http://www.idiap.ch/scientific-research/research-groups/biometric-person-recognition>`_
at the `Idiap Research Institute <http://www.idiap.ch>`_. The vein recognition
library is designed to run vein recognition experiments in a comparable and
reproducible manner.
Databases
---------
To achieve this goal, interfaces to some publicly available vein image
databases are contained, and default evaluation protocols are defined, e.g.:
- UTFVP - University of Twente Finger Vein Database [http://www.sas.ewi.utwente.nl/]
- VERA - Finger vein Database [http://www.idiap.ch/scientific-research/resources]
- PUT - The PUT biometric vein (palm and wrist) recognition dataset [http://biometrics.put.poznan.pl/vein-dataset/]
Algorithms
----------
Together with that, implementations of a variety of traditional and
state-of-the-art vein recognition algorithms are provided:
* Maximum Curvature [MNM05]_
* Repeated Line Tracking [MNM04]_
* Wide Line Detector [HDLTL10]_
Tools to evaluate the results can easily be used to create scientific plots. We
also provide handles to run experiments using parallel processes or an SGE
grid.
Extensions
----------
On top of these already pre-coded algorithms, the vein recognition library
provides an easy Python interface for implementing new image preprocessors,
feature types, vein recognition algorithms or database interfaces, which
directly integrate into the vein recognition experiment. Hence, after a short
period of coding, researchers can compare new ideas directly with already
existing algorithms in a fair manner.
References
----------
.. [MNM05] *N. Miura, A. Nagasaka, and T. Miyatake*. **Extraction of Finger-Vein Pattern Using Maximum Curvature Points in Image Profiles**. Proceedings on IAPR conference on machine vision applications, 9, pp. 347--350, 2005.
.. [MNM04] *N. Miura, A. Nagasaka, and T. Miyatake*. **Feature extraction of finger vein patterns based on repeated line tracking and its application to personal identification**. Machine Vision and Applications, Vol. 15, Num. 4, pp. 194--203, 2004.
.. [HDLTL10] *B. Huang, Y. Dai, R. Li, D. Tang and W. Li*. **Finger-vein authentication based on wide line detector and pattern normalization**. Proceedings of the 20th International Conference on Pattern Recognition (ICPR), 2010.
Installation Installation
------------ ------------
The latest version of the vein recognition library can be installed with our Follow our `installation`_ instructions. Then, using the Python interpreter
`Conda-based builds`_. Once you have installed Bob_, just go on and install provided by the distribution, bootstrap and buildout this package::
this package using the same installation mechanism.
Development
-----------
In order to develop the latest version of this package, install Bob_ as
indicated above. Once that is done, do this::
$ git clone https://gitlab.idiap.ch/biometrc/bob.bio.vein.git
$ cd bob.bio.vein
$ python bootstrap-buildout.py $ python bootstrap-buildout.py
$ ./bin/buildout $ ./bin/buildout
After those steps, you should have a functional **development** environment to
test the package. The python interpreter and base environment on line 3 above
should be pre-installed with all dependencies required for Bob_ to operate
correctly. For example, you may start from our `conda-based builds`_ and then
use the Python interpreter in there to bootstrap your local development
environment.
Running tests
-------------
To verify that your installation worked as expected, you might want to run our
unit tests with::
$ ./bin/nosetests -sv
Cite our paper
--------------
If you use this library in any of your experiments, please cite the following Contact
paper:: -------
@inproceedings{Tome_IEEEBIOSIG2014, For questions or reporting issues to this software package, contact our
author = {Tome, Pedro and Vanoni, Matthias and Marcel, S{\'{e}}bastien}, development `mailing list`_.
keywords = {Biometrics, Finger vein, Spoofing Attacks},
projects = {Idiap, BEAT},
month = sep,
title = {On the Vulnerability of Finger Vein Recognition to Spoofing},
booktitle = {IEEE International Conference of the Biometrics Special Interest Group (BIOSIG)},
volume = {230},
year = {2014},
ocation = {Darmstadt, Germay},
pdf = {http://publications.idiap.ch/downloads/papers/2014/Tome_IEEEBIOSIG2014.pdf}
}
.. _bob: http://www.idiap.ch/software/bob .. Place your references here:
.. _idiap: http://www.idiap.ch .. _bob: https://www.idiap.ch/software/bob
.. _conda-based builds: https://github.com/idiap/bob/wiki/Binary-Installation .. _installation: https://gitlab.idiap.ch/bob/bob/wikis/Installation
.. _mailing list: https://groups.google.com/forum/?fromgroups#!forum/bob-devel
.. _bob.bio.base: https://pythonhosted.org/bob.bio.base/
...@@ -49,8 +49,8 @@ parser.add_option("--version", ...@@ -49,8 +49,8 @@ parser.add_option("--version",
parser.add_option("-t", "--accept-buildout-test-releases", parser.add_option("-t", "--accept-buildout-test-releases",
dest='accept_buildout_test_releases', dest='accept_buildout_test_releases',
action="store_true", default=False, action="store_true", default=False,
help=("Normally, if you do not specify a --buildout-version, " help=("Normally, if you do not specify a --version, the "
"the bootstrap script and buildout gets the newest " "bootstrap script and buildout gets the newest "
"*final* versions of zc.buildout and its recipes and " "*final* versions of zc.buildout and its recipes and "
"extensions for you. If you use this flag, " "extensions for you. If you use this flag, "
"bootstrap and buildout will get the newest releases " "bootstrap and buildout will get the newest releases "
......
; vim: set fileencoding=utf-8 : ; vim: set fileencoding=utf-8 :
; Fri 19 Aug 2016 13:22:13 CEST
[buildout] [buildout]
parts = scripts parts = scripts
eggs = bob.bio.vein
bob.bio.base
bob.measure
bob.extension
gridtk
extensions = bob.buildout extensions = bob.buildout
mr.developer develop = .
eggs = bob.bio.vein
bob.bio.base
bob.db.base
bob.measure
bob.extension
gridtk
develop = src/bob.db.vera
src/bob.db.putvein
.
auto-checkout = *
newest = false
[sources] newest = false
bob.db.vera = git git@github.com:bioidiap/bob.db.vera verbose = true
bob.db.putvein = git git@gitlab.idiap.ch:biometric/bob.db.putvein
[scripts] [scripts]
recipe = bob.buildout:scripts recipe = bob.buildout:scripts
; vim: set fileencoding=utf-8 :
; Fri 19 Aug 2016 13:14:15 CEST
[buildout]
parts = scripts
eggs = bob.bio.vein
bob.bio.base
bob.measure
bob.extension
gridtk
extensions = bob.buildout
mr.developer
auto-checkout = *
develop = src/bob.extension
src/bob.blitz
src/bob.core
src/bob.math
src/bob.measure
src/bob.io.base
src/bob.io.image
src/bob.io.matlab
src/bob.ip.base
src/bob.db.base
src/bob.db.verafinger
src/bob.db.utfvp
src/bob.db.putvein
src/bob.bio.db
src/bob.bio.base
.
; options for bob.buildout
debug = true
verbose = true
newest = false
[sources]
bob.extension = git git@gitlab.idiap.ch:bob/bob.extension
bob.blitz = git git@gitlab.idiap.ch:bob/bob.blitz
bob.core = git git@gitlab.idiap.ch:bob/bob.core
bob.math = git git@gitlab.idiap.ch:bob/bob.math
bob.measure = git git@gitlab.idiap.ch:bob/bob.measure
bob.io.base = git git@gitlab.idiap.ch:bob/bob.io.base
bob.io.image = git git@gitlab.idiap.ch:bob/bob.io.image
bob.io.matlab = git git@gitlab.idiap.ch:bob/bob.io.matlab
bob.ip.base = git git@gitlab.idiap.ch:bob/bob.ip.base
bob.db.base = git git@gitlab.idiap.ch:bob/bob.db.base
bob.db.verafinger = git git@gitlab.idiap.ch:bob/bob.db.verafinger
bob.db.utfvp = git git@gitlab.idiap.ch:bob/bob.db.utfvp
bob.db.putvein = git git@gitlab.idiap.ch:bob.db.putvein
bob.bio.db = git git@gitlab.idiap.ch:bob/bob.bio.db
bob.bio.base = git git@gitlab.idiap.ch:bob/bob.bio.base
[scripts]
recipe = bob.buildout:scripts
...@@ -7,11 +7,6 @@ import glob ...@@ -7,11 +7,6 @@ import glob
import pkg_resources import pkg_resources
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#sys.path.insert(0, os.path.abspath('.'))
# -- General configuration ----------------------------------------------------- # -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here. # If your documentation needs a minimal Sphinx version, state it here.
...@@ -20,26 +15,33 @@ needs_sphinx = '1.3' ...@@ -20,26 +15,33 @@ needs_sphinx = '1.3'
# Add any Sphinx extension module names here, as strings. They can be extensions # Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = [ extensions = [
'sphinx.ext.todo', 'sphinx.ext.todo',
'sphinx.ext.coverage', 'sphinx.ext.coverage',
'sphinx.ext.pngmath',
'sphinx.ext.ifconfig', 'sphinx.ext.ifconfig',
'sphinx.ext.autodoc', 'sphinx.ext.autodoc',
'sphinx.ext.autosummary', 'sphinx.ext.autosummary',
'sphinx.ext.doctest', 'sphinx.ext.doctest',
'sphinx.ext.intersphinx',
'sphinx.ext.graphviz', 'sphinx.ext.graphviz',
'sphinx.ext.intersphinx',
'sphinx.ext.napoleon', 'sphinx.ext.napoleon',
'sphinx.ext.viewcode', 'sphinx.ext.viewcode',
] ]
import sphinx
if sphinx.__version__ >= "1.4.1":
extensions.append('sphinx.ext.imgmath')
else:
extensions.append('sphinx.ext.pngmath')
# Always includes todos # Always includes todos
todo_include_todos = True todo_include_todos = True
# Generates auto-summary automatically # Generates auto-summary automatically
autosummary_generate = True autosummary_generate = True
# Create numbers on figures with captions
numfig = True
# If we are on OSX, the 'dvipng' path maybe different # If we are on OSX, the 'dvipng' path maybe different
dvipng_osx = '/opt/local/libexec/texlive/binaries/dvipng' dvipng_osx = '/opt/local/libexec/texlive/binaries/dvipng'
if os.path.exists(dvipng_osx): pngmath_dvipng = dvipng_osx if os.path.exists(dvipng_osx): pngmath_dvipng = dvipng_osx
...@@ -57,12 +59,12 @@ source_suffix = '.rst' ...@@ -57,12 +59,12 @@ source_suffix = '.rst'
master_doc = 'index' master_doc = 'index'
# General information about the project. # General information about the project.
project = u'Vein Biometrics Recognition Library (bob.bio.vein)' project = u'bob.bio.vein'
import time import time
copyright = u'%s, Idiap Research Institute' % time.strftime('%Y') copyright = u'%s, Idiap Research Institute' % time.strftime('%Y')
# Grab the setup entry # Grab the setup entry
distribution = pkg_resources.require('bob.bio.vein')[0] distribution = pkg_resources.require(project)[0]
# The version info for the project you're documenting, acts as replacement for # The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the # |version| and |release|, also used in various other places throughout the
...@@ -107,8 +109,10 @@ pygments_style = 'sphinx' ...@@ -107,8 +109,10 @@ pygments_style = 'sphinx'
# A list of ignored prefixes for module index sorting. # A list of ignored prefixes for module index sorting.
#modindex_common_prefix = [] #modindex_common_prefix = []
# Included after all input documents # Some variables which are useful for generated material
rst_epilog = '' project_variable = project.replace('.', '_')
short_description = u'Vein Recognition Library'
owner = [u'Idiap Research Institute']
# -- Options for HTML output --------------------------------------------------- # -- Options for HTML output ---------------------------------------------------
...@@ -131,7 +135,7 @@ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()] ...@@ -131,7 +135,7 @@ html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
#html_title = None #html_title = None
# A shorter title for the navigation bar. Default is the same as html_title. # A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None #html_short_title = project_variable
# The name of an image file (relative to this directory) to place at the top # The name of an image file (relative to this directory) to place at the top
# of the sidebar. # of the sidebar.
...@@ -145,7 +149,7 @@ html_favicon = 'img/favicon.ico' ...@@ -145,7 +149,7 @@ html_favicon = 'img/favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here, # Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files, # relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css". # so a file named "default.css" will overwrite the builtin "default.css".
# html_static_path = ['_static'] #html_static_path = ['_static']
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, # If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format. # using the given strftime format.
...@@ -189,70 +193,48 @@ html_favicon = 'img/favicon.ico' ...@@ -189,70 +193,48 @@ html_favicon = 'img/favicon.ico'
#html_file_suffix = None #html_file_suffix = None
# Output file base name for HTML help builder. # Output file base name for HTML help builder.
htmlhelp_basename = 'bobbiovein_doc' htmlhelp_basename = project_variable + u'_doc'
# -- Options for LaTeX output --------------------------------------------------
# The paper size ('letter' or 'a4').
latex_paper_size = 'a4'
# The font size ('10pt', '11pt' or '12pt').
latex_font_size = '10pt'
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title, author, documentclass [howto/manual]).
latex_documents = [
(
'index',
'bobbiovein.tex',
u'Vein Biometrics Recognition Library (bob.bio.vein)',
u'Biometrics Group, Idiap Research Institute', 'manual',
),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# If true, show page references after internal links. # -- Post configuration --------------------------------------------------------
#latex_show_pagerefs = False
# If true, show URL addresses after external links. # Included after all input documents
#latex_show_urls = False rst_epilog = """
.. |project| replace:: Bob
# Documents to append as an appendix to all manuals. .. |version| replace:: %s
#latex_appendices = [] .. |current-year| date:: %%Y
""" % (version,)
# If false, no module index is generated.
#latex_domain_indices = True
# -- Options for manual page output --------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'bobbiovein', u'Vein Biometrics Recognition Library', [u'Idiap Research Institute'], 1)
]
# Default processing flags for sphinx # Default processing