{ "info": { "author": "Scott Hansen", "author_email": "firecat4153@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Utilities" ], "description": "Keepmenu\n========\n\nFully featured Dmenu/Rofi frontend for managing Keepass databases.\n\nInspired in part by Passhole_, but I wanted something more dmenu and less\ncommand line focused.\n\nI'm very aware of pass and passmenu, but I've found that the Keepass options for\nother platforms are much easier to use, especially for the non-technically\noriented. Thus...synchronized passwords and everyone is happy!\n\nFeatures\n--------\n\n- *NOTE* Only support .kdbx databases, not .kdb\n- Auto-type username and/or password on selection. No clipboard copy/paste\n involved.\n- Use a custom Keepass 2.x style auto-type sequence if you have one defined\n (except for character repetition and the 'special commands'). Set it per entry\n or set a default in the config file for all entries. Disable autotype for an\n entry, if desired. *These require a pykeepass version later than 2018/11/06 or > 3.0.2*\n- Select any single field and have it typed into the active window. Notes fields\n can be viewed line-by-line from within dmenu and the selected line will be\n typed when selected.\n- Open the URL in the default web browser from the View/Type menu.\n- Alternate keyboard languages and layouts supported via xdotool.\n- Edit entry title, username, URL and password (manually typed or auto-generate)\n- Edit notes using terminal or gui editor (set in config.ini, or uses $EDITOR)\n- Add and Delete entries\n- Rename, move, delete and add groups\n- Prompts for and saves initial database and keyfile locations if config file\n isn't setup before first run.\n- Set multiple databases and keyfiles in the config file.\n- Hide selected groups from the default and 'View/Type Individual entries' views.\n- Keepmenu runs in the background after initial startup and will retain the\n entered passphrase for `pw_cache_period_min` minutes after the last activity.\n- Optional Pinentry support for secure passphrase entry.\n\nLicense\n-------\n\n- GPLv3\n\nRequirements\n------------\n\n1. Python 2.7+ or 3.2+\n2. Pykeepass_ and PyUserInput_. Install via pip or your distribution's package\n manager, if available.\n3. Dmenu. Basic support is included for Rofi_, but most Rofi\n configuration/theming should be done via Xresources.\n4. (optional) Pinentry. Make sure to set which flavor of pinentry command to use\n in the config file.\n5. (optional) xdotool. If you have a lot of Unicode characters or use a non-U.S.\n English keyboard layout, xdotool is necessary to handle typing those\n characters.\n\nInstallation\n------------\n\n- Installation\n\n + `pip install --user keepmenu`. Add ~/.local/bin to $PATH\n + In a virtualenv with pip. Link to the executable in\n ::\n\n mkvirtualenv keepmenu\n pip install keepmenu\n\n + From git. Just clone, install requirements and run\n + Available in `Archlinux AUR`_. \n\n- If you start keepmenu for the first time without a config file, it will prompt\n you for database and keyfile locations and save them in a default config file.\n\n- Copy config.ini.example to ~/.config/keepmenu/config.ini, or use it as a\n reference for additional options.\n\n + Add your database(s) and keyfile(s)\n + To use a command (e.g. gpg) to lookup db password, set `password_cmd_`\n in config.ini.\n + Adjust `pw_cache_period_min` if desired. Default is 6 hours (360 min).\n + Set the dmenu_command to `rofi` if you are using that instead\n + Adjust the autotype_default, if desired. Allowed codes are the\n `Keepass 2.x codes`_ except for repetitions and most command codes. `{DELAY\n x}` (in milliseconds) is supported.\n Individual autotype sequences can be edited or disabled inside Keepmenu.\n + Set `type_library = xdotool` if you need support for non-U.S. English\n keyboard layouts and/or characters.\n\n * When using xdotool, call `setxkbmap` to set your keyboard type somewhere\n in your window manager or desktop environment initialization. For example:\n `exec setxkbmap de` in ~/.config/i3/config. \n\n- If using Rofi, you can try some of the command line options in config.ini or\n set them using the `dmenu_command` setting, but I haven't tested most of them\n so I'd suggest configuring via .Xresources where possible. \n- Number of lines needs to be configured in the config.ini and not in\n .Xresources or the Rofi config file. Keepmenu will override any number of\n lines settings set elsewhere.\n- If using dmenu for passphrase entry (pinentry not set), dmenu options in the\n [dmenu_passphrase] section of config.ini will override those in [dmenu] so you\n can, for example, set the normal foreground and background colors to be the\n same to obscure the passphrase.\n\n.. Warning:: If you choose to store your database password into config.ini, make\n sure to `chmod 600 config.ini`. This is not secure and I only added it as a\n convenience for testing.\n\nUsage\n-----\n\n- Run script or bind to keystroke combination\n- Enter database and keyfile if not entered into config.ini already.\n- Start typing to match entries.\n- Hit Enter immediately after dmenu opens (\"`View/Type individual entries`\") to\n switch modes to view and/or type the individual fields for the entry. If\n selected, the URL will open in the default browser instead of being typed.\n- To view a password without typing it, use the 'Edit Entries' option, then\n select the entry, select 'Password' then select 'Manually enter password'.\n Type 'ESC' to exit without making changes.\n\nTests\n-----\n\n- To run tests: `python tests/tests.py`\n\n.. _Rofi: https://davedavenport.github.io/rofi/\n.. _Passhole: https://github.com/purduelug/passhole\n.. _Pykeepass: https://github.com/pschmitt/pykeepass\n.. _PyUserInput: https://github.com/PyUserInput/PyUserInput\n.. _Archlinux AUR: https://aur.archlinux.org/packages/python-keepmenu-git\n.. _Keepass 2.x codes: https://keepass.info/help/base/autotype.html#autoseq\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/firecat53/keepmenu/tarball/0.5.8", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/firecat53/keepmenu", "keywords": "dmenu keepass keepassxc", "license": "GPL3", "maintainer": "", "maintainer_email": "", "name": "keepmenu", "package_url": "https://pypi.org/project/keepmenu/", "platform": "", "project_url": "https://pypi.org/project/keepmenu/", "project_urls": { "Download": "https://github.com/firecat53/keepmenu/tarball/0.5.8", "Homepage": "https://github.com/firecat53/keepmenu" }, "release_url": "https://pypi.org/project/keepmenu/0.5.8/", "requires_dist": [ "PyUserInput", "pykeepass" ], "requires_python": "", "summary": "Dmenu frontend for Keepass databases", "version": "0.5.8" }, "last_serial": 5725935, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "5863f67b6b762e6b16b4008df59f7b91", "sha256": "1482e81fd0337ab89bb31593220f17c55261c8f34b213d63edc01a85555cbe8e" }, "downloads": -1, "filename": "keepmenu-0.2.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5863f67b6b762e6b16b4008df59f7b91", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10940, "upload_time": "2018-02-13T01:23:57", "url": "https://files.pythonhosted.org/packages/3b/f6/241ab125a7e6bdd2fa7875275625189de2e804a2531d3ff9c6c78bb48651/keepmenu-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dab4c906cd37294b915e5e297fcd3b66", "sha256": "64d94be38415cec5c9ca8355b593995aba1dfd63fa9fdf70d72bcf305177ea93" }, "downloads": -1, "filename": "keepmenu-0.2.1.tar.gz", "has_sig": true, "md5_digest": "dab4c906cd37294b915e5e297fcd3b66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6630, "upload_time": "2018-02-13T01:24:00", "url": "https://files.pythonhosted.org/packages/71/29/d2160365f9171cd369f1669babcc81394621136a8d54abb4d8535a716bf4/keepmenu-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "6ec1b2e86f906e98f6559b79423e5230", "sha256": "aea859bb2d921bec998eea30a354a67cd3a713778a6d4c7284cc53b6fad66314" }, "downloads": -1, "filename": "keepmenu-0.3.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "6ec1b2e86f906e98f6559b79423e5230", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13280, "upload_time": "2018-02-17T00:02:52", "url": "https://files.pythonhosted.org/packages/58/2b/cdae711611b2a33d472d5e71b19b130a8c538e6be6fafc6dd02676e8ef6a/keepmenu-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf22821d66cb2f69b7fba43f1cc49678", "sha256": "74389bb2d1d421beae8605f2c943cd7fa0e1b4157cde52abcd5c7034d4b54c52" }, "downloads": -1, "filename": "keepmenu-0.3.0.tar.gz", "has_sig": true, "md5_digest": "cf22821d66cb2f69b7fba43f1cc49678", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8719, "upload_time": "2018-02-17T00:02:54", "url": "https://files.pythonhosted.org/packages/2a/6d/3579c79f9f929e4038fbd23f1aab1a83a978909b5cf550cfb437129ea748/keepmenu-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "10aa3d0df64b8d3cdd69c279b57b6ee4", "sha256": "790b2547a61a7c2242168ac24c314eb699aacc9d1f0478214c44b77adc778e2f" }, "downloads": -1, "filename": "keepmenu-0.4.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "10aa3d0df64b8d3cdd69c279b57b6ee4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14358, "upload_time": "2018-02-18T23:15:15", "url": "https://files.pythonhosted.org/packages/29/0d/2ef9f801a9d12e04d0a17d782cb439ac517ad849eddd1a5c8c917aa76e1a/keepmenu-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3db496426a195c84b6e7d33a095bbe6a", "sha256": "85fed3d8f171f7aa21577fb0d6d0272ad36e176efdac9a69ef4b435501727206" }, "downloads": -1, "filename": "keepmenu-0.4.0.tar.gz", "has_sig": true, "md5_digest": "3db496426a195c84b6e7d33a095bbe6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9877, "upload_time": "2018-02-18T23:15:18", "url": "https://files.pythonhosted.org/packages/e6/6f/ce047ee2e78620a74c01059e025f6ead600f9e2fd2a4d3b619874e839809/keepmenu-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "988bb7f0dd00a2a72bd5163681b24999", "sha256": "ae855aa033374099cea3d14c7cab1d83d52a10b22231f11d83522fd679994222" }, "downloads": -1, "filename": "keepmenu-0.5.0-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "988bb7f0dd00a2a72bd5163681b24999", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17055, "upload_time": "2018-02-22T20:38:20", "url": "https://files.pythonhosted.org/packages/09/d7/900b9fbf15891a4a372bf2d691a1c09b8a27160dcbf1ad595cd210ca6e9b/keepmenu-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11731fe115138eb0c13e23a17f66cc18", "sha256": "0b6912e084208c2aefb40dd55370c761e2e7974932e5d6433c4b9b0c9100f357" }, "downloads": -1, "filename": "keepmenu-0.5.0.tar.gz", "has_sig": true, "md5_digest": "11731fe115138eb0c13e23a17f66cc18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13510, "upload_time": "2018-02-22T20:38:22", "url": "https://files.pythonhosted.org/packages/5a/3a/65002cab8ccf83ee01645c018048d497896f1dbf6252a9678d087e1b0e41/keepmenu-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "dd3771a0b6a5841f546e66f644fbd206", "sha256": "e0038e35c531aba95ed5273dc1733f855a282e3134ecafa162d15444eef3b311" }, "downloads": -1, "filename": "keepmenu-0.5.1-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "dd3771a0b6a5841f546e66f644fbd206", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16962, "upload_time": "2018-03-02T21:44:04", "url": "https://files.pythonhosted.org/packages/46/b5/ed8b5919cdb64c931287ebb1874da62bc07150faeed823a2b6beaa80d39c/keepmenu-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1af96321d17b9a07a2dadb1d9bae8a18", "sha256": "89b1848a75cff24f666d8addaf6f3de74867ebe9c1c6ebecae85936f9227ef90" }, "downloads": -1, "filename": "keepmenu-0.5.1.tar.gz", "has_sig": true, "md5_digest": "1af96321d17b9a07a2dadb1d9bae8a18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13440, "upload_time": "2018-03-02T21:44:06", "url": "https://files.pythonhosted.org/packages/15/d9/8a359ff6e04935405ca5720f1cb07cf7e73c09e74d1bf20b9ddfd99486f1/keepmenu-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "928c75231490d60744c48108702d642e", "sha256": "0af6d475d4e36e8b750c4f20ece8a4c3a716098de76a914827357a4d95b5a4f8" }, "downloads": -1, "filename": "keepmenu-0.5.2-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "928c75231490d60744c48108702d642e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18342, "upload_time": "2018-03-15T15:50:19", "url": "https://files.pythonhosted.org/packages/0c/52/5708108d8e57e2c57a4d6c8c3de93bea3222bcbe1e7f2f44a8b07a8e7532/keepmenu-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "32509c28e0da4b3b219399cb195c4741", "sha256": "c5a44ff951265e4cde8282015914448e81989495211e5362cd668b921bf16975" }, "downloads": -1, "filename": "keepmenu-0.5.2.tar.gz", "has_sig": true, "md5_digest": "32509c28e0da4b3b219399cb195c4741", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14516, "upload_time": "2018-03-15T15:50:22", "url": "https://files.pythonhosted.org/packages/08/1c/a5abf996d7094901f9fc0bdec9162986c556beb030c4a43227529c07fd9a/keepmenu-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "f96ba15c71a7320ee24de14431907a61", "sha256": "6e9897b5879579263855b1c50439cad30a55dd7deb47c69a2c5aa099be143a53" }, "downloads": -1, "filename": "keepmenu-0.5.3-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "f96ba15c71a7320ee24de14431907a61", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18336, "upload_time": "2018-03-18T21:01:59", "url": "https://files.pythonhosted.org/packages/f7/5a/f8bb67fd6adeae8b5d67fa198de89856d1183eb1524c7868482ffcb1efd3/keepmenu-0.5.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d1d91ffd39587296f06dacc40b9ad4f5", "sha256": "d1b4cb4a3e8c410513bc2b90824408b4e2f7561c89a9661a04c7c1714b77e167" }, "downloads": -1, "filename": "keepmenu-0.5.3.tar.gz", "has_sig": true, "md5_digest": "d1d91ffd39587296f06dacc40b9ad4f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14526, "upload_time": "2018-03-18T21:02:01", "url": "https://files.pythonhosted.org/packages/1f/71/d96856ed05e887542040c2f10d4baf61e5519dfb45f37310cbad349f7ec9/keepmenu-0.5.3.tar.gz" } ], "0.5.4": [ { "comment_text": "", "digests": { "md5": "5a02eb6244c20ae36993d1b585525097", "sha256": "d487b7d6405ce54bb56be38eb4b506cb9745a32a1876139715b096e62400dc96" }, "downloads": -1, "filename": "keepmenu-0.5.4-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "5a02eb6244c20ae36993d1b585525097", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 18398, "upload_time": "2018-03-24T19:41:02", "url": "https://files.pythonhosted.org/packages/31/1c/d6709f94aef51a43c0cba3f8eb57a5d351a2fa1b67a61346fd5ebe6b38f5/keepmenu-0.5.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c5990333d504365b9b5ab167edea344f", "sha256": "5756eb3479bcfa640e0258cecda7a5b6ac6dc4445e49be64868f437459a80902" }, "downloads": -1, "filename": "keepmenu-0.5.4.tar.gz", "has_sig": true, "md5_digest": "c5990333d504365b9b5ab167edea344f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14579, "upload_time": "2018-03-24T19:41:03", "url": "https://files.pythonhosted.org/packages/4e/7c/3abe433d844f12394c0e557d602e1e096edc8cc3f590c01da64f6b34f8e3/keepmenu-0.5.4.tar.gz" } ], "0.5.5": [ { "comment_text": "", "digests": { "md5": "ce6b9e1f8ae3fe6bfb292ad93b1d980e", "sha256": "936c72f89a49fc15a85d6e4ab4d9b0c8de3420982c260b5dae0b1787c15aae62" }, "downloads": -1, "filename": "keepmenu-0.5.5-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "ce6b9e1f8ae3fe6bfb292ad93b1d980e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 19378, "upload_time": "2018-11-25T23:31:06", "url": "https://files.pythonhosted.org/packages/1d/52/22dc1a82122bdb7e281299c45099dbba031bafde2786e749a62c64911e48/keepmenu-0.5.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "618734be803f37ba8b472c250a01b327", "sha256": "6c3ad8c1ba1d97bfea6f28a4bcfd5794ab574a6d4d58abcfc9048ca5f6747492" }, "downloads": -1, "filename": "keepmenu-0.5.5.tar.gz", "has_sig": true, "md5_digest": "618734be803f37ba8b472c250a01b327", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17847, "upload_time": "2018-11-25T23:31:08", "url": "https://files.pythonhosted.org/packages/df/ea/a311c3219ff3e0eeed0c855be8ed287e8010ff5c759c45c48e70cfdb4033/keepmenu-0.5.5.tar.gz" } ], "0.5.6": [ { "comment_text": "", "digests": { "md5": "fa9ec88887690ef05c2c6cedc9b51617", "sha256": "40597587f330036045e640235c69f3205c663becd8e127beaa18fba77a67a9e1" }, "downloads": -1, "filename": "keepmenu-0.5.6-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "fa9ec88887690ef05c2c6cedc9b51617", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 22491, "upload_time": "2019-01-28T06:09:20", "url": "https://files.pythonhosted.org/packages/ff/7b/9a379bca1c0fe095c0736fc3d17cb1eb1cf6ce4f8712c11ad7fd5a08d05d/keepmenu-0.5.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9f534464f4f5c5c6251bb8cac621ed5", "sha256": "24e0265302a519a95fb7f191c3d8ee118a0fbaf42703e2a92ab21092b342f9d3" }, "downloads": -1, "filename": "keepmenu-0.5.6.tar.gz", "has_sig": true, "md5_digest": "e9f534464f4f5c5c6251bb8cac621ed5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19296, "upload_time": "2019-01-28T06:09:22", "url": "https://files.pythonhosted.org/packages/c1/27/c7f1f342c5e0616b8ea633dbb52eb05952cbbe541c13e5afb982dba1154b/keepmenu-0.5.6.tar.gz" } ], "0.5.7": [ { "comment_text": "", "digests": { "md5": "98321ddb1326ba58f77c88cfc06f0cd9", "sha256": "1935859ccb00502f5ca325df03b1afa9a787c69c4b813d9e6b23c039e580d0f9" }, "downloads": -1, "filename": "keepmenu-0.5.7-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "98321ddb1326ba58f77c88cfc06f0cd9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 45468, "upload_time": "2019-02-03T20:38:01", "url": "https://files.pythonhosted.org/packages/78/8d/b99d0fd2efa5dcb85e5bb51a9cb9c9bbf804520b39d26a87159459c06666/keepmenu-0.5.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ef5cf85697ca40dc997ad3e280cf52a", "sha256": "aee5d4297e76732fce4928171782fde5033c70579658b56aa5aee5d89ab34329" }, "downloads": -1, "filename": "keepmenu-0.5.7.tar.gz", "has_sig": true, "md5_digest": "8ef5cf85697ca40dc997ad3e280cf52a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30664, "upload_time": "2019-02-03T20:38:04", "url": "https://files.pythonhosted.org/packages/fb/51/7aebd79b0a239dafef6b0461b2d72d94674eae29396b1e7b9bbb5d639c4c/keepmenu-0.5.7.tar.gz" } ], "0.5.8": [ { "comment_text": "", "digests": { "md5": "3f2bbe44c2fa2980627d8e38dc5784e1", "sha256": "bd39c0039c56eac6e0a0e84af0a2dd22aa3a6729e8782a289da39bcba6663fab" }, "downloads": -1, "filename": "keepmenu-0.5.8-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3f2bbe44c2fa2980627d8e38dc5784e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 46518, "upload_time": "2019-08-25T03:41:10", "url": "https://files.pythonhosted.org/packages/0e/4c/693db4d6a4c7f4999125feaaef206c60cb91445b98d7918c8d6ac5b0e9b4/keepmenu-0.5.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd2cb8c9b776c542a36a8a5a70dc017", "sha256": "a7759f5fd1dba6554c9cb8479c6daaf4e22136b66654668679d1dc09c2814e96" }, "downloads": -1, "filename": "keepmenu-0.5.8.tar.gz", "has_sig": true, "md5_digest": "bfd2cb8c9b776c542a36a8a5a70dc017", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31677, "upload_time": "2019-08-25T03:41:12", "url": "https://files.pythonhosted.org/packages/f6/b5/44a5cad13fcaa7c29e56e53eb3a0a1b56afae85ad929907b2414b68f7dd1/keepmenu-0.5.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f2bbe44c2fa2980627d8e38dc5784e1", "sha256": "bd39c0039c56eac6e0a0e84af0a2dd22aa3a6729e8782a289da39bcba6663fab" }, "downloads": -1, "filename": "keepmenu-0.5.8-py2.py3-none-any.whl", "has_sig": true, "md5_digest": "3f2bbe44c2fa2980627d8e38dc5784e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 46518, "upload_time": "2019-08-25T03:41:10", "url": "https://files.pythonhosted.org/packages/0e/4c/693db4d6a4c7f4999125feaaef206c60cb91445b98d7918c8d6ac5b0e9b4/keepmenu-0.5.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfd2cb8c9b776c542a36a8a5a70dc017", "sha256": "a7759f5fd1dba6554c9cb8479c6daaf4e22136b66654668679d1dc09c2814e96" }, "downloads": -1, "filename": "keepmenu-0.5.8.tar.gz", "has_sig": true, "md5_digest": "bfd2cb8c9b776c542a36a8a5a70dc017", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31677, "upload_time": "2019-08-25T03:41:12", "url": "https://files.pythonhosted.org/packages/f6/b5/44a5cad13fcaa7c29e56e53eb3a0a1b56afae85ad929907b2414b68f7dd1/keepmenu-0.5.8.tar.gz" } ] }