{ "info": { "author": "Tim Martin", "author_email": "tim@timmartin.me", "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.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "===============================\ncli-passwords\n===============================\n\n\n.. image:: https://img.shields.io/pypi/v/cli_passwords.svg\n :target: https://pypi.python.org/pypi/cli-passwords\n\n.. image:: https://img.shields.io/travis/timmartin19/cli_passwords.svg\n :target: https://travis-ci.org/timmartin19/cli-passwords\n\n.. image:: https://readthedocs.org/projects/cli-passwords/badge/?version=latest\n :target: https://cli-passwords.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/timmartin19/cli_passwords/shield.svg\n :target: https://pyup.io/repos/github/timmartin19/cli-passwords/\n :alt: Updates\n\n\nMakes securely getting, storing, and retrying passwords from a command line interface easy!\n\n\n* Free software: MIT license\n* Documentation: https://cli-passwords.readthedocs.io.\n\n\nFeatures\n--------\n\n* Get passwords from the keyring and if it's not there prompt the user to securely enter their password. The password will be stored in their keyring and they will not be prompted for their password again\n* Inject passwords into functions using the process described above\n* Automatically prompt the user to re-enter their password when they inputted the incorrect one\n\nInstallation\n------------\n\n.. code-block:: bash\n\n pip install cli-passwords\n\nQuick Start\n-----------\n\nPrompt the user for the password and store the password in their keyring.\nThis password will perists until ``expire_password`` is used or the keyword\nargument ``refresh=True`` is passed into the function.\n\n.. code-block:: python\n\n from cli_passwords import get_password\n\n # This will prompt the user for their password on the first\n # use only. Whether it's a month later or minutes later, it\n # will pull the password from the keyring and not prompt the user again\n password = get_password('namespace', 'username')\n\n\nInject the password into a function and retry when the password is incorrect.\nYou can specify the maximum number of retries using the ``retry`` keyword\nargument\n\n.. code-block:: python\n\n from cli_passwords import retry_password\n\n @retry_password('namespace', 'username', exception=AuthenticationException)\n def my_func(password, arguments):\n if password is not correct:\n raise AuthenticationException('The password is wrong')\n else:\n # do something with the password\n\n my_func('arguments')\n\n\nCredits\n---------\n\nThis package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.\n\n.. _Cookiecutter: https://github.com/audreyr/cookiecutter\n.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage\n\n\n\n=======\nHistory\n=======\n\n0.1.0 (2016-07-21)\n------------------\n\n* First release on PyPI.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/timmartin19/cli_passwords", "keywords": "cli-passwords command line interface cli password retrieval keyring storage secure", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "cli_passwords", "package_url": "https://pypi.org/project/cli_passwords/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cli_passwords/", "project_urls": { "Homepage": "https://github.com/timmartin19/cli_passwords" }, "release_url": "https://pypi.org/project/cli_passwords/0.1.2/", "requires_dist": [ "Click (>=6.0)", "keyring" ], "requires_python": "", "summary": "Makes securely getting, storing, and retrying passwords from a command line interface easy!", "version": "0.1.2" }, "last_serial": 2238313, "releases": { "0.1.0": [], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3adf3cd573a7c6b83aad42d31d7f1af6", "sha256": "4b9bc4d0426bb53a4bea5f865cb8e58b82677a13b5998537e603627bd2510961" }, "downloads": -1, "filename": "cli_passwords-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3adf3cd573a7c6b83aad42d31d7f1af6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4272, "upload_time": "2016-07-21T23:31:35", "url": "https://files.pythonhosted.org/packages/c9/c6/1c076e29f1cd97410730ff337885d2ff77254f23e1a162ace856d438c050/cli_passwords-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1389b66c51881e30566b4569b1afc82a", "sha256": "4684e8f16c20b1629ee080c3257d8e54e4342eef2c919191688df79874bb5369" }, "downloads": -1, "filename": "cli_passwords-0.1.1.tar.gz", "has_sig": false, "md5_digest": "1389b66c51881e30566b4569b1afc82a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12241, "upload_time": "2016-07-21T23:31:37", "url": "https://files.pythonhosted.org/packages/cf/30/cf2c5d300166adb5bbde7a9c57d4d0fc2032b4e051a4b220f92fa1c82879/cli_passwords-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "c882fb5543e7ec541fbd816ad9c39c05", "sha256": "9935bca4f8e2e4c02f0b5146d163ed402bbe62338479d5e0a0dd351de7ad2ccb" }, "downloads": -1, "filename": "cli_passwords-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c882fb5543e7ec541fbd816ad9c39c05", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6602, "upload_time": "2016-07-22T16:03:04", "url": "https://files.pythonhosted.org/packages/dc/8d/b9fc2dbf6f566fe5876d6f79f981b55db90fc135d1dad840008caf299e42/cli_passwords-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b4b0598ae06105987e7eb1844e69b72", "sha256": "504ec54051c5830a3c7b867d3d1dc1a1db959d5e1f56559c079a28cbd398e812" }, "downloads": -1, "filename": "cli-passwords-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8b4b0598ae06105987e7eb1844e69b72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14477, "upload_time": "2016-07-22T16:03:06", "url": "https://files.pythonhosted.org/packages/d5/2f/94618e47e781bcf1b55e604482642bc60f5ade91c0138b76b41d19c2e627/cli-passwords-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c882fb5543e7ec541fbd816ad9c39c05", "sha256": "9935bca4f8e2e4c02f0b5146d163ed402bbe62338479d5e0a0dd351de7ad2ccb" }, "downloads": -1, "filename": "cli_passwords-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c882fb5543e7ec541fbd816ad9c39c05", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6602, "upload_time": "2016-07-22T16:03:04", "url": "https://files.pythonhosted.org/packages/dc/8d/b9fc2dbf6f566fe5876d6f79f981b55db90fc135d1dad840008caf299e42/cli_passwords-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b4b0598ae06105987e7eb1844e69b72", "sha256": "504ec54051c5830a3c7b867d3d1dc1a1db959d5e1f56559c079a28cbd398e812" }, "downloads": -1, "filename": "cli-passwords-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8b4b0598ae06105987e7eb1844e69b72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14477, "upload_time": "2016-07-22T16:03:06", "url": "https://files.pythonhosted.org/packages/d5/2f/94618e47e781bcf1b55e604482642bc60f5ade91c0138b76b41d19c2e627/cli-passwords-0.1.2.tar.gz" } ] }