{ "info": { "author": "Arman Noroozian", "author_email": "arman.noroozian.developer@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "pyvt\n====\n\nPython 3 implementation of the\n`Virustotal `__ `Private\nAPI `__. In\nits current form it only implements a subset of the API and is\nincomplete.\n\nThis module borrows code from, the\n`virustotal2 `__ module.\nIt uses the same rate limiting logic as virustotal2. Additionally it\nunifies the output of the API to json format and adds support for bulk\nqueries.\n\nHow To Use\n----------\n\n::\n\n import pyvt\n\n api = pyvt.API('~/.virustotal.key')\n # Retrieve list of ips\n api.retrieve(['173.236.179.77', '66.33.221.102'])\n\n # Retrieve list of urls\n api.retrieve(['http://3dtaller.com.ar/',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/jquery.loader.js',\n 'http://3dtaller.com.ar/wp-includes/js/swfobject.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/modernizr-2.0.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/custom.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/jquery-1.6.4.min.js'])\n \n # Retrieve domain\n api.retrieve('3dtaller.com.ar')\n\nInstalliation\n-------------\n\n::\n\n pip3 install pyvt --pre\n\nInstantiation\n-------------\n\n::\n\n api = pyvt.API('~/.virustotal.key') # The default way of using the \n api = pyvt.API('', api_key=, limit_per_min=) # Providing other parameters\n\nYou can pass limit\\_per\\_min, which is the number of queries you can\nperform per minute. 3000 is the default. You can also alternatively\nprovide your api\\_key as a string parameter.\n\nAPI\n===\n\nUse the method retrieve() to get an existing report from VirusTotal.\nThis method's first argument can be:\n\n- a single or list of MD5, SHA1 or SHA256 of files\n- a single or list of URLs\n- a single or list IP addresses\n- a single or list of domain names\n\nretrieve() will attempt to auto-detect what you're giving it. If you\nwant to be explicit, you can use the thing\\_type parameter with the\nvalues:\n\n- ip\n- domain\n- hash\n- file\n- base64\n- url\n\nThese values are provided as constants that you can use instead in the\n'API\\_Constans' class which you can import as follows ::\n\n::\n\n from pyvt import API_Constansts\n\nYou can use thee scan() method to scan specific URLs. The scan method\ncurrently only supports URLs and will through an exception if anything\nother than a url is given to it.\n\nHere is an example usage of the scan method that blocks until all scan\nresults are available.\n\n::\n\n response, fail = api.scan(['http://3dtaller.com.ar/',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/jquery.loader.js',\n 'http://3dtaller.com.ar/wp-includes/js/swfobject.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/modernizr-2.0.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/custom.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/jquery-1.6.4.min.js'], blocking=True)\n \n\nHere is another usage example of the scan method that is none blocking.\n\n::\n\n response, fail = api.scan(['http://3dtaller.com.ar/',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/jquery.loader.js',\n 'http://3dtaller.com.ar/wp-includes/js/swfobject.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/modernizr-2.0.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/custom.js',\n 'http://3dtaller.com.ar/wp-content/themes/theme1392/js/jquery-1.6.4.min.js'])\n\nWith the non-blocking call you will need to use the 'retrieve' method to\nget the results of the scan at a later stage. Note that the 'scan'\nmethod will return a Tuple where the second element is the urls for\nwhich the Virustotal API returned a Failure status response code and the\nmethod will not attempt to submit again.\n\nReferences\n~~~~~~~~~~\n\n`Virustotal Private\nAPI `__", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/anoroozian/pyvt", "keywords": "virustotal api private", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "pyvt", "package_url": "https://pypi.org/project/pyvt/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyvt/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/anoroozian/pyvt" }, "release_url": "https://pypi.org/project/pyvt/0.1a4/", "requires_dist": null, "requires_python": null, "summary": "Python VirusTotal Private API 2.0 Implementation.", "version": "0.1a4" }, "last_serial": 1298126, "releases": { "0.1a1": [ { "comment_text": "", "digests": { "md5": "f3d9f0c312e5f2bb57e3ab210505d900", "sha256": "16b7498fc30a64f40df91d79a9905eed508f2c98a51eb045243284ec4564da20" }, "downloads": -1, "filename": "pyvt-0.1a1.tar.gz", "has_sig": false, "md5_digest": "f3d9f0c312e5f2bb57e3ab210505d900", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6655, "upload_time": "2014-09-27T18:07:35", "url": "https://files.pythonhosted.org/packages/44/9f/7fbf89352a8ddf8618d19fed1efb2eb19ee567713fae8bc470fc440bee64/pyvt-0.1a1.tar.gz" } ], "0.1a2": [ { "comment_text": "", "digests": { "md5": "ba5dcae8f53afdf39676bbab8a1136d9", "sha256": "59c7afbda1c07565f31d077ddb8e9b38e024bc899068b4afe6237172454e6cef" }, "downloads": -1, "filename": "pyvt-0.1a2.tar.gz", "has_sig": false, "md5_digest": "ba5dcae8f53afdf39676bbab8a1136d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6842, "upload_time": "2014-11-05T13:26:11", "url": "https://files.pythonhosted.org/packages/97/95/f6e3c0accb94d372e839d53fe78c32475407d0bf5220fc07225c1fd68b67/pyvt-0.1a2.tar.gz" } ], "0.1a3": [ { "comment_text": "", "digests": { "md5": "a99c825f0f7b9308e8c10513e042994a", "sha256": "04f3b58f41013179ccffa96760bb56cd8d24e79741650cdbdff7064e66d4c753" }, "downloads": -1, "filename": "pyvt-0.1a3.tar.gz", "has_sig": false, "md5_digest": "a99c825f0f7b9308e8c10513e042994a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7369, "upload_time": "2014-11-06T16:26:53", "url": "https://files.pythonhosted.org/packages/45/eb/3de4453f2c43c710b0360e7fea7aa5e497addf1d82d8867c9b8a64868c27/pyvt-0.1a3.tar.gz" } ], "0.1a4": [ { "comment_text": "", "digests": { "md5": "e09572b835781093dfc9002950dd7a06", "sha256": "9449b34c36ab20d954ecb06aa6bddc780a9fa10ee7bc3cebf7b5f8f363e80684" }, "downloads": -1, "filename": "pyvt-0.1a4.tar.gz", "has_sig": false, "md5_digest": "e09572b835781093dfc9002950dd7a06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7602, "upload_time": "2014-11-07T10:58:56", "url": "https://files.pythonhosted.org/packages/41/bd/8999d7c5198a32c0c499e5b572d007295f7e5745db3d780e957c52165945/pyvt-0.1a4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e09572b835781093dfc9002950dd7a06", "sha256": "9449b34c36ab20d954ecb06aa6bddc780a9fa10ee7bc3cebf7b5f8f363e80684" }, "downloads": -1, "filename": "pyvt-0.1a4.tar.gz", "has_sig": false, "md5_digest": "e09572b835781093dfc9002950dd7a06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7602, "upload_time": "2014-11-07T10:58:56", "url": "https://files.pythonhosted.org/packages/41/bd/8999d7c5198a32c0c499e5b572d007295f7e5745db3d780e957c52165945/pyvt-0.1a4.tar.gz" } ] }