{ "info": { "author": "Corey McCandless", "author_email": "crm1994@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "[![Build Status](https://travis-ci.com/cmccandless/safepass.svg?branch=master)](https://travis-ci.com/cmccandless/safepass)[![PyPI version](https://badge.fury.io/py/safepass.svg)](https://badge.fury.io/py/safepass)[![Updates](https://pyup.io/repos/github/cmccandless/safepass/shield.svg)](https://pyup.io/repos/github/cmccandless/safepass/)[![Python 3](https://pyup.io/repos/github/cmccandless/safepass/python-3-shield.svg)](https://pyup.io/repos/github/cmccandless/safepass/)\n\n# safepass\nCheck passwords against https://haveibeenpwned.com/API/v2#PwnedPasswords\n\n## Usage\n\n### For humans\n\n```bash\n$ safepass\nPassword: \nNOT SAFE!\n$ echo $?\n1\n$ safepass\nPassword: \nSAFE!\n$ echo $?\n0\n```\n\n### For scripting\n\n*Note: scripting mode intended for situations where command history is not saved. Please use above interactive mode if checking directly in command line.*\n\n`$ safepass $PASSWORD`\n\n### API\n\n```bash\n>>> from safepass import safepass\n>>> result=safepass(PWNED_PASSWORD)\nNOT SAFE!\n>>> result\nFalse\n>>> result=safepass(NOT_PWNED_PASSWORD)\nSAFE!\n>>> result\nTrue\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/cmccandless/safepass", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "safepass", "package_url": "https://pypi.org/project/safepass/", "platform": "", "project_url": "https://pypi.org/project/safepass/", "project_urls": { "Homepage": "https://github.com/cmccandless/safepass" }, "release_url": "https://pypi.org/project/safepass/1.0.8/", "requires_dist": null, "requires_python": "", "summary": "Check passwords against https://haveibeenpwned.com/API/v2#PwnedPasswords", "version": "1.0.8" }, "last_serial": 4100444, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "2e540a27300b1f1dadb0b2cfd6e8f9bc", "sha256": "4fea44b047ea738a4e611b68377cd2c9af6011109305b35b732517e724a15590" }, "downloads": -1, "filename": "safepass-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2e540a27300b1f1dadb0b2cfd6e8f9bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2013, "upload_time": "2018-07-11T15:01:05", "url": "https://files.pythonhosted.org/packages/e6/8c/6cbe90e3bb97392fb505a75949d3341e165adacf81660b2ae81bb723cffe/safepass-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bad23807d9ac73779e2f0c2d19b27835", "sha256": "c594689f9064b516bf35367188c307c9c6b4c7ef1d8475513bd8af967710edc9" }, "downloads": -1, "filename": "safepass-0.0.1.tar.gz", "has_sig": false, "md5_digest": "bad23807d9ac73779e2f0c2d19b27835", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1578, "upload_time": "2018-07-11T15:01:06", "url": "https://files.pythonhosted.org/packages/b8/79/4c05c8f00ef989722da34c3ebf5f408695a274fa40a5be8e1b08a59a2776/safepass-0.0.1.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "9356a841c27ff368374ff481e07f06b1", "sha256": "3f9de194cad65d3ccc2e0bbbb1b94ce25c38105dc2f2a93d002e23c186828f93" }, "downloads": -1, "filename": "safepass-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9356a841c27ff368374ff481e07f06b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2405, "upload_time": "2018-07-11T15:07:09", "url": "https://files.pythonhosted.org/packages/89/60/e177cfa3996bd3fd46fb0d85ab61e7d98396a3cd3cbba07cca383b9ae367/safepass-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "359c3d2f15e1b9bda5b87d54e3182230", "sha256": "75c510ce2cbd836bcf058f515a3fd3802f315b37a3b0b6d8b6975834e0717fd9" }, "downloads": -1, "filename": "safepass-1.0.0.tar.gz", "has_sig": false, "md5_digest": "359c3d2f15e1b9bda5b87d54e3182230", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1811, "upload_time": "2018-07-11T15:07:10", "url": "https://files.pythonhosted.org/packages/30/db/823a4e7134d7ba2693be98c15435201fa39c064b6942332069dcc816c4ec/safepass-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "38dd42e3eafb1a3c3fdc6537a1035f27", "sha256": "30906ea66e7e7dd15803acbd9bd60e3cc303b196dec90290158f9610bfde2305" }, "downloads": -1, "filename": "safepass-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "38dd42e3eafb1a3c3fdc6537a1035f27", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2440, "upload_time": "2018-07-11T15:22:27", "url": "https://files.pythonhosted.org/packages/e6/b0/f2c3a070fd233f34f7e41c811ef7a7f158bcd82af0b607586a6e55030600/safepass-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10f856919342ab2a57233379adb5947d", "sha256": "c13ddad12d8dfde8f122168a56a61661c0736cefb9788a887fdee1db145970c1" }, "downloads": -1, "filename": "safepass-1.0.1.tar.gz", "has_sig": false, "md5_digest": "10f856919342ab2a57233379adb5947d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1841, "upload_time": "2018-07-11T15:22:28", "url": "https://files.pythonhosted.org/packages/c2/a1/346da18ef09f209af6f257341a37e67c2349d4227737b8c26aa25c78e201/safepass-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "7400d1484adb895ff4ece7683ae4f03a", "sha256": "26f314315fb8e52aafa621d3d091d7478e1c96e0646a8f5ff097aecee347c0b1" }, "downloads": -1, "filename": "safepass-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7400d1484adb895ff4ece7683ae4f03a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1975, "upload_time": "2018-07-12T18:36:44", "url": "https://files.pythonhosted.org/packages/8b/e3/600c9a0ee8fd8181c7b59ad1c2a66a81956ba954476497cbc5ed9efef434/safepass-1.0.2.tar.gz" } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "a3ba5e34195cd73b8b341a369af3ae2c", "sha256": "c436883e17ecfd3a604d3cca9715b489d93d02b83a7caa14cb125117713db3f8" }, "downloads": -1, "filename": "safepass-1.0.6.tar.gz", "has_sig": false, "md5_digest": "a3ba5e34195cd73b8b341a369af3ae2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1977, "upload_time": "2018-07-12T18:39:48", "url": "https://files.pythonhosted.org/packages/4a/55/ed67c7d275ebc40ec82796ea449bc5d81fcd44b8de75a402ec5fd3040b3c/safepass-1.0.6.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "5a6c297da6027068002e98fb44fd7b65", "sha256": "16be2777c63942b8a226e7082271b0ab253089153812f78e6ee64e7ed4b9a9a9" }, "downloads": -1, "filename": "safepass-1.0.8.tar.gz", "has_sig": false, "md5_digest": "5a6c297da6027068002e98fb44fd7b65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2257, "upload_time": "2018-07-25T12:43:04", "url": "https://files.pythonhosted.org/packages/45/27/6f86c2084dc6be7906dc5dddfd8ef3b3525159e586ea75c4271f4be7b878/safepass-1.0.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5a6c297da6027068002e98fb44fd7b65", "sha256": "16be2777c63942b8a226e7082271b0ab253089153812f78e6ee64e7ed4b9a9a9" }, "downloads": -1, "filename": "safepass-1.0.8.tar.gz", "has_sig": false, "md5_digest": "5a6c297da6027068002e98fb44fd7b65", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2257, "upload_time": "2018-07-25T12:43:04", "url": "https://files.pythonhosted.org/packages/45/27/6f86c2084dc6be7906dc5dddfd8ef3b3525159e586ea75c4271f4be7b878/safepass-1.0.8.tar.gz" } ] }