#!/usr/bin/env python # vim: set fileencoding=utf-8 : from setuptools import setup, dist dist.Distribution(dict(setup_requires=['bob.extension'])) # load the requirements.txt for additional requirements from bob.extension.utils import load_requirements, find_packages install_requires = load_requirements() # 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.pad.face', version=open("version.txt").read().rstrip(), description= 'Implements tools for spoofing or presentation attack detection in face biometrics', url='https://gitlab.idiap.ch/bob/bob.pad.face', license='GPLv3', author='Olegs Nikisins', author_email='olegs.nikisins@idiap.ch', keywords='bob', # 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. # It will find all package-data inside the 'bob' directory. packages=find_packages('bob'), include_package_data=True, # 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. install_requires=install_requires, # 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={ # registered databases: 'bob.pad.database': [ 'replay-attack = bob.pad.face.config.database.replay_attack:database', 'replay-mobile = bob.pad.face.config.database.replay_mobile:database', 'msu-mfsd = bob.pad.face.config.database.msu_mfsd:database', 'aggregated-db = bob.pad.face.config.database.aggregated_db:database', 'mifs = bob.pad.face.config.database.mifs:database', ], # registered configurations: 'bob.bio.config': [ # databases 'replay-attack = bob.pad.face.config.replay_attack', 'replay-mobile = bob.pad.face.config.replay_mobile', 'msu-mfsd = bob.pad.face.config.msu_mfsd', 'aggregated-db = bob.pad.face.config.aggregated_db', 'mifs = bob.pad.face.config.mifs', # baselines using SVM: 'lbp-svm = bob.pad.face.config.lbp_svm', 'lbp-svm-aggregated-db = bob.pad.face.config.lbp_svm_aggregated_db', 'qm-svm = bob.pad.face.config.qm_svm', 'qm-svm-aggregated-db = bob.pad.face.config.qm_svm_aggregated_db', 'frame-diff-svm = bob.pad.face.config.frame_diff_svm', 'frame-diff-svm-aggregated-db = bob.pad.face.config.frame_diff_svm_aggregated_db', # baselines using one-class SVM 'qm-one-class-svm-aggregated-db = bob.pad.face.config.qm_one_class_svm_aggregated_db', 'qm-one-class-svm-cascade-aggregated-db = bob.pad.face.config.qm_one_class_svm_cascade_aggregated_db', # baselines using LR: 'qm-lr = bob.pad.face.config.qm_lr', # this pipe-line can be used both for individual and Aggregated databases. # baselines using GMM: 'qm-one-class-gmm = bob.pad.face.config.qm_one_class_gmm', # this pipe-line can be used both for individual and Aggregated databases. ], # registered preprocessors: 'bob.pad.preprocessor': [ 'empty-preprocessor = bob.pad.face.config.preprocessor.filename:empty_preprocessor', # no preprocessing 'rgb-face-detect-dlib = bob.pad.face.config.preprocessor.video_face_crop:rgb_face_detector_dlib', # detect faces locally replacing database annotations 'rgb-face-detect-mtcnn = bob.pad.face.config.preprocessor.video_face_crop:rgb_face_detector_mtcnn', # detect faces locally replacing database annotations ], # registered extractors: 'bob.pad.extractor': [ 'video-lbp-histogram-extractor-n8r1-uniform = bob.pad.face.config.extractor.video_lbp_histogram:video_lbp_histogram_extractor_n8r1_uniform', 'video-quality-measure-galbally-msu = bob.pad.face.config.extractor.video_quality_measure:video_quality_measure_galbally_msu', 'frame-diff-feat-extr-w20-over0 = bob.pad.face.config.extractor.frame_diff_features:frame_diff_feat_extr_w20_over0', ], # registered algorithms: 'bob.pad.algorithm': [ 'video-svm-pad-algorithm-10k-grid-mean-std = bob.pad.face.config.algorithm.video_svm_pad_algorithm:video_svm_pad_algorithm_10k_grid_mean_std', 'video-svm-pad-algorithm-10k-grid-mean-std-frame-level = bob.pad.face.config.algorithm.video_svm_pad_algorithm:video_svm_pad_algorithm_10k_grid_mean_std_frame_level', 'video-svm-pad-algorithm-default-svm-param-mean-std-frame-level = bob.pad.face.config.algorithm.video_svm_pad_algorithm:video_svm_pad_algorithm_default_svm_param_mean_std_frame_level', ], # registered grid configurations: 'bob.pad.grid': [ 'idiap = bob.pad.face.config.grid:idiap', 'idiap-user-machines = bob.pad.face.config.grid:idiap_user_machines', ], }, # 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', 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', 'Natural Language :: English', 'Programming Language :: Python', 'Topic :: Scientific/Engineering :: Artificial Intelligence', ], )