{ "info": { "author": "pyup.io", "author_email": "support@pyup.io", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "[![safety](https://raw.githubusercontent.com/pyupio/safety/master/safety.jpg)](https://pyup.io/safety/)\n\n[![PyPi](https://img.shields.io/pypi/v/safety.svg)](https://pypi.python.org/pypi/safety)\n[![Travis](https://img.shields.io/travis/pyupio/safety.svg)](https://travis-ci.org/pyupio/safety)\n[![Updates](https://pyup.io/repos/github/pyupio/safety/shield.svg)](https://pyup.io/repos/github/pyupio/safety/)\n\nSafety checks your installed dependencies for known security vulnerabilities. \n\nBy default it uses the open Python vulnerability database [Safety DB](https://github.com/pyupio/safety-db), \nbut can be upgraded to use pyup.io's [Safety API](https://github.com/pyupio/safety/blob/master/docs/api_key.md) using the `--key` option. \n\n# Installation\n\nInstall `safety` with pip\n\n```bash\npip install safety\n```\n\n# Usage\n\nTo check your currently selected virtual environment for dependencies with known security\n vulnerabilites, run:\n\n```bash\nsafety check\n```\n\nYou should get a report similar to this:\n```bash\n\u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n\u2502 \u2502\n\u2502 /$$$$$$ /$$ \u2502\n\u2502 /$$__ $$ | $$ \u2502\n\u2502 /$$$$$$$ /$$$$$$ | $$ \\__//$$$$$$ /$$$$$$ /$$ /$$ \u2502\n\u2502 /$$_____/ |____ $$| $$$$ /$$__ $$|_ $$_/ | $$ | $$ \u2502\n\u2502 | $$$$$$ /$$$$$$$| $$_/ | $$$$$$$$ | $$ | $$ | $$ \u2502\n\u2502 \\____ $$ /$$__ $$| $$ | $$_____/ | $$ /$$| $$ | $$ \u2502\n\u2502 /$$$$$$$/| $$$$$$$| $$ | $$$$$$$ | $$$$/| $$$$$$$ \u2502\n\u2502 |_______/ \\_______/|__/ \\_______/ \\___/ \\____ $$ \u2502\n\u2502 /$$ | $$ \u2502\n\u2502 | $$$$$$/ \u2502\n\u2502 by pyup.io \\______/ \u2502\n\u2502 \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 REPORT \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 No known security vulnerabilities found. \u2502\n\u2558\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255b\n```\n\nNow, let's install something insecure:\n\n```bash\npip install insecure-package\n```\n*Yeah, you can really install that.*\n\nRun `safety check` again:\n```bash\n\u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n\u2502 \u2502\n\u2502 /$$$$$$ /$$ \u2502\n\u2502 /$$__ $$ | $$ \u2502\n\u2502 /$$$$$$$ /$$$$$$ | $$ \\__//$$$$$$ /$$$$$$ /$$ /$$ \u2502\n\u2502 /$$_____/ |____ $$| $$$$ /$$__ $$|_ $$_/ | $$ | $$ \u2502\n\u2502 | $$$$$$ /$$$$$$$| $$_/ | $$$$$$$$ | $$ | $$ | $$ \u2502\n\u2502 \\____ $$ /$$__ $$| $$ | $$_____/ | $$ /$$| $$ | $$ \u2502\n\u2502 /$$$$$$$/| $$$$$$$| $$ | $$$$$$$ | $$$$/| $$$$$$$ \u2502\n\u2502 |_______/ \\_______/|__/ \\_______/ \\___/ \\____ $$ \u2502\n\u2502 /$$ | $$ \u2502\n\u2502 | $$$$$$/ \u2502\n\u2502 by pyup.io \\______/ \u2502\n\u2502 \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 REPORT \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 package \u2502 installed \u2502 affected \u2502 source \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 insecure-package \u2502 0.1.0 \u2502 <0.2.0 \u2502 changelog \u2502\n\u2558\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255b\n```\n\n## Examples\n\n### Read requirement files\nJust like pip, Safety is able to read local requirement files:\n\n```bash\nsafety check -r requirements.txt\n```\n\n### Read from stdin\nSafety is also able to read from stdin with the `--stdin` flag set.\n\nTo check a local requirements file, run:\n```\ncat requirements.txt | safety check --stdin\n```\n\nor the output of `pip freeze`:\n```\npip freeze | safety check --stdin\n```\n\nor to check a single package:\n```\necho \"insecure-package==0.1\" | safety check --stdin\n```\n\n*For more examples, take a look at the [options](#options) section.*\n\n## Using Safety in Docker\n\nSafety can be easily executed as Docker container. To build the container just execute:\n```\ndocker build -t safety-docker .\n```\n\nThe container can be used just as described in the [examples](#examples) section.\n```\necho \"insecure-package==0.1\" | docker run -i --rm safety-docker safety check --stdin\ncat requirements_dev.txt | docker run -i --rm safety-docker safety check --stdin\n```\n\n## Using Safety with a CI service\n\nSafety works great in your CI pipeline. It returns a non-zero exit status if it finds a vulnerability. \n\nRun it before or after your tests. If Safety finds something, your tests will fail.\n\n**Travis**\n```\ninstall:\n - pip install safety\n\nscript:\n - safety check\n```\n\n**Deep GitHub Integration**\n\nIf you are looking for a deep integration with your GitHub repositories: Safety is available as a \npart of [pyup.io](https://pyup.io/), called [Safety CI](https://pyup.io/safety/ci/). Safety CI \nchecks your commits and pull requests for dependencies with known security vulnerabilities \nand displays a status on GitHub.\n\n![Safety CI](https://github.com/pyupio/safety/raw/master/safety_ci.png)\n\n\n# Using Safety in production\n\nSafety is free and open source (MIT Licensed). The underlying open vulnerability database is updated once per month.\n\nTo get access to all vulnerabilites as soon as they are added, you need a [Safety API key](https://github.com/pyupio/safety/blob/master/docs/api_key.md) that comes with a paid [pyup.io](https://pyup.io) account, starting at $99 for organizations.\n\n## Options\n\n### `--key`\n\n*API Key for pyup.io's vulnerability database. Can be set as `SAFETY_API_KEY` environment variable.*\n\n**Example**\n```bash\nsafety check --key=12345-ABCDEFGH\n```\n\n___\n\n### `--db`\n\n*Path to a directory with a local vulnerability database including `insecure.json` and `insecure_full.json`*\n\n**Example**\n```bash\nsafety check --db=/home/safety-db/data\n```\n\n### `--proxy-host`\n\n*Proxy host IP or DNS*\n\n### `--proxy-port`\n\n*Proxy port number*\n\n### `--proxy-protocol`\n\n*Proxy protocol (https or http)*\n\n___\n\n### `--json`\n\n*Output vulnerabilities in JSON format.*\n\n**Example**\n```bash\nsafety check --json\n```\n```javascript\n[\n [\n \"django\",\n \"<1.2.2\",\n \"1.2\",\n \"Cross-site scripting (XSS) vulnerability in Django 1.2.x before 1.2.2 allows remote attackers to inject arbitrary web script or HTML via a csrfmiddlewaretoken (aka csrf_token) cookie.\",\n \"25701\"\n ]\n]\n```\n___\n\n### `--full-report`\n\n*Full reports include a security advisory (if available).*\n\n**Example**\n```bash\nsafety check --full-report\n```\n\n```\n\u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n\u2502 \u2502\n\u2502 /$$$$$$ /$$ \u2502\n\u2502 /$$__ $$ | $$ \u2502\n\u2502 /$$$$$$$ /$$$$$$ | $$ \\__//$$$$$$ /$$$$$$ /$$ /$$ \u2502\n\u2502 /$$_____/ |____ $$| $$$$ /$$__ $$|_ $$_/ | $$ | $$ \u2502\n\u2502 | $$$$$$ /$$$$$$$| $$_/ | $$$$$$$$ | $$ | $$ | $$ \u2502\n\u2502 \\____ $$ /$$__ $$| $$ | $$_____/ | $$ /$$| $$ | $$ \u2502\n\u2502 /$$$$$$$/| $$$$$$$| $$ | $$$$$$$ | $$$$/| $$$$$$$ \u2502\n\u2502 |_______/ \\_______/|__/ \\_______/ \\___/ \\____ $$ \u2502\n\u2502 /$$ | $$ \u2502\n\u2502 | $$$$$$/ \u2502\n\u2502 by pyup.io \\______/ \u2502\n\u2502 \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 REPORT \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 package \u2502 installed \u2502 affected \u2502 ID \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 django \u2502 1.2 \u2502 <1.2.2 \u2502 25701 \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 Cross-site scripting (XSS) vulnerability in Django 1.2.x before 1.2.2 allows \u2502\n\u2502 remote attackers to inject arbitrary web script or HTML via a csrfmiddlewar \u2502\n\u2502 etoken (aka csrf_token) cookie. \u2502\n\u2558\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255b\n```\n___\n\n### `--bare`\n\n*Output vulnerable packages only. Useful in combination with other tools.*\n\n**Example**\n```bash\nsafety check --bare\n```\n\n```\ncryptography django\n```\n___\n\n### `--cache`\n\n*Cache requests to the vulnerability database locally for 2 hours.*\n\n**Example**\n```bash\nsafety check --cache\n```\n___\n\n### `--stdin`\n\n*Read input from stdin.*\n\n**Example**\n```bash\ncat requirements.txt | safety check --stdin\n```\n```bash\npip freeze | safety check --stdin\n```\n```bash\necho \"insecure-package==0.1\" | safety check --stdin\n```\n___\n\n### `--file`, `-r`\n\n*Read input from one (or multiple) requirement files.*\n\n**Example**\n```bash\nsafety check -r requirements.txt\n```\n```bash\nsafety check --file=requirements.txt\n```\n```bash\nsafety check -r req_dev.txt -r req_prod.txt\n```\n___\n\n### `--ignore`, `-i`\n\n*Ignore one (or multiple) vulnerabilities by ID*\n\n**Example**\n```bash\nsafety check -i 1234\n```\n```bash\nsafety check --ignore=1234\n```\n```bash\nsafety check -i 1234 -i 4567 -i 89101\n```\n\n### `--output`, `-o`\n\n*Save the report to a file*\n\n**Example**\n```bash\nsafety check -o insecure_report.txt\n```\n```bash\nsafety check --output --json insecure_report.json\n```\n___\n\n# Review\n\nIf you save the report in JSON format you can review in the report format again.\n\n## Options\n\n### `--file`, `-f` (REQUIRED)\n\n*Read an insecure report.*\n\n**Example**\n```bash\nsafety check -f insecure.json\n```\n```bash\nsafety check --file=insecure.json\n```\n___\n\n### `--full-report`\n\n*Full reports include a security advisory (if available).*\n\n**Example**\n```bash\nsafety review -r insecure.json --full-report\n```\n\n```\n\u2552\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2555\n\u2502 \u2502\n\u2502 /$$$$$$ /$$ \u2502\n\u2502 /$$__ $$ | $$ \u2502\n\u2502 /$$$$$$$ /$$$$$$ | $$ \\__//$$$$$$ /$$$$$$ /$$ /$$ \u2502\n\u2502 /$$_____/ |____ $$| $$$$ /$$__ $$|_ $$_/ | $$ | $$ \u2502\n\u2502 | $$$$$$ /$$$$$$$| $$_/ | $$$$$$$$ | $$ | $$ | $$ \u2502\n\u2502 \\____ $$ /$$__ $$| $$ | $$_____/ | $$ /$$| $$ | $$ \u2502\n\u2502 /$$$$$$$/| $$$$$$$| $$ | $$$$$$$ | $$$$/| $$$$$$$ \u2502\n\u2502 |_______/ \\_______/|__/ \\_______/ \\___/ \\____ $$ \u2502\n\u2502 /$$ | $$ \u2502\n\u2502 | $$$$$$/ \u2502\n\u2502 by pyup.io \\______/ \u2502\n\u2502 \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 REPORT \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2564\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 package \u2502 installed \u2502 affected \u2502 ID \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2567\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 django \u2502 1.2 \u2502 <1.2.2 \u2502 25701 \u2502\n\u255e\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2561\n\u2502 Cross-site scripting (XSS) vulnerability in Django 1.2.x before 1.2.2 allows \u2502\n\u2502 remote attackers to inject arbitrary web script or HTML via a csrfmiddlewar \u2502\n\u2502 etoken (aka csrf_token) cookie. \u2502\n\u2558\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u255b\n```\n___\n\n### `--bare`\n\n*Output vulnerable packages only.*\n\n**Example**\n```bash\nsafety review --file report.json --bare\n```\n\n```\ndjango\n```\n___\n\n\n\n=======\nHistory\n=======\n\n1.8.5 (2019-02-04)\n------------------\n\n* Wrap words in full report (Thanks @mgedmin)\n* Added Dockerfile and readme instructions (Thanks @ayeks)\n* Remove API dependency on pip (Thanks @benjaminp)\n\n1.8.4 (2018-08-03)\n------------------\n\n* Update cryptography dependency from verision 1.9 to version 2.3 due to security vulnerability\n\n1.8.3b (2018-07-24)\n------------------\n\n* Allows both unicode and non-unicode type encoding when parsing requriment files\n\n1.8.2 (2018-07-10)\n------------------\n\n* Fixed unicode error\n\n1.8.1 (2018-04-06)\n------------------\n\n* Fixed a packaging error with the dparse dependency\n\n1.8.0 (2018-04-05)\n------------------\n\n* Safety now support pip 10\n\n1.7.0 (2018-02-03)\n------------------\n\n* Safety now shows a filename if it finds an unpinned requirement. Thanks @nnadeau\n* Removed official support for Python 2.6 and Python 3.3. Thanks @nnadeau\n\n1.6.1 (2017-10-20)\n------------------\n\n* Fixed an error that caused the CLI to fail on requirement files/stdin.\n\n1.6.0 (2017-10-20)\n------------------\n\n* Added an indicator which DB is currently used\n* Added a package count how many packages have been checked\n* Allow multiple version of the same library. Thanks @thatarchguy\n\n1.5.1 (2017-07-20)\n------------------\n\n* Fixed an error on unpinned VCS requirements. This is a regression, see https://github.com/pyupio/safety/issues/72\n\n1.5.0 (2017-07-19)\n------------------\n\n* Internal refactoring. Removed dependency on setuptools and switched to the new dparse library.\n\n1.4.1 (2017-07-04)\n------------------\n\n* Fixed a bug where absence of ``stty`` was causing a traceback in ``safety\n check`` on Python 2.7 for Windows.\n\n1.4.0 (2017-04-21)\n------------------\n\n* Added the ability to ignore one (or multiple) vulnerabilities by ID via the `--ignore`/`-i` flag.\n\n1.3.0 (2017-04-21)\n------------------\n\n* Added `--bare` output format.\n* Added a couple of help text to the command line interface.\n* Fixed a bug that caused requirement files with unpinned dependencies to fail when using\n a recent setuptools release.\n\n1.2.0 (2017-04-06)\n------------------\n\n* Added JSON as an output format. Use it with the `--json` flag. Thanks @Stype.\n\n1.1.1 (2017-03-27)\n------------------\n\n* Fixed terminal size detection when fed via stdin.\n\n1.1.0 (2017-03-23)\n------------------\n\n* Compatibility release. Safety should now run on macOs, Linux and Windows with Python 2.7, 3.3-3.6.\n Python 2.6 support is available on a best-effort basis on Linux.\n\n1.0.2 (2017-03-23)\n------------------\n\n* Fixed another error on Python 2. The fallback function for get_terminal_size wasn't working correctly.\n\n1.0.1 (2017-03-23)\n------------------\n\n* Fixed an error on Python 2, FileNotFoundError was introduced in Python 3.\n\n1.0.0 (2017-03-22)\n------------------\n\n* Added terminal size detection. Terminals with fewer than 80 columns should now display nicer reports.\n* Added an option to load the database from the filesystem or a mirror that's reachable via http(s).\n This can be done by using the --db flag.\n* Added an API Key option that uses pyup.io's vulnerability database.\n* Added an option to cache the database locally for 2 hours. The default still is to not use the cache. Use the --cache flag.\n\n\n0.6.0 (2017-03-10)\n------------------\n\n* Made the requirements parser more robust. The parser should no longer fail on editable requirements\n and requirements that are supplied by package URL.\n* Running safety requires setuptools >= 16\n\n0.5.1 (2016-11-08)\n------------------\n\n* Fixed a bug where not all requirement files were read correctly.\n\n0.5.0 (2016-11-08)\n------------------\n\n* Added option to read requirements from files.\n\n0.4.0 (2016-11-07)\n------------------\n\n* Filter out non-requirements when reading from stdin.\n\n0.3.0 (2016-10-28)\n------------------\n\n* Added option to read from stdin.\n\n0.2.2 (2016-10-21)\n------------------\n\n* Fix import errors on python 2.6 and 2.7.\n\n0.2.1 (2016-10-21)\n------------------\n\n* Fix packaging bug.\n\n0.2.0 (2016-10-20)\n------------------\n\n* Releasing first prototype.\n\n0.1.0 (2016-10-19)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pyupio/safety", "keywords": "safety", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "safety", "package_url": "https://pypi.org/project/safety/", "platform": "", "project_url": "https://pypi.org/project/safety/", "project_urls": { "Homepage": "https://github.com/pyupio/safety" }, "release_url": "https://pypi.org/project/safety/1.8.5/", "requires_dist": [ "setuptools", "Click (>=6.0)", "requests", "packaging", "dparse (>=0.4.1)" ], "requires_python": "", "summary": "Safety checks your installed dependencies for known security vulnerabilities.", "version": "1.8.5" }, "last_serial": 4779846, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "cb6866b41e5421bc7b80e8be48938e5e", "sha256": "d48eba125e5374b03a7736feb14f09dcf891556c6f5ccd9b0dcb1a51b02a808a" }, "downloads": -1, "filename": "safety-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cb6866b41e5421bc7b80e8be48938e5e", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 3999, "upload_time": "2016-10-19T14:08:29", "url": "https://files.pythonhosted.org/packages/c5/d2/ad1722cd30b5088a450cf9b4648afdc6e748dcdac59c427766e0c808f6a9/safety-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58133f2692e8594dff3bc30fde951f52", "sha256": "0cf73b6525c7db721aafdaf98fab317b9d37992bb1899c2d4938e52f1addcee5" }, "downloads": -1, "filename": "safety-0.1.0.tar.gz", "has_sig": false, "md5_digest": "58133f2692e8594dff3bc30fde951f52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11548, "upload_time": "2016-10-19T14:08:23", "url": "https://files.pythonhosted.org/packages/47/92/66e8d290572286e2ce9208300f1822bc08340ef6c3a2b20dfc1affc21dd5/safety-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "3533ccd2cd36ebaec02d4f86f3037a77", "sha256": "899084f3b67d95a9b2a0014dc34aa03d9f1a2cb802d85e2cd970a9be3f63e21d" }, "downloads": -1, "filename": "safety-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3533ccd2cd36ebaec02d4f86f3037a77", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 6615, "upload_time": "2016-10-20T15:33:21", "url": "https://files.pythonhosted.org/packages/c9/2c/6341f9d3b97d12f2ef2db74b3affaa5551e2396d7cc3638208ca6ac312ef/safety-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a2dba365d40f814df5f0fa21a99f8f9", "sha256": "68a143dbd93a0e30d77fa64ceb43ff269d6a9f8786a54a13157f3bce181f4dba" }, "downloads": -1, "filename": "safety-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3a2dba365d40f814df5f0fa21a99f8f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11883, "upload_time": "2016-10-20T15:33:14", "url": "https://files.pythonhosted.org/packages/ff/3d/2cbf1e98341ee72503b96b0bafbe4909304ea7edf3cd7ed1634042bd2278/safety-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "84c8a2652eeaa6d738689a4dea9efd3b", "sha256": "960b85df2641da52c5913362f40219ac90697d54051bdab60bd9febf8cf1ab5a" }, "downloads": -1, "filename": "safety-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "84c8a2652eeaa6d738689a4dea9efd3b", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 6648, "upload_time": "2016-10-21T06:50:00", "url": "https://files.pythonhosted.org/packages/6d/d4/3803dd09cc06cf87d180303ba141230542e29df840491b29b8528a3a7b0c/safety-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db257cbd097a9db095ca7e35d6311477", "sha256": "a99244e53bc9165f1cdebad7cbaf214052e13c1d4abca1e7f1acab90e14b3985" }, "downloads": -1, "filename": "safety-0.2.1.tar.gz", "has_sig": false, "md5_digest": "db257cbd097a9db095ca7e35d6311477", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11909, "upload_time": "2016-10-21T06:50:12", "url": "https://files.pythonhosted.org/packages/28/0e/c1d03fc596f2dc6de093195d57e83ae6cd76e4a9350c063b8088c4934141/safety-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "d957f8794100dfab2e8628909aa7dcae", "sha256": "d16ef22cdda787e19244cef4949598a29560e9047e7352cff194efb2437a5cf0" }, "downloads": -1, "filename": "safety-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d957f8794100dfab2e8628909aa7dcae", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 7822, "upload_time": "2016-10-21T10:41:52", "url": "https://files.pythonhosted.org/packages/59/58/c411f9aedc7628a78bb0d2d6d556d1c6f6bc66e289376db9acb3ad484b86/safety-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd16d866fc1a0ffb5318b1ad59fd840b", "sha256": "080bdff06061a7b6f88bc122a3b0fca6f1a3188879d4026403ecef5acdda87c5" }, "downloads": -1, "filename": "safety-0.2.2.tar.gz", "has_sig": false, "md5_digest": "fd16d866fc1a0ffb5318b1ad59fd840b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6333, "upload_time": "2016-10-21T10:42:02", "url": "https://files.pythonhosted.org/packages/b1/ef/a2c4e057b95a740b10e18a669fcf414fca5621971a4c942e04197154d2b4/safety-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e9ff4c515478e1b1ce5e8f3525024da2", "sha256": "13a00b67a107528286408ac54a343a70c91925411d251fe9e5eba523fa0afde4" }, "downloads": -1, "filename": "safety-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e9ff4c515478e1b1ce5e8f3525024da2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8507, "upload_time": "2016-10-28T10:33:01", "url": "https://files.pythonhosted.org/packages/be/d5/896333e8695cdcca2c2c871bf7adb7f2d21d6bbc2e248fea3c22ce4113e2/safety-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a0920e042b5fe0c1c0f79b3eabb92f5f", "sha256": "0937135c0bcf668bea11b91a02de4b1ebc521b9155e5afa6eadf4385416f7b76" }, "downloads": -1, "filename": "safety-0.3.0.tar.gz", "has_sig": false, "md5_digest": "a0920e042b5fe0c1c0f79b3eabb92f5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6220, "upload_time": "2016-10-28T10:33:02", "url": "https://files.pythonhosted.org/packages/0d/61/66e90fd970b2a2bd32b085e42ac935897b06c852f6a5a15718813f3afbc2/safety-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "97889891249be152f87533ffc20e91ca", "sha256": "61f712b6b915828cf615f0b5fd8aff40192816434826cebf0089d6e1285ab1c3" }, "downloads": -1, "filename": "safety-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "97889891249be152f87533ffc20e91ca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8716, "upload_time": "2016-11-07T15:33:57", "url": "https://files.pythonhosted.org/packages/b6/3a/8b2ede19bfcdf31c44df43b85f5c72e8f48c2733174e081916dc75e44ce4/safety-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5263bef4a33a05aacc856bf7de5d9928", "sha256": "be7e38d4e1ae64def9318a4da52970379e2523c0282509a0f3beaf2bc971cc88" }, "downloads": -1, "filename": "safety-0.4.0.tar.gz", "has_sig": false, "md5_digest": "5263bef4a33a05aacc856bf7de5d9928", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6374, "upload_time": "2016-11-07T15:33:59", "url": "https://files.pythonhosted.org/packages/50/52/eeec2cb15aedf0b3e06c8886065bcbf9e7fd891ddd52822cf42d32a95cae/safety-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "4bc9cd7cbf7d881b3e17c39bae7d54dc", "sha256": "7d7b4f69ff23d5203096437473b05e1bda963f81a6df786eb2614468fa347b59" }, "downloads": -1, "filename": "safety-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4bc9cd7cbf7d881b3e17c39bae7d54dc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9198, "upload_time": "2016-11-08T09:54:19", "url": "https://files.pythonhosted.org/packages/f6/fc/fcfc75d42d4348a25d4c4649cdca2877f5aacedf8a57ecf4c1ceb183219a/safety-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a784b4886dfcedeffa2da504a3f24f4b", "sha256": "682cfe0fad16dd6c2efe048acd93b2142ac85dae0ad908d3dec1ece2af1e01bb" }, "downloads": -1, "filename": "safety-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a784b4886dfcedeffa2da504a3f24f4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7323, "upload_time": "2016-11-08T09:54:21", "url": "https://files.pythonhosted.org/packages/80/51/b01f8f952954b60a8b02669f0eadd8fdcb88e4d68b883551f15f5227308d/safety-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "66991b2adee0ac7ebbdbc1dd06865cd9", "sha256": "24035999031ad5f5f75df310abe4ecbb832b6de869752dc8abe52908a6878d29" }, "downloads": -1, "filename": "safety-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "66991b2adee0ac7ebbdbc1dd06865cd9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9287, "upload_time": "2016-11-08T14:34:38", "url": "https://files.pythonhosted.org/packages/78/91/710fd502f4a04c7eac855fd8cdd25c471aae86d86d944e1ab21cd6ec5ca7/safety-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9790e27ed7280b0c9b0d398b7b611e5c", "sha256": "d7135e2934da57a64d9ad2d34854acc3d05075df91b6e2eddadd868ec6886573" }, "downloads": -1, "filename": "safety-0.5.1.tar.gz", "has_sig": false, "md5_digest": "9790e27ed7280b0c9b0d398b7b611e5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7438, "upload_time": "2016-11-08T14:34:40", "url": "https://files.pythonhosted.org/packages/a7/52/202ef7a64b92a3c4648aa9604cb7c13816eb1af06b5edcb958383b0c910a/safety-0.5.1.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "6e7255965637fa88bf42a5d8c1e3e22f", "sha256": "622a512e0e89eb07fe993a3e1adf49d7c0b8e0f2268797048a58a6c6f68bd387" }, "downloads": -1, "filename": "safety-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6e7255965637fa88bf42a5d8c1e3e22f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9764, "upload_time": "2017-03-10T16:23:17", "url": "https://files.pythonhosted.org/packages/68/8c/3d91393880375ee4f518f4a4596f3944307ef5569c61f7ac9b4c577fac4e/safety-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a152af2c756f1425d55592fd30cca361", "sha256": "167830dd2a41cdd593573f54b8e7b17a488ab33a9c10b1de0069ccda2819cbe6" }, "downloads": -1, "filename": "safety-0.6.0.tar.gz", "has_sig": false, "md5_digest": "a152af2c756f1425d55592fd30cca361", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7679, "upload_time": "2017-03-10T16:23:19", "url": "https://files.pythonhosted.org/packages/e0/f6/1a9771332e220e0a7b8ddd464a82ef2c4ec8dd01433a80251097d8d5f813/safety-0.6.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "fc8d574d7a2ff5d622a45f5a44dd8b5b", "sha256": "38f74e6a0bc9fb2aa9266920bb50127534671cc2f2e7d99c2bc9d9388d6596d3" }, "downloads": -1, "filename": "safety-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fc8d574d7a2ff5d622a45f5a44dd8b5b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12048, "upload_time": "2017-03-23T11:02:08", "url": "https://files.pythonhosted.org/packages/c6/99/5c3d32753166fdadf37cf48b0af255a1834f2531d3481fe18861c877016d/safety-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b4a3f75e079d4d2ed772fed7fb80cd2", "sha256": "5ebeb670d812dd39afe1506dd0236214a949555e19c53fbc95f27a773d6fe9a9" }, "downloads": -1, "filename": "safety-1.0.0.tar.gz", "has_sig": false, "md5_digest": "7b4a3f75e079d4d2ed772fed7fb80cd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1089172, "upload_time": "2017-03-23T11:02:10", "url": "https://files.pythonhosted.org/packages/cb/4c/77552b3645bf54742b470c7089c4d0e4d32202cf860489a205e35f6929a2/safety-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "74aae8b1a17106d6a5d1b816f0aca16f", "sha256": "42043f2c724c4d6da75f96cd8da1277c18a7ad5d160b38ee301d2271a3b35d62" }, "downloads": -1, "filename": "safety-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74aae8b1a17106d6a5d1b816f0aca16f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12173, "upload_time": "2017-03-23T11:39:27", "url": "https://files.pythonhosted.org/packages/15/a8/b579861e8b88eba14bc7214b69e2900bacc8c65dc14d0cb7cbd0e6390308/safety-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76fea7b415c36756e51a84e8438845cf", "sha256": "5a10a438edccca5b4366d500afcf8dfdf07e20103b0cfdd0fb95f4c42ea9798c" }, "downloads": -1, "filename": "safety-1.0.1.tar.gz", "has_sig": false, "md5_digest": "76fea7b415c36756e51a84e8438845cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1089346, "upload_time": "2017-03-23T11:39:28", "url": "https://files.pythonhosted.org/packages/ae/82/ecaf9d7fd434d5a7159ad7005cb907518696feba3211fbf79f6d51b1fb67/safety-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "0499fcd238a49f79a981bea1cb6d3184", "sha256": "f4258bf186c954aaa4d155701d2337696c9499d0daf2527f07a44886da8a3695" }, "downloads": -1, "filename": "safety-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0499fcd238a49f79a981bea1cb6d3184", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12257, "upload_time": "2017-03-23T13:50:28", "url": "https://files.pythonhosted.org/packages/d3/58/647b336bf6d8c99acb5ccfa1f9fc633b2ce4093aaa6f410f9c059c0e3a99/safety-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31db09e548a9cfb8b4ccd94adc2d46d0", "sha256": "23c6ca324a452b5fc93b53f53ea48435034b7a6a3908c630412fe54cdbb78222" }, "downloads": -1, "filename": "safety-1.0.2.tar.gz", "has_sig": false, "md5_digest": "31db09e548a9cfb8b4ccd94adc2d46d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1089599, "upload_time": "2017-03-23T13:50:30", "url": "https://files.pythonhosted.org/packages/4c/cc/985fda86acadcd23b908490359ae6fdba436f2becd74b27a0b597da995fb/safety-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "67b79f12bcca01232c382a01ac23e1bf", "sha256": "b670b8b86aaf67a7f8d92523c93d56ff3d8048ec1757ee2e324d7221302bd765" }, "downloads": -1, "filename": "safety-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67b79f12bcca01232c382a01ac23e1bf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12627, "upload_time": "2017-03-23T16:08:33", "url": "https://files.pythonhosted.org/packages/bb/4c/7a79ea65eb0577a2ac6f5ad99b61f9b50832bb4157450a44dfba62b9b6ce/safety-1.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed423fc701248072a1511183dd762900", "sha256": "a56e9aef64192f8b312fca0426754e02094c495c5d01605d3982b90b36c8ec94" }, "downloads": -1, "filename": "safety-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ed423fc701248072a1511183dd762900", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1090297, "upload_time": "2017-03-23T16:08:34", "url": "https://files.pythonhosted.org/packages/5e/4a/a3b46e2f28c05a4618731e99e83428aa0b76765f139d55d55490eba002c8/safety-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "7860a157431fe61802ef75973593b88d", "sha256": "989dae48685c1df400c0e88f80bdc1be84462819aafc2da61c7adf6021c0e91b" }, "downloads": -1, "filename": "safety-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7860a157431fe61802ef75973593b88d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13503, "upload_time": "2017-03-27T13:33:09", "url": "https://files.pythonhosted.org/packages/4b/9b/a71d9cd97e7da634880893523ecbaf6388eafe04c14fed81b72604f246ed/safety-1.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fc174faa90a89727939ad7d4fdcb1d69", "sha256": "fd82cd8fd355fe30785ec358dc7ffddb0afc2a17511b213b69a98ef5c11af381" }, "downloads": -1, "filename": "safety-1.1.1.tar.gz", "has_sig": false, "md5_digest": "fc174faa90a89727939ad7d4fdcb1d69", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1091008, "upload_time": "2017-03-27T13:33:11", "url": "https://files.pythonhosted.org/packages/31/62/88e62ba9d755a536633cd466ea78ee6e3d457d7c11b9e1d5185352e0d08e/safety-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "3384f1048af1fa57767aca004b2e8645", "sha256": "8d6972f275e4a687cc294c9fbfcb07e901272a32bc0a3411f7b471342e75f810" }, "downloads": -1, "filename": "safety-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3384f1048af1fa57767aca004b2e8645", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14327, "upload_time": "2017-04-20T14:33:37", "url": "https://files.pythonhosted.org/packages/39/fd/d0dec95692e54c0cd464cb9a29c2055a45f55d626973c44b5f154f327e2c/safety-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "16260679a94d31015e73f2c4f7132863", "sha256": "ba0843e0426a860a74b0c8273363526c94f8beade7c15bdff6766973e9409c4c" }, "downloads": -1, "filename": "safety-1.2.0.tar.gz", "has_sig": false, "md5_digest": "16260679a94d31015e73f2c4f7132863", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1092388, "upload_time": "2017-04-20T14:33:39", "url": "https://files.pythonhosted.org/packages/e5/49/a5298bf6a49a3612ec290b94c6e8712f79055838202ba4474a1b5eae6677/safety-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "6d5694f05b5ee6b3e783dd1593b20059", "sha256": "97b2c604fe0884fbb5d66c230cc632f56b652269b561a689ac7a6f67d87da161" }, "downloads": -1, "filename": "safety-1.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6d5694f05b5ee6b3e783dd1593b20059", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 14337, "upload_time": "2017-04-21T06:47:02", "url": "https://files.pythonhosted.org/packages/b3/95/eb0a805c7fd7a9ae7a55240081a3996343103daff1e4dae3b99640d1d54a/safety-1.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4dcd5cda9b8af0e73cd8c8473e05ff2c", "sha256": "b6d9798845a5ce804318dbb6e13ed5d6e1ac54b549ff98a3847b9ec59a28621c" }, "downloads": -1, "filename": "safety-1.3.0.tar.gz", "has_sig": false, "md5_digest": "4dcd5cda9b8af0e73cd8c8473e05ff2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1093309, "upload_time": "2017-04-21T06:46:59", "url": "https://files.pythonhosted.org/packages/c6/82/7ec337cc60851cf295381ed4484a270e997806bb49627150337dd17c47a7/safety-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "201a8ece749c84d9686afd7800ab381b", "sha256": "59a061b70852f8a60e29eb5b607cacc0a6781db98626ace8f3b6abdbee872709" }, "downloads": -1, "filename": "safety-1.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "201a8ece749c84d9686afd7800ab381b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15985, "upload_time": "2017-04-21T10:01:22", "url": "https://files.pythonhosted.org/packages/a7/5a/f62bd43d59473e05bf5d147334ea18ca3ccd5aaad87e14d40cc4451a7385/safety-1.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38cd6ef049e596a4e7e2a2828f9c761b", "sha256": "443e218fcde7ff20d0bc33d7035146029f1644127d62c0b2c9db468ffba5a177" }, "downloads": -1, "filename": "safety-1.4.0.tar.gz", "has_sig": false, "md5_digest": "38cd6ef049e596a4e7e2a2828f9c761b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1095296, "upload_time": "2017-04-21T10:01:23", "url": "https://files.pythonhosted.org/packages/48/e7/a842ff9828e022d3689af5dec2ce3c4469bb8af50ca95b55dbf4b5fbf329/safety-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "e210f001e0461b66f27d667e91472a18", "sha256": "bf2d1554c86b632e24417cc7c97d64e94eb3718e33388a039e26b66d438206a3" }, "downloads": -1, "filename": "safety-1.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e210f001e0461b66f27d667e91472a18", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16106, "upload_time": "2017-07-04T18:13:51", "url": "https://files.pythonhosted.org/packages/4a/cb/6df64ae736e9319209b0dda4cf8256692584f042afca9a5a981b9e518156/safety-1.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0ea5c70a99d4a135855f845f3edcdbeb", "sha256": "b8c8d0dc5ca924552bd918ea70d1567531888f9318e5bc496f6b19a16dc7a3ce" }, "downloads": -1, "filename": "safety-1.4.1.tar.gz", "has_sig": false, "md5_digest": "0ea5c70a99d4a135855f845f3edcdbeb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1095476, "upload_time": "2017-07-04T18:13:52", "url": "https://files.pythonhosted.org/packages/6d/e9/11c95c4c8454bdf7d2fba125366ff8727334d1cd4a5f8a95acc79bf547b9/safety-1.4.1.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "973df943ccaa9a101e3f2e11317a6d63", "sha256": "362fb1d34a09278749b6f5122297db40f4becec7d957949c91006b05ec8b2bb8" }, "downloads": -1, "filename": "safety-1.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "973df943ccaa9a101e3f2e11317a6d63", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16243, "upload_time": "2017-07-19T13:46:48", "url": "https://files.pythonhosted.org/packages/cc/97/51426d55a5475be1588ba80d495d2e0eb84b5e3806b588d9747d1a4f661e/safety-1.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5f81720c5f35e38369f6f52fd076934", "sha256": "8ce981ed84a866072a1538ee7227cd3f657e709aef03e1cde0b733bf114c7ab2" }, "downloads": -1, "filename": "safety-1.5.0.tar.gz", "has_sig": false, "md5_digest": "d5f81720c5f35e38369f6f52fd076934", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1095658, "upload_time": "2017-07-19T13:46:50", "url": "https://files.pythonhosted.org/packages/0f/d9/d70b40ebe029cc9ca553cc8fdad8b993980e83d7dade06e1e2bf37a07deb/safety-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "924fa6b3c31f53ffbfaa14035680c4c1", "sha256": "c3ab52ed097ec0f57f0ede3654846dceb90ba31962ffe76d2e87bd24cbcbd623" }, "downloads": -1, "filename": "safety-1.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "924fa6b3c31f53ffbfaa14035680c4c1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16335, "upload_time": "2017-07-20T07:13:34", "url": "https://files.pythonhosted.org/packages/68/42/3b616e050439a5e65bf72f156bbb62becc1e6b6397a7f192eb19262f4956/safety-1.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a476aa85845388958d29185f69c2809", "sha256": "e27aebee0fd140ab0c06c243e561f2939a0f70ed27231a3ca8c08b0656813ae6" }, "downloads": -1, "filename": "safety-1.5.1.tar.gz", "has_sig": false, "md5_digest": "2a476aa85845388958d29185f69c2809", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1095871, "upload_time": "2017-07-20T07:13:36", "url": "https://files.pythonhosted.org/packages/79/7a/39292d84da6bbd2b1d54fb69d3ed70b5f531c836e838aa58e62e6a917283/safety-1.5.1.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "fed79e6f514d7ee04ad775c15e8ee317", "sha256": "2499fbd41cb9373dc01d6cea8670c05304d5cde089347d826002a7635680d927" }, "downloads": -1, "filename": "safety-1.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fed79e6f514d7ee04ad775c15e8ee317", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16766, "upload_time": "2017-10-20T15:12:59", "url": "https://files.pythonhosted.org/packages/ed/45/51cf59edb5183a759abce56363ab7aaf0fa4865214a0a04af62e26a20c3e/safety-1.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00b9f19ab9586a8d9ad4141f718ff1fd", "sha256": "c7bab00e29d4ace70435e071022d18556cdff7ab4e8769cf971f5ecc2a8d951d" }, "downloads": -1, "filename": "safety-1.6.0.tar.gz", "has_sig": false, "md5_digest": "00b9f19ab9586a8d9ad4141f718ff1fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1096499, "upload_time": "2017-10-20T15:13:01", "url": "https://files.pythonhosted.org/packages/f7/09/b87dd3df5fea245be6e9b409d22fa4064ab1c17d1414b5c6f8b0f547b402/safety-1.6.0.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "7d5b0ebbd84457e2385a5a4cbb6c42a3", "sha256": "6ee04f3e881c6716596710f5e505c4a39c99ca07673838f9f8fd1b5f4e74aeac" }, "downloads": -1, "filename": "safety-1.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d5b0ebbd84457e2385a5a4cbb6c42a3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16813, "upload_time": "2017-10-20T18:25:04", "url": "https://files.pythonhosted.org/packages/8e/9a/399231ffffb58f0ef4f67ff5d10a0a21843207cd4e9f9b8b28f61c5555fe/safety-1.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0552db7f1515507284f9e5a40bae0b30", "sha256": "ad875f56a9afcda5f981820a654cabecff299808307f1e89b2750e3231177608" }, "downloads": -1, "filename": "safety-1.6.1.tar.gz", "has_sig": false, "md5_digest": "0552db7f1515507284f9e5a40bae0b30", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1096535, "upload_time": "2017-10-20T18:25:06", "url": "https://files.pythonhosted.org/packages/db/35/f5b0b8cffd0b20283a6d27954890a7bf8d72359eb2c23e8c404967b3529b/safety-1.6.1.tar.gz" } ], "1.7.0": [ { "comment_text": "", "digests": { "md5": "982467b2efa47761fb283f0bff0dd6fd", "sha256": "9fb74211a0a0ab09541fe894293d66a558b6138a9fe8ebabc8cf56670e8a009c" }, "downloads": -1, "filename": "safety-1.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "982467b2efa47761fb283f0bff0dd6fd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17006, "upload_time": "2018-02-03T07:50:42", "url": "https://files.pythonhosted.org/packages/42/8d/e6eb4808e0e70adcde7ea62699c878b3ff5694a3cce1846435746eefa602/safety-1.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3fb2ecd5815501f794247a38b34e7ce4", "sha256": "ff0c4b76ad791d33825e36c41671ea45330d438921e5395903c0e87e576a377a" }, "downloads": -1, "filename": "safety-1.7.0.tar.gz", "has_sig": false, "md5_digest": "3fb2ecd5815501f794247a38b34e7ce4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1096713, "upload_time": "2018-02-03T07:50:43", "url": "https://files.pythonhosted.org/packages/86/a2/ff4c1977166e44bba8c4e009f51c7c79b63bb882a263f7a4f2f4499ad21c/safety-1.7.0.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "6cafdc6720af2b2e4bb53a15995758bf", "sha256": "2ec98a27468e9f1d30859ada59a0336610cbd5ec2cc3fe01fef4a564fa64b60b" }, "downloads": -1, "filename": "safety-1.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6cafdc6720af2b2e4bb53a15995758bf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12599, "upload_time": "2018-04-05T08:30:26", "url": "https://files.pythonhosted.org/packages/ac/a6/5f6f821b1e85db141a4caa5675cf98051226947ceb441f8db0962052a36c/safety-1.8.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2bcde4dd7e54207a71587000e1822eb6", "sha256": "1065a2e9f394a3d6b6195755dc5511e13bd7ad445b6496047d509044035b7198" }, "downloads": -1, "filename": "safety-1.8.0.tar.gz", "has_sig": false, "md5_digest": "2bcde4dd7e54207a71587000e1822eb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1096766, "upload_time": "2018-04-05T08:30:27", "url": "https://files.pythonhosted.org/packages/15/12/cce778bdb3206fb2a0963b3429395782123f41957711946f912b111a9e7f/safety-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "981baf9d1bdb98c30d76a577291f19e9", "sha256": "fc3fc55656f1c909d65311b49a38211c42c937f57a05393289fb3f17cadfa4a1" }, "downloads": -1, "filename": "safety-1.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "981baf9d1bdb98c30d76a577291f19e9", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12654, "upload_time": "2018-04-06T11:53:36", "url": "https://files.pythonhosted.org/packages/c8/a5/12fdd7d07bdb00a913760c0235e1db6b481fd1decadc0961306ea9ad9de9/safety-1.8.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9214556ccea9f2a40a0589537a058c85", "sha256": "0bd2a26b872668767c6db8efecfc8869b547463bedff5e7cd7b52f037aa6f200" }, "downloads": -1, "filename": "safety-1.8.1.tar.gz", "has_sig": false, "md5_digest": "9214556ccea9f2a40a0589537a058c85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1096468, "upload_time": "2018-04-06T11:53:33", "url": "https://files.pythonhosted.org/packages/c4/ff/1602590efc8c83d0fc9702a0598c9452a111af3a5b2dff920b29fe30fa25/safety-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "78f462181d89b058385b0a869c7c2c97", "sha256": "34227360409ffb1bc2657e5b6ff3472a32d72b917617cd3d2914ddf078c263b9" }, "downloads": -1, "filename": "safety-1.8.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "78f462181d89b058385b0a869c7c2c97", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12682, "upload_time": "2018-07-11T14:05:26", "url": "https://files.pythonhosted.org/packages/20/58/701d0b61562a63b7f0008bcfd673617b277ddaa2cde217a398f82c146cd4/safety-1.8.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b258521b1615e3ea22ba559e278363e3", "sha256": "32d41b8bbd736db749aa2162de6c0bb11c2113c7bc0357476491f96cd5d58299" }, "downloads": -1, "filename": "safety-1.8.2.tar.gz", "has_sig": false, "md5_digest": "b258521b1615e3ea22ba559e278363e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1096911, "upload_time": "2018-07-11T14:05:27", "url": "https://files.pythonhosted.org/packages/26/76/d6ec889a81eb4e7860e8584075fd35c2b065d5bfa71b3f68413af99dc892/safety-1.8.2.tar.gz" } ], "1.8.3": [ { "comment_text": "", "digests": { "md5": "cd251efe7c73b6ff79b799d52d8151d2", "sha256": "cd04e57ff8cf8984ff2cb11973e1d5469dae681e25d4edfccb1ef08cc107b2c0" }, "downloads": -1, "filename": "safety-1.8.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd251efe7c73b6ff79b799d52d8151d2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12704, "upload_time": "2018-07-24T15:02:37", "url": "https://files.pythonhosted.org/packages/52/fd/9557e6764f7258b7ee5d2afa9c1e6d762d20b8432c6953163c475c9ff3bc/safety-1.8.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "723a18b43bc615a26ba07cce4e0d389d", "sha256": "2689fe629bafe9450796d36578aa112820ff65038578aee004f60b9db1ba4ae8" }, "downloads": -1, "filename": "safety-1.8.3.tar.gz", "has_sig": false, "md5_digest": "723a18b43bc615a26ba07cce4e0d389d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1096919, "upload_time": "2018-07-24T15:02:38", "url": "https://files.pythonhosted.org/packages/42/4c/27c591caf324fe44603718a3b76c55860febbd578fe771d451420aa70074/safety-1.8.3.tar.gz" } ], "1.8.3b0": [ { "comment_text": "", "digests": { "md5": "59164d83758bd5c9e7a0ddb4e7d898d0", "sha256": "cf24f3bc37d073828b853061f152958bd7a27fb3c1eb114d517662391c2e72c7" }, "downloads": -1, "filename": "safety-1.8.3b0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "59164d83758bd5c9e7a0ddb4e7d898d0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12772, "upload_time": "2018-07-24T15:52:58", "url": "https://files.pythonhosted.org/packages/ed/47/62ca790fe3bd95a8a5fdeda0a025eb912c6eeee923bc2c220d0737f7979f/safety-1.8.3b0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6aa9d245cee9d429a3cc1b6e6e7c27e8", "sha256": "9d756544218447dfdfd9d15a0535b9324201ded364ef7aad08f1053ef26eef38" }, "downloads": -1, "filename": "safety-1.8.3b0.tar.gz", "has_sig": false, "md5_digest": "6aa9d245cee9d429a3cc1b6e6e7c27e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1097026, "upload_time": "2018-07-24T15:52:59", "url": "https://files.pythonhosted.org/packages/c5/e7/692b820df723a0311bac91e9fa69cc6671a672c27e7c2ec1c11cef0ef369/safety-1.8.3b0.tar.gz" } ], "1.8.4": [ { "comment_text": "", "digests": { "md5": "16567fea49d2b4711d91dada5ee3a30b", "sha256": "399511524f47230d5867f1eb75548f9feefb7a2711a4985cb5be0e034f87040f" }, "downloads": -1, "filename": "safety-1.8.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "16567fea49d2b4711d91dada5ee3a30b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12791, "upload_time": "2018-08-03T21:29:35", "url": "https://files.pythonhosted.org/packages/3f/98/619b918db417299e0f7a5f7c6239bec6abc18746ef533734a64e1feca241/safety-1.8.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0595d130816f80b487362a4abc5289c", "sha256": "69b970918324865dcd7b92337e07152a0ea1ceecaf92f4d3b38529ee0ca83441" }, "downloads": -1, "filename": "safety-1.8.4.tar.gz", "has_sig": false, "md5_digest": "d0595d130816f80b487362a4abc5289c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1097075, "upload_time": "2018-08-03T21:29:36", "url": "https://files.pythonhosted.org/packages/55/ed/d4a14639723ef6c879c89ecdae588442c94234b46969415f1a67745c9d1e/safety-1.8.4.tar.gz" } ], "1.8.5": [ { "comment_text": "", "digests": { "md5": "5b7783300b7f8c137260ac79ca37f035", "sha256": "0a3a8a178a9c96242b224f033ee8d1d130c0448b0e6622d12deaf37f6c3b4e59" }, "downloads": -1, "filename": "safety-1.8.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5b7783300b7f8c137260ac79ca37f035", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14792, "upload_time": "2019-02-04T22:30:17", "url": "https://files.pythonhosted.org/packages/62/23/f6f658e7c5e9b79007aabd5e0b0a214a84cac412469c57442fa3d292c0c2/safety-1.8.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "125e0a81b429acfcf0e4a6bcede8775b", "sha256": "5059f3ffab3648330548ea9c7403405bbfaf085b11235770825d14c58f24cb78" }, "downloads": -1, "filename": "safety-1.8.5.tar.gz", "has_sig": false, "md5_digest": "125e0a81b429acfcf0e4a6bcede8775b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1101930, "upload_time": "2019-02-04T22:30:19", "url": "https://files.pythonhosted.org/packages/38/f8/306a94e7f977f2f95a2c539e4b9ccca91c8e9d20dea4c20d55bf048e3b38/safety-1.8.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5b7783300b7f8c137260ac79ca37f035", "sha256": "0a3a8a178a9c96242b224f033ee8d1d130c0448b0e6622d12deaf37f6c3b4e59" }, "downloads": -1, "filename": "safety-1.8.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5b7783300b7f8c137260ac79ca37f035", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14792, "upload_time": "2019-02-04T22:30:17", "url": "https://files.pythonhosted.org/packages/62/23/f6f658e7c5e9b79007aabd5e0b0a214a84cac412469c57442fa3d292c0c2/safety-1.8.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "125e0a81b429acfcf0e4a6bcede8775b", "sha256": "5059f3ffab3648330548ea9c7403405bbfaf085b11235770825d14c58f24cb78" }, "downloads": -1, "filename": "safety-1.8.5.tar.gz", "has_sig": false, "md5_digest": "125e0a81b429acfcf0e4a6bcede8775b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1101930, "upload_time": "2019-02-04T22:30:19", "url": "https://files.pythonhosted.org/packages/38/f8/306a94e7f977f2f95a2c539e4b9ccca91c8e9d20dea4c20d55bf048e3b38/safety-1.8.5.tar.gz" } ] }