{ "info": { "author": "Tiago de Freitas Pereira", "author_email": "tiagofrepereira@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Programming Language :: Python", "Topic :: Scientific/Engineering :: Artificial Intelligence" ], "description": "===============================================================================\nLBP-TOP based countermeasure against facial spoofing attacks\n===============================================================================\n\n\nThis package implements an LBP-TOP based countermeasure to spoofing attacks to face recognition systems as described at the paper LBP-TOP based countermeasure against facial spoofing attacks, International Workshop on Computer Vision With Local Binary Pattern Variants, 2012.\n\n\nIf you use this package and/or its results, please cite the following publications:\n\n1. The original paper with the counter-measure explained in details::\n\n @inproceedings{Pereira_LBP_2012,\n author = {Pereira, Tiago de Freitas and Anjos, Andr{\\'{e}} and De Martino, Jos{\\'{e}} Mario and Marcel, S{\\'{e}}bastien},\n keywords = {Attack, Countermeasures, Counter-Spoofing, Face Recognition, Liveness Detection, Replay, Spoofing},\n month = nov,\n year = {2012},\n title = {LBP-TOP based countermeasure against facial spoofing attacks},\n journal = {International Workshop on Computer Vision With Local Binary Pattern Variants - ACCV},\n }\n\n\n2. Bob as the core framework used to run the experiments::\n\n @inproceedings{Anjos_ACMMM_2012,\n author = {A. Anjos AND L. El Shafey AND R. Wallace AND M. G\\\"unther AND C. McCool AND S. Marcel},\n title = {Bob: a free signal processing and machine learning toolbox for researchers},\n year = {2012},\n month = oct,\n booktitle = {20th ACM Conference on Multimedia Systems (ACMMM), Nara, Japan},\n publisher = {ACM Press},\n }\n\n\nRaw Data\n--------\n \nThe dataset used in the paper is REPLAY-ATTACK database and it is publicly available. It should be downloaded and\ninstalled **prior** to using the programs described in this package. Visit\n`the REPLAY-ATTACK database page `_ for more information.\n\n\nInstallation\n------------\n\n.. note:: \n\n If you are reading this page through our GitHub portal and not through PyPI,\n note **the development tip of the package may not be stable** or become\n unstable in a matter of moments.\n\n Go to `http://pypi.python.org/pypi/antispoofing.lbptop\n `_ to download the latest\n stable version of this package.\n\nThere are 2 options you can follow to get this package installed and\noperational on your computer: you can use automatic installers like `pip\n`_ (or `easy_install\n`_) or manually download, unpack and\nuse `zc.buildout `_ to create a\nvirtual work environment just for this package.\n\nUsing an automatic installer\n============================\n\nUsing ``pip`` is the easiest (shell commands are marked with a ``$`` signal)::\n\n $ pip install antispoofing.lbptop\n\nYou can also do the same with ``easy_install``::\n\n $ easy_install antispoofing.lbptop\n\nThis will download and install this package plus any other required\ndependencies. It will also verify if the version of Bob you have installed\nis compatible.\n\nThis scheme works well with virtual environments by `virtualenv\n`_ or if you have root access to your\nmachine. Otherwise, we recommend you use the next option.\n\nUsing ``zc.buildout``\n=====================\n\nDownload the latest version of this package from `PyPI\n`_ and unpack it in your\nworking area. The installation of the toolkit itself uses `buildout\n`_. You don't need to understand its inner workings\nto use this package. Here is a recipe to get you started::\n \n $ python bootstrap.py \n $ ./bin/buildout\n\nThese 2 commands should download and install all non-installed dependencies and\nget you a fully operational test and development environment.\n\n.. note::\n\n The python shell used in the first line of the previous command set\n determines the python interpreter that will be used for all scripts developed\n inside this package. Because this package makes use of `Bob\n `_, you must make sure that the ``bootstrap.py``\n script is called with the **same** interpreter used to build Bob, or\n unexpected problems might occur.\n\n If Bob is installed by the administrator of your system, it is safe to\n consider it uses the default python interpreter. In this case, the above 3\n command lines should work as expected. If you have Bob installed somewhere\n else on a private directory, edit the file ``buildout.cfg`` **before**\n running ``./bin/buildout``. Find the section named ``external`` and edit the\n line ``egg-directories`` to point to the ``lib`` directory of the Bob\n installation you want to use. For example::\n\n [external]\n recipe = xbob.buildout:external\n egg-directories=/Users/crazyfox/work/bob/build/lib\n\nUser Guide\n----------\n\nIt is assumed you have followed the installation instructions for the package\nand got this package installed and the REPLAY-ATTACK database downloaded and\nuncompressed in a directory. You should have all required utilities sitting\ninside a binary directory depending on your installation strategy (utilities\nwill be inside the ``bin`` if you used the buildout option). We expect that the\nvideo files downloaded for the REPLAY-ATTACK database are installed in a\nsub-directory called ``database`` at the root of the package. You can use a\nlink to the location of the database files, if you don't want to have the\ndatabase installed on the root of this package::\n\n $ ln -s /path/where/you/installed/the/replay-attack-database database\n\nIf you don't want to create a link, use the ``--input-dir`` flag to specify\nthe root directory containing the database files. That would be the directory\nthat *contains* the sub-directories ``train``, ``test``, ``devel`` and\n``face-locations``.\n\n\nCalculate the multiresolution and single resolution LBP-TOP features\n====================================================================\n\nThe first stage of the process is calculating the feature vectors, which are essentially LBP-TOP histograms (XY, XT and YT directions) for each frame of the video.\n\nThe program to be used is `script/lbptop_calculate_parameters.py`.\n\nThe resulting histograms will be put in .hdf5 files in the default output directory `./lbp_features`::\n\n $ ./bin/lbptop_calculate_parameters.py replay\n\n\nTo gerate LBP-TOP features following the multiresolution strategy in time domain, it is necessary to set different values for Rt. For example, to generate a multiresolution description in time domain for Rt=[1-4] the code is the follows::\n\n $ ./bin/lbptop_calculate_parameters.py -rT 1 2 3 4 replay\n\n\nTo gerate a single resolution strategy in time domain, it is necessary to set only one value for Rt. For example, to generate a single resolution description in time domain for Rt=1 the code is the follows::\n\n $ ./bin/lbptop_calculate_parameters.py -rT 1 replay\n\n\n\nTo see all the options for the scripts `lbptop_calculate_parameters.py` just type\n`--help` at the command line.\n\n\n\nClassification using Chi-2 Distance\n====================================================================\n\nThe clasification using Chi-2 distance consists of two steps. The first one is creating the histogram model (average LBP-TOP histogram for each plane and it combinations of all the real access videos in the training set). The second step is comparison of the features of development and test videos to the model histogram and writing the results.\n\nThe script to use for creating the histogram model is `script/lbptop_mkhistmodel.py`. It expects that the LBP-TOP features of the videos are stored in a folder `./lbp_features`. The model histogram will be written in the default output folder `./res`. You can change this default features by setting the input arguments. To execute this script, just run::\n\n\n $ ./bin/lbptop_mkhistmodel.py\n\nThe script for performing Chi-2 histogram comparison is `script/lbptop_cmphistmodels.py`, and it assumes that the model histogram has been already created. It makes use of the utility script `spoof/chi2.py` and `ml/perf.py` for writing the results in a file. The default input directory is `./lbp_features`, while the default input directory for the histogram model as well as default output directory is `./res`. To execute this script, just run::\n\n\n $ ./bin/lbptop_cmphistmodels.py\n\nThe performance results will be calculated for each LBP-TOP planes and the combinations XT+YT and XY+XT+YT.\n\nTo see all the options for the scripts `lbptop_mkhistmodel.py` and `lbptop_cmphistmodels.py`, just type `--help` at the command line.\n\n\n\nClassification with Linear Discriminant Analysis (LDA)\n====================================================================\n\nThe classification with LDA is performed using the script `script/lbptop_ldatrain.py`. It makes use of the scripts `ml/lda.py`, `ml/pca.py` (if PCA reduction is performed on the data) and `ml/norm.py` (if the data need to be normalized). The default input and output directories are `./lbp_features` and `./res`. To execute the script with the default parameters, call::\n\n $ ./bin/lbptop_ldatrain.py\n\nThe performance results will be calculated for each LBP-TOP planes and the combinations XT+YT and XY+XT+YT.\n\nTo see all the options for this script, just type `--help` at the command line.\n\n\nClassification with Support Vector Machine (SVM)\n====================================================================\n\nThe classification with SVM is performed using the script `script/lbptop_svmtrain.py`. It makes use of the scripts `ml/pca.py` (if PCA reduction is performed on the data) and `ml/norm.py` (if the data need to be normalized). The default input and output directories are `./lbp_features` and `./res`. To execute the script with the default parameters, call::\n\n $ ./bin/lbptop_svmtrain.py\n\nThe performance results will be calculated for each LBP-TOP planes and the combinations XT+YT and XY+XT+YT.\n\nTo see all the options for this script, just type `--help` at the command line.\n\nGenerating paper results\n====================================================================\n\nThe next code blocks are codes to generate the results from lines 4, 5, 6, 7, 8 of Table 1.\n\n- **Line 4**\n\n::\n\n #Extracting the LBP-TOP features\n $ ./bin/lbptop_calculate_parameters.py --directory lbptop_features/ --input-dir database/ -rX 1 -rY 1 -rT 1 2 3 4 5 6 -cXY -cXT -cYT --lbptypeXY riu2 --lbptypeXT riu2 --lbptypeYT riu2 replay\n\n #Running the SVM machine\n $ ./bin/lbptop_svmtrain.py -n --input-dir lbptop_features/ --output-dir res/ replay\n\n #Extracting the scores for each plane\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-plane.txt --normalization-file svm_normalization_XY-plane.txt --machine-type SVM --plane XY --output-dir res/scores/scores_XY replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-Plane.txt --normalization-file svm_normalization_XT-Plane.txt --machine-type SVM --plane XT --output-dir res/scores/scores_XT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_YT-Plane.txt --normalization-file svm_normalization_YT-Plane.txt --machine-type SVM --plane YT --output-dir res/scores/scores_YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-YT-Plane.txt --normalization-file svm_normalization_XT-YT-Plane.txt --machine-type SVM --plane XT-YT --output-dir res/scores/scores_XT-YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-XT-YT-plane.txt --normalization-file svm_normalization_XY-XT-YT-plane.txt --machine-type SVM --plane XY-XT-YT --output-dir res/scores/scores_XY-XT-YT replay\n\n #Result Analysis\n $./bin/lbptop_result_analysis.py --scores-dir res/scores/ --output-dir res/results/ replay\n\n\n- **Line 5:**\n\n::\n\n #Extracting the LBP-TOP features\n $ ./bin/lbptop_calculate_parameters.py --directory lbptop_features/ --input-dir database/ -rX 1 -rY 1 -rT 1 2 3 4 5 6 -cXY -cXT -cYT -nXT 4 -nYT 4 replay\n\n #Running the SVM machine\n $ ./bin/lbptop_svmtrain.py -n --input-dir lbptop_features/ --output-dir res/ replay\n\n #Extracting the scores for each plane\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-plane.txt --normalization-file svm_normalization_XY-plane.txt --machine-type SVM --plane XY --output-dir res/scores/scores_XY replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-Plane.txt --normalization-file svm_normalization_XT-Plane.txt --machine-type SVM --plane XT --output-dir res/scores/scores_XT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_YT-Plane.txt --normalization-file svm_normalization_YT-Plane.txt --machine-type SVM --plane YT --output-dir res/scores/scores_YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-YT-Plane.txt --normalization-file svm_normalization_XT-YT-Plane.txt --machine-type SVM --plane XT-YT --output-dir res/scores/scores_XT-YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-XT-YT-plane.txt --normalization-file svm_normalization_XY-XT-YT-plane.txt --machine-type SVM --plane XY-XT-YT --output-dir res/scores/scores_XY-XT-YT replay\n\n #Result Analysis\n $./bin/lbptop_result_analysis.py --scores-dir res/scores/ --output-dir res/results/ replay\n\n\n\n- **Line 6:**\n\n::\n\n #Extracting the LBP-TOP features\n $ ./bin/lbptop_calculate_parameters.py --directory lbptop_features/ --input-dir database/ -rX 1 -rY 1 -rT 1 2 3 4 -cXY -cXT -cYT replay\n\n #Running the SVM machine\n $ ./bin/lbptop_svmtrain.py -n --input-dir lbptop_features/ --output-dir res/ replay\n\n #Extracting the scores for each plane\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-plane.txt --normalization-file svm_normalization_XY-plane.txt --machine-type SVM --plane XY --output-dir res/scores/scores_XY replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-Plane.txt --normalization-file svm_normalization_XT-Plane.txt --machine-type SVM --plane XT --output-dir res/scores/scores_XT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_YT-Plane.txt --normalization-file svm_normalization_YT-Plane.txt --machine-type SVM --plane YT --output-dir res/scores/scores_YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-YT-Plane.txt --normalization-file svm_normalization_XT-YT-Plane.txt --machine-type SVM --plane XT-YT --output-dir res/scores/scores_XT-YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-XT-YT-plane.txt --normalization-file svm_normalization_XY-XT-YT-plane.txt --machine-type SVM --plane XY-XT-YT --output-dir res/scores/scores_XY-XT-YT replay\n\n #Result Analysis\n $./bin/lbptop_result_analysis.py --scores-dir res/scores/ --output-dir res/results/ replay\n\n\n- **Line 7:**\n\n::\n\n #Extracting the LBP-TOP features\n $ ./bin/lbptop_calculate_parameters.py --directory lbptop_features/ --input-dir database/ -rX 1 -rY 1 -rT 1 2 -cXY -cXT -cYT --lbptypeXY regular --lbptypeXT regular --lbptypeYT regular replay\n\n #Running the SVM machine\n $ ./bin/lbptop_svmtrain.py -n --input-dir lbptop_features/ --output-dir res/ replay\n\n #Extracting the scores for each plane\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-plane.txt --normalization-file svm_normalization_XY-plane.txt --machine-type SVM --plane XY --output-dir res/scores/scores_XY replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-Plane.txt --normalization-file svm_normalization_XT-Plane.txt --machine-type SVM --plane XT --output-dir res/scores/scores_XT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_YT-Plane.txt --normalization-file svm_normalization_YT-Plane.txt --machine-type SVM --plane YT --output-dir res/scores/scores_YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-YT-Plane.txt --normalization-file svm_normalization_XT-YT-Plane.txt --machine-type SVM --plane XT-YT --output-dir res/scores/scores_XT-YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-XT-YT-plane.txt --normalization-file svm_normalization_XY-XT-YT-plane.txt --machine-type SVM --plane XY-XT-YT --output-dir res/scores/scores_XY-XT-YT replay\n\n #Result Analysis\n $./bin/lbptop_result_analysis.py --scores-dir res/scores/ --output-dir res/results/ replay\n\n\n- **Line 8:**\n\n::\n\n #Extracting the LBP-TOP features\n $ ./bin/lbptop_calculate_parameters.py --directory lbptop_features/ --input-dir database/ -rX 1 -rY 1 -rT 1 2 -cXY -cXT -cYT -nXT 16 -nYT 16 replay\n\n #Running the SVM machine\n $ ./bin/lbptop_svmtrain.py -n --input-dir lbptop_features/ --output-dir res/ replay\n\n #Extracting the scores for each plane\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-plane.txt --normalization-file svm_normalization_XY-plane.txt --machine-type SVM --plane XY --output-dir res/scores/scores_XY replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-Plane.txt --normalization-file svm_normalization_XT-Plane.txt --machine-type SVM --plane XT --output-dir res/scores/scores_XT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_YT-Plane.txt --normalization-file svm_normalization_YT-Plane.txt --machine-type SVM --plane YT --output-dir res/scores/scores_YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XT-YT-Plane.txt --normalization-file svm_normalization_XT-YT-Plane.txt --machine-type SVM --plane XT-YT --output-dir res/scores/scores_XT-YT replay\n $ ./bin/lbptop_make_scores.py --features-dir lbptop_features --machine-file svm_machine_XY-XT-YT-plane.txt --normalization-file svm_normalization_XY-XT-YT-plane.txt --machine-type SVM --plane XY-XT-YT --output-dir res/scores/scores_XY-XT-YT replay\n\n #Result Analysis\n $./bin/lbptop_result_analysis.py --scores-dir res/scores/ --output-dir res/results/ replay\n\n\nAfter that, it's recommended to go out for a long coffee. This procedure can take a week.\n\nProblems\n--------\n\nIn case of problems, please contact any of the authors of the paper.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://pypi.python.org/pypi/antispoofing.lbptop", "keywords": null, "license": "GPLv3", "maintainer": null, "maintainer_email": null, "name": "antispoofing.lbptop", "package_url": "https://pypi.org/project/antispoofing.lbptop/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/antispoofing.lbptop/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://pypi.python.org/pypi/antispoofing.lbptop" }, "release_url": "https://pypi.org/project/antispoofing.lbptop/2.0.3/", "requires_dist": null, "requires_python": null, "summary": "LBP-TOP based countermeasure against facial spoofing attacks", "version": "2.0.3" }, "last_serial": 2355235, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "493013e851a1db8232b257d0555b354b", "sha256": "69bb2cdf50ca598d864c404074a58503ace31d8732d7693603b46927879cf328" }, "downloads": -1, "filename": "antispoofing.lbptop-1.0.0.zip", "has_sig": false, "md5_digest": "493013e851a1db8232b257d0555b354b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49633, "upload_time": "2012-10-10T14:15:55", "url": "https://files.pythonhosted.org/packages/af/c5/026240840e8edd6e5630db29f871b1d06c179a3963bee71bbdbb8626dc9f/antispoofing.lbptop-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "26ec455cc171eece7e79dda3cab271f5", "sha256": "6e4e8ebc09a8ee8ebe4168f7d51d12672217293d21c2dd7eacd5d09cd57967d4" }, "downloads": -1, "filename": "antispoofing.lbptop-1.0.1.zip", "has_sig": false, "md5_digest": "26ec455cc171eece7e79dda3cab271f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47333, "upload_time": "2013-02-13T23:17:08", "url": "https://files.pythonhosted.org/packages/7a/47/3c96e2c179488577605bda75a3caee90ea93078ffe86898ddfea07a11023/antispoofing.lbptop-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b4bf3ac32a3cf0ed81f2e88dd4c92dad", "sha256": "bd55df2c489ee457127d6493355fa4110159961471788317563cab9d24b10050" }, "downloads": -1, "filename": "antispoofing.lbptop-1.0.2.zip", "has_sig": false, "md5_digest": "b4bf3ac32a3cf0ed81f2e88dd4c92dad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48092, "upload_time": "2013-07-19T12:43:25", "url": "https://files.pythonhosted.org/packages/2f/ee/4a711f415896171f92934a554b21296a6422ac09534211ea4d37d02e481e/antispoofing.lbptop-1.0.2.zip" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "7f821648572cdee2ad7b579ec53ccfd7", "sha256": "16e8f2434bbb4c72299ac3fdf748b63471c023718e47a3a6e2252dbf712d44f0" }, "downloads": -1, "filename": "antispoofing.lbptop-1.0.4.zip", "has_sig": false, "md5_digest": "7f821648572cdee2ad7b579ec53ccfd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 48528, "upload_time": "2014-09-25T10:38:53", "url": "https://files.pythonhosted.org/packages/95/7d/e9485419cdf23008ba8db81af6c70acdf48d940395268465545ab8d6ce8a/antispoofing.lbptop-1.0.4.zip" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "8f8ce112ceed0811ae2ae6d82623a433", "sha256": "79c27199587d2b8763fe2a9e7a0198a2f2c5021dd5acba3036a3b3d8640f7e52" }, "downloads": -1, "filename": "antispoofing.lbptop-2.0.0.zip", "has_sig": false, "md5_digest": "8f8ce112ceed0811ae2ae6d82623a433", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50267, "upload_time": "2015-07-29T13:13:07", "url": "https://files.pythonhosted.org/packages/1a/8d/e081b060946967508de7ad2f80a035766c49042c2dd625b99396c9285c55/antispoofing.lbptop-2.0.0.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "0aa4aaeb62c460da716c28d47d477eb2", "sha256": "66cc631d60515b2fa1ab1a8e1f43501f98993085597f448308bbe521b2a75c55" }, "downloads": -1, "filename": "antispoofing.lbptop-2.0.1.zip", "has_sig": false, "md5_digest": "0aa4aaeb62c460da716c28d47d477eb2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 50265, "upload_time": "2015-10-28T09:23:02", "url": "https://files.pythonhosted.org/packages/b4/b3/fdf5ab88de73cc5e3b2c3ddc9fe8dc84f27f2f545ddc36db11155313d38a/antispoofing.lbptop-2.0.1.zip" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "64e6e2e48bd10157315badf4f5075154", "sha256": "ea81babea850bbb746794fc3e6c92f9a7098957327821da989c6d997cba6de6f" }, "downloads": -1, "filename": "antispoofing.lbptop-2.0.2.zip", "has_sig": false, "md5_digest": "64e6e2e48bd10157315badf4f5075154", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49687, "upload_time": "2015-10-28T10:13:28", "url": "https://files.pythonhosted.org/packages/13/48/8da90a513911c71d5a89422e52279b880c0af1003674f22bb14494aa7d75/antispoofing.lbptop-2.0.2.zip" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "ef62ee53d4f344be332bb1bdc36a1703", "sha256": "1c60291cd16da34742a604e8ef2962540998f0ca2d6198062cc6b0028127c7ea" }, "downloads": -1, "filename": "antispoofing.lbptop-2.0.3.zip", "has_sig": false, "md5_digest": "ef62ee53d4f344be332bb1bdc36a1703", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49412, "upload_time": "2016-01-08T17:18:04", "url": "https://files.pythonhosted.org/packages/9d/92/7f87b6798893487a5a2f1c14c22efec2ac54f473a2e3d3988485a8d1bd2c/antispoofing.lbptop-2.0.3.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef62ee53d4f344be332bb1bdc36a1703", "sha256": "1c60291cd16da34742a604e8ef2962540998f0ca2d6198062cc6b0028127c7ea" }, "downloads": -1, "filename": "antispoofing.lbptop-2.0.3.zip", "has_sig": false, "md5_digest": "ef62ee53d4f344be332bb1bdc36a1703", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 49412, "upload_time": "2016-01-08T17:18:04", "url": "https://files.pythonhosted.org/packages/9d/92/7f87b6798893487a5a2f1c14c22efec2ac54f473a2e3d3988485a8d1bd2c/antispoofing.lbptop-2.0.3.zip" } ] }