{ "info": { "author": "Stefan H. Holek", "author_email": "stefan@epy.co.at", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: End Users/Desktop", "Intended Audience :: System Administrators", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython" ], "description": "=======\ngpgkeys\n=======\n---------------------\nA GnuPG Shell\n---------------------\n\nOverview\n============\n\n**gpgkeys** is a Python program that allows to conveniently manage GnuPG_ keys\nand keyrings from the command line.\nIt comes in the form of a shell, with commands resembling GnuPG CLI commands and\ntheir options.\nIts main feature is end-to-end tab completion.\n\ngpgkeys also serves as testbed for the development of the kmd_ and rl_ Python\nlibraries.\n\n.. _GnuPG: http://www.gnupg.org/\n.. _kmd: https://github.com/stefanholek/kmd\n.. _rl: https://github.com/stefanholek/rl\n\nMotivation\n==========\n\nThe GnuPG CLI is very powerful \u2013 and with great power comes\ngreat incomprehensibility.\n\ngpgkeys makes key management easy by:\n\n1. Providing a sensible subset of GnuPG commands, and\n2. Using tab completion to streamline the input process and\n guide the user through key management tasks.\n\nExample Session\n===============\n\nEverything in gpgkeys can be tab completed: commands, help topics, option flags,\nkey ids, user names, file names, shell commands, and keyserver URLs.\n::\n\n $ gpgkeys\n gpgkeys 1.24 (type help for help)\n\n gpgkeys> help\n\n Available commands (type help ):\n =======================================\n EOF del export genkey import lsign refresh shell\n checksig dump fdump genrevoke list quit search sign\n clear edit fetch help listsig recv send version\n\n Shortcut commands (type help ):\n ======================================\n ! . ? e ll ls\n\n gpgkeys> help export\n Usage: export \n Options: --armor --clean --minimal --output --secret\n\n Export keys to stdout or to a file\n\n gpgkeys> ls Stefan\n pub 1024R/E1F438AD 1995-10-03\n uid Stefan H. Holek (RSA) \n\n pub 1024D/355A2D28 2001-11-04\n uid Stefan H. Holek \n sub 2048g/A27E0DBC 2004-10-27\n\n gpgkeys> export --armor 355A2D28 > stefan.asc\n gpgkeys> .ls\n alice.asc stefan.asc\n\nFeatures\n============\n\nThe order of options and arguments on the command line is not important::\n\n gpgkeys> export 355A2D28 --armor > stefan.asc\n\nCommand lines prefixed with '.' or '!' are executed by the shell.\nYou can use ``cd`` to change the current directory,\n``umask`` to change the umask, and of course everything else::\n\n gpgkeys> .cd subdir/\n gpgkeys> .pwd\n /home/stefan/subdir\n\nYou can use input/output redirects and pipes::\n\n gpgkeys> export 355A2D28 | pgpdump | less\n\nTo see the commands sent to GnuPG, run gpgkeys with the\n``-v`` option::\n\n $ gpgkeys -v\n gpgkeys 1.24 (type help for help)\n\n gpgkeys> ls 355A2D28\n gpgkeys: gpg --list-keys 355A2D28\n pub 1024D/355A2D28 2001-11-04\n uid Stefan H. Holek \n sub 2048g/A27E0DBC 2004-10-27\n\nFor everything you ever wanted to know about GnuPG commands, type::\n\n gpgkeys> .man gpg\n\ngpgkeys can be invoked with arguments, in which case it does not enter\nthe command loop::\n\n $ gpgkeys export --armor 355A2D28 > stefan.asc\n\nKeyservers\n==========\n\nFor the send, recv, search, and refresh commands to work, at least one\nkeyserver should be configured in gpg.conf. For example::\n\n keyserver ldap://keyserver.pgp.com\n keyserver hkps://hkps.pool.sks-keyservers.net\n\nThe last keyserver in gpg.conf becomes the default keyserver.\nAll keyservers become available for completion after the ``--keyserver`` option.\n\nUnicode\n=======\n\nOpenPGP allows user IDs to be either Latin-1 or UTF-8 encoded.\nTo find keys with non-ASCII IDs, GnuPG requires search strings to be\nencoded the right way.\n\ngpgkeys' key completion keeps track of the original encodings, and every name\nyou tab-complete will automatically be encoded the way GnuPG expects.\nYou may sometimes see '?' characters in place of non-ASCII characters on the\ncommand line, which are a result of the above and no reason for concern.\n\nDevelopment\n===========\n\ngpgkeys development is hosted on GitHub_. It also has an `issue tracker`_ there.\n\n.. _GitHub: https://github.com/stefanholek/gpgkeys\n.. _`issue tracker`: https://github.com/stefanholek/gpgkeys/issues\n\nInstallation\n============\n\nInstallation requires Python 2.7 or higher.\n\ngpgkeys depends on kmd_, which in turn uses the rl_ library. Since rl\ncontains a C extension, it is a good idea to review its `installation\ninstructions`_ and make sure all dependencies are in place.\n\nTo install the ``gpgkeys`` script, type::\n\n pip install gpgkeys\n\n.. _`installation instructions`: https://github.com/stefanholek/rl#installation\n\nThen put it on your system PATH by e.g. symlinking it to ``/usr/local/bin``.\n\nRequirements\n============\n\nEither the ``gpg2`` command or the ``gpg`` command must be available on the\nsystem PATH.\n\n\nChangelog\n=========\n\n2.1 - 2019-03-20\n----------------\n\n- Fix import error.\n [stefan]\n\n\n2.0 - 2019-03-20\n----------------\n\n- Try the ``gpg2`` binary first, if not found fall back to ``gpg``.\n [stefan]\n\n- Always add ``--fixed-list-mode`` to ``--with-colons``.\n [stefan]\n\n- Add ``--ask-cert-level`` option.\n [stefan]\n\n- Stop using 2to3.\n [stefan]\n\n- Fix documentation bug: The send command only accepts key IDs.\n [stefan]\n\n- Fix newline glitch in sign and lsign commands.\n [stefan]\n\n\n1.23 - 2012-10-07\n-----------------\n\n- Improve code for the benefit of 2to3.\n [stefan]\n\n- Rewrite Unicode support.\n [stefan]\n\n- Upgrade to rl 2.4 for Python 3.3 support.\n [stefan]\n\n\n1.22 - 2012-06-24\n-----------------\n\n- The ``--keyserver`` option now overrides any preferred keyserver\n configured for a key.\n [stefan]\n\n\n1.21 - 2012-05-10\n-----------------\n\n- Fix verbose output.\n [stefan]\n\n- Switch to a happier looking Sphinx theme.\n [stefan]\n\n- String and filename quoting was not respected when gpgkeys was\n invoked with arguments. Fixed by requiring kmd >= 2.2.\n [stefan]\n\n\n1.20 - 2012-04-27\n-----------------\n\n- Save the tty state before executing subprocesses, restore afterwards.\n [stefan]\n\n- Support Python 2.5.\n [stefan]\n\n- Require term >= 2.0.\n [stefan]\n\n\n1.19 - 2012-04-14\n-----------------\n\n- Include command aliases in help screens.\n [stefan]\n\n- Return useful exit codes when gpgkeys is invoked with arguments.\n [stefan]\n\n- Fix \"double prompt\" issue when the edit menu was exited with ^D.\n [stefan]\n\n- The import and fdump commands now support input redirection via '<'.\n [stefan]\n\n\n1.18 - 2011-11-05\n-----------------\n\n- In Python 3, make sure the input function accepts surrogates.\n Also see Python `issue 13342`_.\n [stefan]\n\n- Keyserver completion broke when it failed to find a gpg.conf file.\n [stefan]\n\n- The import command ignored option flags when reading from stdin.\n [stefan]\n\n- Add pretty Sphinx-based docs.\n [stefan]\n\n- Require kmd >= 2.1.\n [stefan]\n\n.. _`issue 13342`: http://bugs.python.org/issue13342\n\n\n1.17 - 2011-10-06\n-----------------\n\n- Use the new aliases dictionary to set up command aliases.\n [stefan]\n\n- Make sure error messages go to stderr.\n [stefan]\n\n- Ignore signals when a pager application is in the foreground.\n [stefan]\n\n- Require kmd >= 2.0.\n [stefan]\n\n\n1.16.1 - 2011-07-25\n-------------------\n\n- Fix history file handling silently broken in 1.16.\n [stefan]\n\n\n1.16 - 2011-07-14\n-----------------\n\n- Use kmd.Kmd instead of cmd.Cmd as base class.\n [stefan]\n\n- Depend on rl through the kmd dependency only.\n [stefan]\n\n\n1.15 - 2011-05-05\n-----------------\n\n- Require rl >= 1.14.\n [stefan]\n\n\n1.14 - 2011-03-24\n-----------------\n\n- Add '!' and '.' to shortcut commands so they show up in help.\n [stefan]\n\n- Drop Python 2.5 support in favor of faster byte string operations\n in later Python versions.\n [stefan]\n\n\n1.13 - 2011-03-11\n-----------------\n\n- Require rl >= 1.13.\n [stefan]\n\n\n1.12 - 2010-05-21\n-----------------\n\n- Print help when required command arguments are missing.\n [stefan]\n\n- Require rl >= 1.11.\n [stefan]\n\n\n1.11 - 2010-05-07\n-----------------\n\n- Change an import statement so 2to3 is able to resolve it.\n [stefan]\n\n\n1.10 - 2010-05-05\n-----------------\n\n- Refactor completions: Extract generic parts into base class.\n [stefan]\n\n- Require rl >= 1.10.\n [stefan]\n\n\n1.9 - 2010-03-07\n----------------\n\n- Rename the del command's --all option to --secret-and-public.\n [stefan]\n\n- Require rl >= 1.6.\n [stefan]\n\n\n1.8.2 - 2010-03-01\n------------------\n\n- Fix failing tests under Python 3 on Linux.\n [stefan]\n\n\n1.8.1 - 2010-02-25\n------------------\n\n- Restore Python 2.5 compatibility. D'oh.\n [stefan]\n\n\n1.8 - 2010-02-25\n----------------\n\n- Support Python 3 via distribute.\n [stefan]\n\n- The --fingerprint option may be given more than once.\n [stefan]\n\n\n1.7.1 - 2010-02-13\n------------------\n\n- Depend on rl >= 1.4.1 explicitly so setuptools does not forget to upgrade\n it as well.\n [stefan]\n\n\n1.7 - 2010-02-13\n----------------\n\n- Change license to GPL.\n [stefan]\n\n\n1.6 - 2010-01-31\n----------------\n\n- Add --clean and --minimal import/export options to respective commands.\n [stefan]\n\n- Fix --merge-only import option of keyserver commands.\n [stefan]\n\n- Remove the --yes option again since it has no apparent effect.\n [stefan]\n\n\n1.5 - 2010-01-26\n----------------\n\n- Remove obsolete --secret option from the import command.\n [stefan]\n\n- Userid completion is now triggered by any kind of quoting.\n [stefan]\n\n- Allow to specifiy command line options after the argument.\n [stefan]\n\n\n1.4 - 2010-01-20\n----------------\n\n- Extend the quoting and dequoting API to make it more (re)usable.\n [stefan]\n\n- Dequoting didn't work right when the default quoting character\n was single quote.\n [stefan]\n\n- Tildes in quoted filenames could cause quotes to be closed even\n if the tilde-expanded name matched a directory.\n [stefan]\n\n\n1.3 - 2010-01-03\n----------------\n\n- Cut down on infrastructure slack in filename completion. The\n individual strategies are very small.\n [stefan]\n\n- Remove logging as it clutters up the code.\n [stefan]\n\n- Add an example session to the README.\n [stefan]\n\n\n1.2 - 2009-11-24\n----------------\n\n- Extend keyid completion to also complete userids and names.\n [stefan]\n\n- Extract filename completion functionality into functions,\n as it is useful in other places as well.\n [stefan]\n\n\n1.1 - 2009-11-16\n----------------\n\n- Allow to specify the filename quoting style on the command line\n to ease experimentation.\n [stefan]\n\n- Filename completion: By dequoting early on we can skip a problematic\n hook and regain control over tilde expansion. Also see rl `issue/3`_.\n [stefan]\n\n.. _`issue/3`: http://github.com/stefanholek/rl/issues#issue/3\n\n\n1.0 - 2009-11-08\n----------------\n\n- Initial release.\n", "description_content_type": "", "docs_url": "https://pythonhosted.org/gpgkeys/", "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/stefanholek/gpgkeys", "keywords": "gnupg gpg gpg2 front-end shell", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "gpgkeys", "package_url": "https://pypi.org/project/gpgkeys/", "platform": "", "project_url": "https://pypi.org/project/gpgkeys/", "project_urls": { "Homepage": "https://github.com/stefanholek/gpgkeys" }, "release_url": "https://pypi.org/project/gpgkeys/2.1/", "requires_dist": null, "requires_python": "", "summary": "A GnuPG Shell", "version": "2.1" }, "last_serial": 4962627, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "86c30f3640245ec4ee15654997d6bdd3", "sha256": "1f8379d2ff64c0301837c0d32e975956f96942e87f64b595e4bf504711503c37" }, "downloads": -1, "filename": "gpgkeys-1.0.zip", "has_sig": false, "md5_digest": "86c30f3640245ec4ee15654997d6bdd3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19137, "upload_time": "2009-11-09T01:51:50", "url": "https://files.pythonhosted.org/packages/b7/48/ffff9eec2d2807be7af122da907f95c0dea72aa05a5d0d6847dcb3142eac/gpgkeys-1.0.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "4df5712651b328bcdaa0aaffb7ff056a", "sha256": "c4304b9be888800a94ce1d79a58686db71067b8428a674130d4346692ee777a4" }, "downloads": -1, "filename": "gpgkeys-1.1.zip", "has_sig": false, "md5_digest": "4df5712651b328bcdaa0aaffb7ff056a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20417, "upload_time": "2009-11-16T13:10:38", "url": "https://files.pythonhosted.org/packages/f8/22/611efd875451466ffee36b050ef695a6e88f51128cb89816b3d4c55dd524/gpgkeys-1.1.zip" } ], "1.10": [ { "comment_text": "", "digests": { "md5": "0856e93f34b24cb237bb5dd33f485469", "sha256": "a6f9bc5ebfc7f24a12b1003ff230322f67a0e57f58f88f208f0cb488251585eb" }, "downloads": -1, "filename": "gpgkeys-1.10.zip", "has_sig": false, "md5_digest": "0856e93f34b24cb237bb5dd33f485469", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28499, "upload_time": "2010-05-05T10:53:16", "url": "https://files.pythonhosted.org/packages/c9/df/5d58e1222f7459a282335e0aa312a7df7a55e86cf1f8e0874a5052dedaff/gpgkeys-1.10.zip" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "4b163bae8991be630dcf9e8ebaf0b00e", "sha256": "547155beb8ad3daeb9a3a493a6a9e7686504bd82a15c38111590b213d7dc7b7d" }, "downloads": -1, "filename": "gpgkeys-1.11.zip", "has_sig": false, "md5_digest": "4b163bae8991be630dcf9e8ebaf0b00e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28543, "upload_time": "2010-05-07T10:29:00", "url": "https://files.pythonhosted.org/packages/fd/81/3c9611b1ea5b3347e892447cdfabb52adfff74c7970f5433a54b3d8a76f3/gpgkeys-1.11.zip" } ], "1.12": [ { "comment_text": "", "digests": { "md5": "7d61e9b2c4a7194edc1d298f61ccbb02", "sha256": "7fb04c85f17f2e25897b81ba8a4513f4253fb2a5208f7d448bced46371632fd0" }, "downloads": -1, "filename": "gpgkeys-1.12.zip", "has_sig": false, "md5_digest": "7d61e9b2c4a7194edc1d298f61ccbb02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28940, "upload_time": "2010-05-21T12:51:24", "url": "https://files.pythonhosted.org/packages/dc/00/5cec9638f53803fa9fb60dbb438e264ac71a0117a8bb5f5a7c658aee23ea/gpgkeys-1.12.zip" } ], "1.13": [ { "comment_text": "", "digests": { "md5": "f97863e84fd67bd23b8e008caf959d9e", "sha256": "3f4ed7acbe5a17954b7ea0f1e0e26ca26942671fb6ead11d946117e7e1b2d097" }, "downloads": -1, "filename": "gpgkeys-1.13.zip", "has_sig": false, "md5_digest": "f97863e84fd67bd23b8e008caf959d9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29336, "upload_time": "2011-03-11T17:53:04", "url": "https://files.pythonhosted.org/packages/42/a7/27e7367a8c658417c79473d91ca22de1479f03a10fba8dfdb45d4472bbf8/gpgkeys-1.13.zip" } ], "1.14": [ { "comment_text": "", "digests": { "md5": "2dd5191997f924f8ea81c99e96d3bda5", "sha256": "779082e9b47a445d6aeaa39ab277f3fe8e6c7a5318d12f0a4f45549fb6578f93" }, "downloads": -1, "filename": "gpgkeys-1.14.zip", "has_sig": false, "md5_digest": "2dd5191997f924f8ea81c99e96d3bda5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29889, "upload_time": "2011-03-24T17:40:01", "url": "https://files.pythonhosted.org/packages/88/94/55f8171eb6a4df6df69771ab861a0f8fe119ef9515510076b49727ecfc44/gpgkeys-1.14.zip" } ], "1.15": [ { "comment_text": "", "digests": { "md5": "7b141fe71815699132a82f36e59649ac", "sha256": "3db674a40cb8c6e9e25e2de35759b19af816feb18aedb6198c3074b03291b54d" }, "downloads": -1, "filename": "gpgkeys-1.15.zip", "has_sig": false, "md5_digest": "7b141fe71815699132a82f36e59649ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29924, "upload_time": "2011-05-05T10:34:52", "url": "https://files.pythonhosted.org/packages/7c/76/3f1293b7ab6a0d400c4916c4645a6e9ccc64a0a223ffe0816844e16cc679/gpgkeys-1.15.zip" } ], "1.16": [ { "comment_text": "", "digests": { "md5": "cb8b400d3e18acbe401ada6f6ee3f158", "sha256": "9a53bbe8c651e122a5b52f126d9e2cfe9162e7ae42670c85d02305f0c0343f60" }, "downloads": -1, "filename": "gpgkeys-1.16.zip", "has_sig": false, "md5_digest": "cb8b400d3e18acbe401ada6f6ee3f158", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25558, "upload_time": "2011-07-14T20:04:37", "url": "https://files.pythonhosted.org/packages/39/a4/f3360092318825a9da22205a60fb676037e8e645d00fb98bde4cbf67610e/gpgkeys-1.16.zip" } ], "1.16.1": [ { "comment_text": "", "digests": { "md5": "8652a2ccdc6d51a291b4e1aefec7e19f", "sha256": "f2958e4e74134a982a067a7da576f8bb57565d793e5afeb780261c59c01a0aa7" }, "downloads": -1, "filename": "gpgkeys-1.16.1.zip", "has_sig": false, "md5_digest": "8652a2ccdc6d51a291b4e1aefec7e19f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25838, "upload_time": "2011-07-25T22:52:21", "url": "https://files.pythonhosted.org/packages/0a/84/24644ba224a54d150279eb03c461c6ca0567cb11ec5c136cd079d4b91806/gpgkeys-1.16.1.zip" } ], "1.17": [ { "comment_text": "", "digests": { "md5": "d2e57031417473877b9c3d2283c5a1d2", "sha256": "0f1650b71c985e5eaea321cbfe6c81816b3cb9ef617c66ac7ea8a5c48b59b331" }, "downloads": -1, "filename": "gpgkeys-1.17.zip", "has_sig": false, "md5_digest": "d2e57031417473877b9c3d2283c5a1d2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28417, "upload_time": "2011-10-06T19:19:02", "url": "https://files.pythonhosted.org/packages/cd/59/b1562303dd4511619a5e0f1eb8d5615483c2b0e91edeecfb34370f6ad2bf/gpgkeys-1.17.zip" } ], "1.18": [ { "comment_text": "", "digests": { "md5": "51f41a32effeddc157f4200f2ce1477b", "sha256": "569cca665bdcdeb95dd65c7f80ad2b1788c5e7b5cd7a5ed0748454da9d11dc80" }, "downloads": -1, "filename": "gpgkeys-1.18.zip", "has_sig": false, "md5_digest": "51f41a32effeddc157f4200f2ce1477b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36079, "upload_time": "2011-11-05T18:29:13", "url": "https://files.pythonhosted.org/packages/3c/9c/4b8ee4b42e10d687eded6c5c0f547f53c20c5c00959f6459e2a555b8bd69/gpgkeys-1.18.zip" } ], "1.19": [ { "comment_text": "", "digests": { "md5": "d18deb9b4edf2127917a43f0a5606009", "sha256": "8534286ae24761d5b1496e6c0dc22c45185bd8e9f58c7c99b9d262d2679cfdef" }, "downloads": -1, "filename": "gpgkeys-1.19.zip", "has_sig": false, "md5_digest": "d18deb9b4edf2127917a43f0a5606009", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38411, "upload_time": "2012-04-14T09:57:57", "url": "https://files.pythonhosted.org/packages/5c/50/fdc91c7b353f426dc8577b988074078ea18c0d20efa745ac97cfa83dda18/gpgkeys-1.19.zip" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "c908e780e330145273f79c2fb35e4ee0", "sha256": "05eb8343ae836aa9be5f699d9c5389f19d2fc0f3c1da2e3f38c7efcea4851554" }, "downloads": -1, "filename": "gpgkeys-1.2.zip", "has_sig": false, "md5_digest": "c908e780e330145273f79c2fb35e4ee0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21664, "upload_time": "2009-11-24T21:48:41", "url": "https://files.pythonhosted.org/packages/eb/a6/e9e4237f63e10d4690b4fc97f1a985a12faa24d905d324f091586a811a82/gpgkeys-1.2.zip" } ], "1.20": [ { "comment_text": "", "digests": { "md5": "9b4e3e84d0d825156ca4a0ccb857c5a9", "sha256": "da8c7f42baf6966f1457b3c1caaad694a3be41d0471cf719d8b55eaba9d47ff5" }, "downloads": -1, "filename": "gpgkeys-1.20.zip", "has_sig": false, "md5_digest": "9b4e3e84d0d825156ca4a0ccb857c5a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38926, "upload_time": "2012-04-27T16:17:54", "url": "https://files.pythonhosted.org/packages/04/c7/e482f9c738ac3404a1e9bf7cb27dd5f6747f06b6431138705db5b39f1764/gpgkeys-1.20.zip" } ], "1.21": [ { "comment_text": "", "digests": { "md5": "95a4cd0f95be55001e2dcf29eb98b5cf", "sha256": "3c61f4572fc30cfff0b464d187da9dddf5533fd4976672d8bc93dd74d0fbc48e" }, "downloads": -1, "filename": "gpgkeys-1.21.zip", "has_sig": false, "md5_digest": "95a4cd0f95be55001e2dcf29eb98b5cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39909, "upload_time": "2012-05-10T15:18:11", "url": "https://files.pythonhosted.org/packages/40/42/efc97d1c656d9fd0b8f7598ceef8d88c931c13187149804f824af4f58488/gpgkeys-1.21.zip" } ], "1.22": [ { "comment_text": "", "digests": { "md5": "1f8b13b6fd63fd2ade81c02559aeacbd", "sha256": "f6d4da76aaa07e814f18c353817e743aa9661b4dc4af4cc20b4ac6294aaaf0ac" }, "downloads": -1, "filename": "gpgkeys-1.22.zip", "has_sig": false, "md5_digest": "1f8b13b6fd63fd2ade81c02559aeacbd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39974, "upload_time": "2012-06-24T12:59:54", "url": "https://files.pythonhosted.org/packages/d8/59/621648c4eae78d2eabb27670888cda70deb4be23ec5931e2f8f523b77ccf/gpgkeys-1.22.zip" } ], "1.23": [ { "comment_text": "", "digests": { "md5": "1da6a072d2b75d7fc582621c432d9ec1", "sha256": "eb152fd26b5f60ede50cc11b71be1ba6deedba68225920aca9bc0cbdda36cebe" }, "downloads": -1, "filename": "gpgkeys-1.23.zip", "has_sig": false, "md5_digest": "1da6a072d2b75d7fc582621c432d9ec1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41027, "upload_time": "2012-10-07T20:02:21", "url": "https://files.pythonhosted.org/packages/a3/62/48b9f46f85ab20cc3c2db781a7f4e2a628b1ccd502a315e4d1966e14c6a4/gpgkeys-1.23.zip" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "cdf2c6846347a616d4173a672d85cbf6", "sha256": "2added168f6eb7fca045a90445bd3dd81a3951a221c9abddcecbf21f823ca4d3" }, "downloads": -1, "filename": "gpgkeys-1.3.zip", "has_sig": false, "md5_digest": "cdf2c6846347a616d4173a672d85cbf6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22373, "upload_time": "2010-01-03T18:54:58", "url": "https://files.pythonhosted.org/packages/67/ea/380083506af45250f0198c068835052669809976d0de5bcaa5208fe41622/gpgkeys-1.3.zip" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "80b81a9ad1fc3fb4eb500e94d8346d13", "sha256": "bd4699d0e5747da17a7854826f052e45c1356975c6efca3789589e35d86506ce" }, "downloads": -1, "filename": "gpgkeys-1.4.zip", "has_sig": false, "md5_digest": "80b81a9ad1fc3fb4eb500e94d8346d13", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24347, "upload_time": "2010-01-20T23:08:09", "url": "https://files.pythonhosted.org/packages/e3/53/5a354ab0442583cca074487681491781a4e87e59b3ea5a5fe7662bbfa752/gpgkeys-1.4.zip" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "1f6a822e0a70cda855a4e00592072383", "sha256": "59038b923adcc098ef022d95e0a689c9cb27160b7404e7e38531bc6d692c69dd" }, "downloads": -1, "filename": "gpgkeys-1.5.zip", "has_sig": false, "md5_digest": "1f6a822e0a70cda855a4e00592072383", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24727, "upload_time": "2010-01-26T09:19:13", "url": "https://files.pythonhosted.org/packages/7c/2c/b92d5ed24fef1447f4f18b4329300362fca9bbadb9a60e227df13eecfc65/gpgkeys-1.5.zip" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "0ff68afc6e2bda3353909a393bb2f9e5", "sha256": "350c2cf4b4eb65c9e16e4ea0b7fbc30baaea3649d57701163dad176717e28f4a" }, "downloads": -1, "filename": "gpgkeys-1.6.zip", "has_sig": false, "md5_digest": "0ff68afc6e2bda3353909a393bb2f9e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25676, "upload_time": "2010-01-31T22:50:29", "url": "https://files.pythonhosted.org/packages/e6/90/64e6ccf01177472eb1b97a6c85a5556e6039806b128e10a9c17dfb1917ea/gpgkeys-1.6.zip" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "1fefc3f057fa45bb8b5846526c66441a", "sha256": "802489f37b8103f117d764204d0ded945187e14970427920c2d4fdcde258b68f" }, "downloads": -1, "filename": "gpgkeys-1.7.zip", "has_sig": false, "md5_digest": "1fefc3f057fa45bb8b5846526c66441a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25663, "upload_time": "2010-02-13T20:19:51", "url": "https://files.pythonhosted.org/packages/66/9a/78ab4ed1fa8b7c0ff86fe9d978276d9073f9c6abdf100f92f47b06bac4ff/gpgkeys-1.7.zip" } ], "1.7.1": [ { "comment_text": "", "digests": { "md5": "d3044b033a739cff784b77d8a7c28d76", "sha256": "15960c3a550c980499e827bb8c3d954a13567d02fce1390898a7aeb84f3122d5" }, "downloads": -1, "filename": "gpgkeys-1.7.1.zip", "has_sig": false, "md5_digest": "d3044b033a739cff784b77d8a7c28d76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25973, "upload_time": "2010-02-13T20:38:02", "url": "https://files.pythonhosted.org/packages/d9/af/504fd41e72caa744e2777c8d9a17686d081b5ab863c0d11d16d557764b5c/gpgkeys-1.7.1.zip" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "28e89b1285911388b344d54daab7b7af", "sha256": "c4e0b7e2f9073dad217eb23203cf974294e75e509a848620d4b8a84a061ecf3f" }, "downloads": -1, "filename": "gpgkeys-1.8.zip", "has_sig": false, "md5_digest": "28e89b1285911388b344d54daab7b7af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26740, "upload_time": "2010-02-25T20:39:40", "url": "https://files.pythonhosted.org/packages/db/85/004002eb314acfc62edc07b8cb22285ff38cacc7b9eab90cdb05705bc958/gpgkeys-1.8.zip" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "dfad613fdc73e72dc21a768729e50107", "sha256": "d065302f68b40b6105461de2a4115a2e6d3c99a6913dd09048ad41b57e5a425d" }, "downloads": -1, "filename": "gpgkeys-1.8.1.zip", "has_sig": false, "md5_digest": "dfad613fdc73e72dc21a768729e50107", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26976, "upload_time": "2010-02-25T22:06:02", "url": "https://files.pythonhosted.org/packages/5a/cd/7ac2e20e9452bc8542d7348bf0a0b971dffdf3c28290decdaf0bdda8e68a/gpgkeys-1.8.1.zip" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "784ad5798bff89de4bf01ae9184e88e4", "sha256": "1f989a1ede483732271b1b0e2323354cff21201b905a39a1acebbe2c06d758c2" }, "downloads": -1, "filename": "gpgkeys-1.8.2.zip", "has_sig": false, "md5_digest": "784ad5798bff89de4bf01ae9184e88e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27125, "upload_time": "2010-03-01T17:25:22", "url": "https://files.pythonhosted.org/packages/96/fe/d92e24ae18557a3d130903b5428ca028f1f6b1f00822ced3373ffa74f140/gpgkeys-1.8.2.zip" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "d021760b4e85aba5d60453d110ed6e76", "sha256": "bb52e1fe3c30136a16892578686ad2faed1f256900474514b38223ddc7a87291" }, "downloads": -1, "filename": "gpgkeys-1.9.zip", "has_sig": false, "md5_digest": "d021760b4e85aba5d60453d110ed6e76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27232, "upload_time": "2010-03-07T12:08:41", "url": "https://files.pythonhosted.org/packages/89/93/de1b92533b6664d5eb9c3c36143bd8210b57aa35b1286c298cd625e0df13/gpgkeys-1.9.zip" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "7269804baae142da6c4b41785cd8abe0", "sha256": "ab6fbfda2bdcff481e631a22a7f4b5f91763c01cdb3bd8576ef847905dd9cbb4" }, "downloads": -1, "filename": "gpgkeys-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7269804baae142da6c4b41785cd8abe0", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 37368, "upload_time": "2019-03-20T08:30:17", "url": "https://files.pythonhosted.org/packages/f5/87/d4f5e040a5cce47c208795c8f2fb8e5cebd4da8884a3b95fd2feaf0d7d86/gpgkeys-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "427611097738d4e6a3915c3dc115c65a", "sha256": "b8b056402cddd5046301a54e2c14bbccece72808cd33a31cd44c31e3dfeea1b3" }, "downloads": -1, "filename": "gpgkeys-2.0.zip", "has_sig": false, "md5_digest": "427611097738d4e6a3915c3dc115c65a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56497, "upload_time": "2019-03-20T08:30:14", "url": "https://files.pythonhosted.org/packages/ae/47/ef26a88320421b5d7b2f6e079f950fbe0d679e1c0863fcf1ac886641e72c/gpgkeys-2.0.zip" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "8782e02eb5a7045005cce0d19f06740b", "sha256": "01c299cde2601401b64d2ef54819dc90125b18afe39f14393ba7b99108712f42" }, "downloads": -1, "filename": "gpgkeys-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8782e02eb5a7045005cce0d19f06740b", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 37378, "upload_time": "2019-03-20T08:53:50", "url": "https://files.pythonhosted.org/packages/9a/f1/19f04e25cf9a5f4ad502a654f87eedecc39416fd7807b6b2978d239c42e0/gpgkeys-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e931c04278c0f81a868fed4e41d29727", "sha256": "e3a4c0396a93d7d2910cd3a96f4303c477d84137c443027d5007e73e85d8a2b5" }, "downloads": -1, "filename": "gpgkeys-2.1.zip", "has_sig": false, "md5_digest": "e931c04278c0f81a868fed4e41d29727", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56536, "upload_time": "2019-03-20T08:53:46", "url": "https://files.pythonhosted.org/packages/ac/bd/e8e4ea68b931c3b7d468e51b47faf413fdd3390757353fa6fd5c0a7d417b/gpgkeys-2.1.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8782e02eb5a7045005cce0d19f06740b", "sha256": "01c299cde2601401b64d2ef54819dc90125b18afe39f14393ba7b99108712f42" }, "downloads": -1, "filename": "gpgkeys-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8782e02eb5a7045005cce0d19f06740b", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 37378, "upload_time": "2019-03-20T08:53:50", "url": "https://files.pythonhosted.org/packages/9a/f1/19f04e25cf9a5f4ad502a654f87eedecc39416fd7807b6b2978d239c42e0/gpgkeys-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e931c04278c0f81a868fed4e41d29727", "sha256": "e3a4c0396a93d7d2910cd3a96f4303c477d84137c443027d5007e73e85d8a2b5" }, "downloads": -1, "filename": "gpgkeys-2.1.zip", "has_sig": false, "md5_digest": "e931c04278c0f81a868fed4e41d29727", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 56536, "upload_time": "2019-03-20T08:53:46", "url": "https://files.pythonhosted.org/packages/ac/bd/e8e4ea68b931c3b7d468e51b47faf413fdd3390757353fa6fd5c0a7d417b/gpgkeys-2.1.zip" } ] }