{ "info": { "author": "Pierre Verkest", "author_email": "pverkest@anybox.fr", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)", "Programming Language :: Python :: 3", "Topic :: Utilities" ], "description": "\n.. image:: https://api.travis-ci.org/petrus-v/keyring-otp.svg?branch=master\n :target: https://travis-ci.org/petrus-v/keyring-otp\n :alt: Travis state\n\n\n===========\nKeyring OTP\n===========\n\nKeyring OTP is a CLI to generate One Time Password from secrets stored in\n`Gnome Keyring `_\n(the `seahorse's `_ backend).\n\n\n.. contents:: **Table of Contents**\n\n------------\nInstallation\n------------\n\nThis application is properly running on debian stretch in python3 virtual\nenvironement::\n\n $ python3 -m venv koptvenv\n $ source ./kotpvenv/bin/activate\n\nThis requiere ``xclip`` on your computer to temporary put the secret in\nyour clipboard at the end of the program the initial value is back in your\nclipboard::\n\n $ apt install xclip\n\n.. note::\n\n If you are using ``-o`` option (console output) the app won't complaints\n if xclip is not there.\n\nInstall using your favorite installer. For example::\n\n $ pip install keyring-otp\n\n-----\nUsage\n-----\n\nuse ``-h`` to get recent help::\n\n $ kotp -h\n usage: kotp [-h] [-s SECRET] [-o] [-d DURATION] keyring key\n\n CLI to generate One Time Password from secrets stored in Keyring (using\n seahorse password manager)\n\n positional arguments:\n keyring\n key\n\n optional arguments:\n -h, --help show this help message and exit\n -s SECRET, --secret SECRET\n Force using secret from command line instead getting\n it from the password manager. (as keyring and key are\n mandatory set any values they will be ignored).\n -o, --output Display output in console and in the clipboard (useful\n if you can't install xclip).\n -d DURATION, --duration DURATION\n How many seconds you wants the One Time Password in\n your clipboard. Note that as time is changing, the\n TOTP password will be updated and your clipboard will\n be updated too!\n\nLet's assume I've a keyring called ``otp`` which contains a key called github\nwich contains my github otp password.\n\n.. figure:: seahorse.png\n :alt: Seahorse Gnome password manager\n\nTo get the Time based OTP password in my clipboad I do::\n\n $ kotp otp github\n\n.. note::\n\n At the time writting the ``otp`` keyring must be unlock before running\n the application.\n\nHere an other example by giving the OTP password value in command line::\n\n $ kotp -s SECRETS -o -d 35 nothing real\n Current TOTP 887562 at Wed Nov 8 07:48:18 2017\n Current TOTP 291833 at Wed Nov 8 07:48:30 2017\n\n\n.. warning::\n\n This option is discouraged as long your OTP secret will be in your bash\n history, we may remove this option to replace it with a prompt in the\n future\n\n\n-------\nRoadmap\n-------\n\n* make it usable as an API, API consumer may add multiple callback they should\n be called once OTP as benn changed (callback may be declared in entry point\n to let user define new callback easly), this apps should declare some\n default behaviours likes:\n\n - print in console\n - filling clipboard (require an init method and final method to set back\n current clipboad value)\n\n* Prompt to unlock keyring\n* Thinking replace ``-s`` option and open secret input to avoid le trace\n in use bash history\n* use python keyring to make this app portable with more password manager:\n GnomeKeyring (for Gnome environments) or KDEWallet (for KDE environments)\n or Win32CryptoRegistry (for Windows)\n* manage passman backends\n* save new secrets\n\n------\nAuthor\n------\n\n* Pierre Verkest \n\nChangelog\n=========\n\n0.3 (unreleased)\n----------------\n-\n\n0.2 (2117-11-19)\n----------------\n- setup travis\n- set clipboad only when TOTP has been changed\n- fix readme.rst to make cleaner on pypi\n\n0.1 (2017-11-11)\n----------------\n- Initial implementation\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/petrus-v/keyring-otp", "keywords": "keyring otp totp", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "keyring-otp", "package_url": "https://pypi.org/project/keyring-otp/", "platform": "", "project_url": "https://pypi.org/project/keyring-otp/", "project_urls": { "Homepage": "https://github.com/petrus-v/keyring-otp" }, "release_url": "https://pypi.org/project/keyring-otp/0.2/", "requires_dist": [ "pyotp", "xerox", "secretstorage" ], "requires_python": "", "summary": "OTP command line tool", "version": "0.2" }, "last_serial": 3346684, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "ded98674f0881c905ce88809037622c9", "sha256": "009988a7d454e73e6e2db8da65d2a8fef7511eb293f9afe9246610cf0066a1ae" }, "downloads": -1, "filename": "keyring_otp-0.1-py3.5.egg", "has_sig": false, "md5_digest": "ded98674f0881c905ce88809037622c9", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 8447, "upload_time": "2017-11-12T14:25:12", "url": "https://files.pythonhosted.org/packages/80/11/1ba96aa2497f21be748c9632f8623d6428d4f8c48ee4a08e0940bb8ecde7/keyring_otp-0.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "312227fbb3a75638f64ade225bb59aa8", "sha256": "f09217899326bf607071eb2c5b983b9fac910fc7f95b69aa811e81ef8d531163" }, "downloads": -1, "filename": "keyring_otp-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "312227fbb3a75638f64ade225bb59aa8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 7878, "upload_time": "2017-11-12T14:25:10", "url": "https://files.pythonhosted.org/packages/be/30/69677cbb94c7e30331e25aee0fb1f2b2cf33ecaa2316d795d75c87634af0/keyring_otp-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98c6d64c417386c339d5316a0c507895", "sha256": "710618b620c7a57088f7208aff3d35a640e3b4fbe7d01c99f4da760a5b243df9" }, "downloads": -1, "filename": "keyring-otp-0.1.tar.gz", "has_sig": false, "md5_digest": "98c6d64c417386c339d5316a0c507895", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40206, "upload_time": "2017-11-12T14:25:14", "url": "https://files.pythonhosted.org/packages/e7/b9/68f9ae5e6b3218421a7ab4d61631851c1f1e115576e5e097590d4eea500c/keyring-otp-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "17285cac075ccd7b5c153da93088116b", "sha256": "2215e1f6916b54abbe8baa460bbd13581e8bc132645859313151d75d12bb4a00" }, "downloads": -1, "filename": "keyring_otp-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "17285cac075ccd7b5c153da93088116b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8137, "upload_time": "2017-11-19T22:04:27", "url": "https://files.pythonhosted.org/packages/53/da/e79e1d2124a2bac0cf87579e92a2d98837764f215278d8b1557f2944379f/keyring_otp-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04794f3b0f810ff789fd2f12faaf4f46", "sha256": "59905e4dc97e01a7996040416e7282d1bab7f5b1df405ee5cbc93d55fb8e8c64" }, "downloads": -1, "filename": "keyring-otp-0.2.tar.gz", "has_sig": false, "md5_digest": "04794f3b0f810ff789fd2f12faaf4f46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40408, "upload_time": "2017-11-19T22:04:32", "url": "https://files.pythonhosted.org/packages/03/17/703b1727bd2d81c9e521ecbe5f90f8852cd506faad0302fa49fa349a36db/keyring-otp-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "17285cac075ccd7b5c153da93088116b", "sha256": "2215e1f6916b54abbe8baa460bbd13581e8bc132645859313151d75d12bb4a00" }, "downloads": -1, "filename": "keyring_otp-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "17285cac075ccd7b5c153da93088116b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8137, "upload_time": "2017-11-19T22:04:27", "url": "https://files.pythonhosted.org/packages/53/da/e79e1d2124a2bac0cf87579e92a2d98837764f215278d8b1557f2944379f/keyring_otp-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04794f3b0f810ff789fd2f12faaf4f46", "sha256": "59905e4dc97e01a7996040416e7282d1bab7f5b1df405ee5cbc93d55fb8e8c64" }, "downloads": -1, "filename": "keyring-otp-0.2.tar.gz", "has_sig": false, "md5_digest": "04794f3b0f810ff789fd2f12faaf4f46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40408, "upload_time": "2017-11-19T22:04:32", "url": "https://files.pythonhosted.org/packages/03/17/703b1727bd2d81c9e521ecbe5f90f8852cd506faad0302fa49fa349a36db/keyring-otp-0.2.tar.gz" } ] }