setup.py 6.43 KB
Newer Older
1
2
3
4
#!/usr/bin/env python
# vim: set fileencoding=utf-8 :
# Mon 16 Apr 08:18:08 2012 CEST

Manuel Günther's avatar
Manuel Günther committed
5
from setuptools import setup, dist
6
7
dist.Distribution(dict(setup_requires=['bob.extension']))

Manuel Günther's avatar
Manuel Günther committed
8
from bob.extension.utils import load_requirements, find_packages
9
install_requires = load_requirements()
10
11
12
13
14
15
16
17
18

# The only thing we do in this file is to call the setup() function with all
# parameters that define our package.
setup(

    # This is the basic information about your project. Modify all this
    # information before releasing code publicly.
    name = 'bob.bio.base',
    version = open("version.txt").read().rstrip(),
André Anjos's avatar
André Anjos committed
19
    description = 'Tools for running biometric recognition experiments',
20

Amir MOHAMMADI's avatar
Amir MOHAMMADI committed
21
    url = 'https://gitlab.idiap.ch/bob/bob.bio.base',
André Anjos's avatar
André Anjos committed
22
    license = 'BSD',
23
24
    author = 'Manuel Gunther',
    author_email = 'siebenkopf@googlemail.com',
25
26
27
28
29
30
31
32
33
    keywords = 'bob, biometric recognition, evaluation',

    # If you have a better, long description of your package, place it on the
    # 'doc' directory and then hook it here
    long_description = open('README.rst').read(),

    # This line is required for any distutils based packaging.
    packages = find_packages(),
    include_package_data = True,
Amir's avatar
Amir committed
34
    zip_safe=False,
35
36
37
38
39
40

    # This line defines which packages should be installed when you "install"
    # this package. All packages that are mentioned here, but are not installed
    # on the current system will be installed locally and only visible to the
    # scripts of this package. Don't worry - You won't need administrative
    # privileges when using buildout.
41
    install_requires = install_requires,
42
43
44
45
46
47
48
49
50
51

    # Your project should be called something like 'bob.<foo>' or
    # 'bob.<foo>.<bar>'. To implement this correctly and still get all your
    # packages to be imported w/o problems, you need to implement namespaces
    # on the various levels of the package and declare them here. See more
    # about this here:
    # http://peak.telecommunity.com/DevCenter/setuptools#namespace-packages
    #
    # Our database packages are good examples of namespace implementations
    # using several layers. You can check them out here:
52
    # https://www.idiap.ch/software/bob/packages
53

54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73

    # This entry defines which scripts you will have inside the 'bin' directory
    # once you install the package (or run 'bin/buildout'). The order of each
    # entry under 'console_scripts' is like this:
    #   script-name-at-bin-directory = module.at.your.library:function
    #
    # The module.at.your.library is the python file within your library, using
    # the python syntax for directories (i.e., a '.' instead of '/' or '\').
    # This syntax also omits the '.py' extension of the filename. So, a file
    # installed under 'example/foo.py' that contains a function which
    # implements the 'main()' function of particular script you want to have
    # should be referred as 'example.foo:main'.
    #
    # In this simple example we will create a single program that will print
    # the version of bob.
    entry_points = {

      # scripts should be declared using this entry:
      'console_scripts' : [
        'verify.py         = bob.bio.base.script.verify:main',
74
75
        'resources.py      = bob.bio.base.script.resources:resources',
        'databases.py      = bob.bio.base.script.resources:databases',
Manuel Günther's avatar
Manuel Günther committed
76
        'evaluate.py       = bob.bio.base.script.evaluate:main',
Manuel Günther's avatar
Manuel Günther committed
77
        'collect_results.py = bob.bio.base.script.collect_results:main',
78
        'grid_search.py    = bob.bio.base.script.grid_search:main',
79
80
81
82
        'preprocess.py     = bob.bio.base.script.preprocess:main',
        'extract.py        = bob.bio.base.script.extract:main',
        'enroll.py         = bob.bio.base.script.enroll:main',
        'score.py          = bob.bio.base.script.score:main',
83
        'fuse_scores.py    = bob.bio.base.script.fuse_scores:main',
84
85
      ],

86
87
88
89
90
      'bob.bio.config': [
        'dummy             = bob.bio.base.test.dummy.config', # for test purposes only
        'dummy2            = bob.bio.base.test.dummy.config2', # for test purposes only
      ],

91
      'bob.bio.database': [
92
        'dummy              = bob.bio.base.test.dummy.database:database', # for test purposes only
93
94
95
96
      ],

      'bob.bio.preprocessor': [
        'dummy             = bob.bio.base.test.dummy.preprocessor:preprocessor', # for test purposes only
97
        'filename          = bob.bio.base.config.preprocessor.filename:preprocessor',
98
99
100
101
102
103
104
105
106
      ],

      'bob.bio.extractor': [
        'dummy             = bob.bio.base.test.dummy.extractor:extractor', # for test purposes only
        'linearize         = bob.bio.base.config.extractor.linearize:extractor',
      ],

      'bob.bio.algorithm': [
        'dummy             = bob.bio.base.test.dummy.algorithm:algorithm', # for test purposes only
107
108
        'distance-euclidean = bob.bio.base.config.algorithm.distance_euclidean:algorithm',
        'distance-cosine   = bob.bio.base.config.algorithm.distance_cosine:algorithm',
109
        'pca               = bob.bio.base.config.algorithm.pca:algorithm',
110
        'lda               = bob.bio.base.config.algorithm.lda:algorithm',
111
112
113
        'pca+lda           = bob.bio.base.config.algorithm.pca_lda:algorithm',
        'plda              = bob.bio.base.config.algorithm.plda:algorithm',
        'pca+plda          = bob.bio.base.config.algorithm.pca_plda:algorithm',
Manuel Günther's avatar
Manuel Günther committed
114
        'bic               = bob.bio.base.config.algorithm.bic:algorithm',
115
      ],
116
117
118
119

      'bob.bio.grid': [
        'local-p4          = bob.bio.base.config.grid.local:grid',
        'local-p8          = bob.bio.base.config.grid.local:grid_p8',
120
        'local-p16         = bob.bio.base.config.grid.local:grid_p16',
Manuel Günther's avatar
Manuel Günther committed
121
122
        'grid              = bob.bio.base.config.grid.grid:grid',
        'demanding         = bob.bio.base.config.grid.demanding:grid',
123
        'gpu               = bob.bio.base.config.grid.gpu:grid',
124
      ],
Amir Mohammadi's avatar
Amir Mohammadi committed
125
126
127
128
      # declare database to bob
      'bob.db': [
        'bio_filelist = bob.bio.base.database.filelist.driver:Interface',
      ],
129
130
131
132
133
134
135
136
137
   },

    # Classifiers are important if you plan to distribute this package through
    # PyPI. You can find the complete list of classifiers that are valid and
    # useful here (http://pypi.python.org/pypi?%3Aaction=list_classifiers).
    classifiers = [
      'Framework :: Bob',
      'Development Status :: 3 - Alpha',
      'Intended Audience :: Developers',
André Anjos's avatar
André Anjos committed
138
      'License :: OSI Approved :: BSD License',
139
140
141
142
143
      'Natural Language :: English',
      'Programming Language :: Python',
      'Topic :: Scientific/Engineering :: Artificial Intelligence',
    ],
)