{ "info": { "author": "Peter Odding", "author_email": "peter@peterodding.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: MacOS X", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "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 :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Security", "Topic :: Security :: Cryptography", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System", "Topic :: System :: Systems Administration", "Topic :: Terminals", "Topic :: Utilities" ], "description": "qpass: Frontend for pass (the standard unix password manager)\n=============================================================\n\n.. image:: https://travis-ci.org/xolox/python-qpass.svg?branch=master\n :target: https://travis-ci.org/xolox/python-qpass\n\n.. image:: https://coveralls.io/repos/xolox/python-qpass/badge.svg?branch=master\n :target: https://coveralls.io/r/xolox/python-qpass?branch=master\n\nThe qpass program is a simple command line frontend for pass_, the standard\nunix password manager. It makes it very easy to quickly find and copy specific\npasswords in your ``~/.password-store`` to the clipboard. The package is\ncurrently tested on cPython 2.6, 2.7, 3.4, 3.5, 3.6 and PyPy (2.7). It's\nintended to work on Linux as well as macOS, although it has only been tested on\nLinux.\n\n.. contents::\n :local:\n\nInstallation\n------------\n\nThe qpass package is available on PyPI_ which means installation should be as\nsimple as:\n\n.. code-block:: sh\n\n $ pip install qpass\n\nThere's actually a multitude of ways to install Python packages (e.g. the `per\nuser site-packages directory`_, `virtual environments`_ or just installing\nsystem wide) and I have no intention of getting into that discussion here, so\nif this intimidates you then read up on your options before returning to these\ninstructions ;-).\n\nUsage\n-----\n\nThere are two ways to use the qpass package: As the command line program\n``qpass`` and as a Python API. For details about the Python API please refer to\nthe API documentation available on `Read the Docs`_. The command line interface\nis described below.\n\nCommand line\n~~~~~~~~~~~~\n\n.. A DRY solution to avoid duplication of the `qpass --help' text:\n..\n.. [[[cog\n.. from humanfriendly.usage import inject_usage\n.. inject_usage('qpass.cli')\n.. ]]]\n\n**Usage:** `qpass [OPTIONS] KEYWORD..`\n\nSearch your password store for the given keywords or patterns and copy the\npassword of the matching entry to the clipboard. When more than one entry\nmatches you will be prompted to select the password to copy.\n\nIf you provide more than one KEYWORD all of the given keywords must match,\nin other words you're performing an AND search instead of an OR search.\n\nInstead of matching on keywords you can also enter just a few of the characters\nin the name of a password, as long as those characters are in the right order.\nSome examples to make this more concrete:\n\n- The pattern 'pe/zbx' will match the name 'Personal/Zabbix'.\n- The pattern 'ba/cc' will match the name 'Bank accounts/Creditcard'.\n\nWhen a password is copied to the clipboard, any text after the first line will\nbe shown on the terminal, to share any additional details about the password\nentry (for example the associated username or email address). The ``-q``, ``--quiet``\noption suppresses this text.\n\n**Supported options:**\n\n.. csv-table::\n :header: Option, Description\n :widths: 30, 70\n\n\n \"``-e``, ``--edit``\",Edit the matching entry instead of copying it to the clipboard.\n \"``-l``, ``--list``\",List the matching entries on standard output.\n \"``-n``, ``--no-clipboard``\",\"Don't copy the password of the matching entry to the clipboard, instead\n show the password on the terminal (by default the password is copied to\n the clipboard but not shown on the terminal).\"\n \"``-p``, ``--password-store=DIRECTORY``\",\"Search the password store in ``DIRECTORY``. If this option isn't given\n the password store is located using the ``$PASSWORD_STORE_DIR``\n environment variable. If that environment variable isn't\n set the directory ~/.password-store is used.\n\n You can use the ``-p``, ``--password-store`` option multiple times to search more\n than one password store at the same time. No distinction is made between\n passwords in different password stores, so the names of passwords need to\n be recognizable and unique.\"\n \"``-f``, ``--filter=PATTERN``\",\"Don't show lines in the additional details which match the case insensitive\n regular expression given by ``PATTERN``. This can be used to avoid revealing\n sensitive details on the terminal. You can use this option more than once.\"\n \"``-x``, ``--exclude=GLOB``\",\"Ignore passwords whose name matches the given ``GLOB`` filename pattern.\n This argument can be repeated to add multiple exclude patterns.\"\n \"``-v``, ``--verbose``\",Increase logging verbosity (can be repeated).\n \"``-q``, ``--quiet``\",Decrease logging verbosity (can be repeated).\n \"``-h``, ``--help``\",Show this message and exit.\n\n.. [[[end]]]\n\nWhy use pass?\n-------------\n\nIn 2016 I was looking for a way to securely share passwords and other secrets\nbetween my laptops and smartphones. I'm not going to bore you with the full\ndetails of my quest to find the ultimate password manager but I can highlight a\nfew points about pass_ that are important to me:\n\n.. contents::\n :local:\n\nGPG encryption\n~~~~~~~~~~~~~~\n\nGPG_ is a cornerstone of computer security and it's open source. This means it\nreceives quite a lot of peer review, which makes it easier for me to trust\n(versus do-it-yourself_ cryptography). Because pass_ uses GPG_ to implement its\nencryption my trust extends directly to pass_. Of course it also helps that I\nhad years of experience with GPG_ before I started using pass_ :-).\n\nGit version control\n~~~~~~~~~~~~~~~~~~~\n\nThe git_ integration in pass_ makes it very easy to keep your passwords under\nversion control and synchronize the passwords between multiple systems. Git_ is\na great version control system and while I sometimes get annoyed by the fact\nthat ``git pull`` automatically merges, it's actually the perfect default\nchoice for a password store. As an added bonus you have a history of every\nchange you ever made to your passwords.\n\nSSH secure transport\n~~~~~~~~~~~~~~~~~~~~\n\nI've been using SSH_ to access remote systems over secure connections for *a\nvery long time* now so I'm quite comfortable setting up and properly securing\nSSH servers. In the case of pass_ I use SSH to synchronize my passwords between\nmy laptops and smartphones via a central server that hosts the private git\nrepository.\n\nHistory\n-------\n\nShortly after starting to use pass_ I realized that I needed a quick and easy\nway to copy any given password to the clipboard, something smarter than the\npass_ program.\n\nI tried out several GUI frontends but to be honest each of them felt clumsy, I\nguess that through my work as a system administrator and programmer I've grown\nto prefer command line interfaces over graphical user interfaces :-). For a few\nweeks I tried upass_ (a somewhat fancy command line interface) but the lack of\nsimple things like case insensitive search made me stop using it.\n\nOut of frustration I hacked together a simple Python script that would perform\ncase insensitive substring searches on my passwords, copying the password to\nthe clipboard when there was exactly one match. I called the Python script\nqpass, thinking that it was similar in purpose to upass_ but much quicker\nfor me to use, so `q` (for quick) instead of `u`.\n\nAfter using that Python script for a while I noticed that case insensitive\nsubstring searching still forced me to specify long and detailed patterns in\norder to get a unique match. Experimenting with other ways to match unique\npasswords I came up with the idea of performing a \"fuzzy match\" against the\npathname of the password (including the directory components). The fuzzy\nsearching where a pattern like ``e/z`` matches ``Personal/Zabbix`` has since\nbecome my primary way of interacting with my password stores.\n\nSupport for multiple password stores\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nOne great aspect of pass_ is the git_ integration that makes it easy to share a\npassword store between several devices [#]_ or people [#]_. This use case makes\nit much more likely that you'll end up using multiple password stores, which is\nsomething that pass_ doesn't specifically make easy.\n\nThis is why I added support for querying multiple password stores to qpass in\nversion 2.0. For now I've kept things simple which means no distinction is made\nbetween passwords in different password stores, so the names of passwords need\nto be recognizable and unique.\n\n.. [#] For example I synchronize my password store between my personal laptop\n and my work laptop and I also have access to my password store on my\n smartphones (thanks to the Android application `Password Store`_).\n\n.. [#] My team at work also uses pass_ so because I was already using pass_ for\n personal use, I now find myself frequently searching through multiple\n password stores.\n\n\nAbout the name\n~~~~~~~~~~~~~~\n\nAs explained above I initially wrote and named qpass with no intention of ever\npublishing it. However since then my team at work has started using pass_ to\nmanage a shared pasword store and ever since we started doing that I've missed\nthe ability to query that password store using qpass :-).\n\nPublishing qpass as an open source project with a proper Python package\navailable on PyPI_ provides a nice way to share qpass with my team and it also\nforces me to maintain proper documentation and an automated test suite.\n\nWhile considering whether to publish qpass I found that there's an existing\npassword manager out there called `QPass `_.\nI decided not to rename my project for the following reasons:\n\n- While both projects are password managers, they are intended for very\n different audiences (I'm expecting my end users to be power users that are\n most likely system administrators and/or programmers).\n\n- I consider the name of the executable of a GUI program to be a lot less\n relevant than the name of the executable of a command line program. This is\n because the GUI will most likely be started via an application launcher,\n which means the executable doesn't even need to be on the ``$PATH``.\n\n- Let's be honest, pass_ is already for power users only, so my qpass frontend\n is most likely not going to see a lot of users ;-).\n\nContact\n-------\n\nThe latest version of qpass is available on PyPI_ and GitHub_. The\ndocumentation is hosted on `Read the Docs`_ and includes a changelog_. For bug\nreports please create an issue on GitHub_. If you have questions, suggestions,\netc. feel free to send me an e-mail at `peter@peterodding.com`_.\n\nLicense\n-------\n\nThis software is licensed under the `MIT license`_.\n\n\u00a9 2018 Peter Odding.\n\n.. External references:\n.. _changelog: https://qpass.readthedocs.io/en/latest/changelog.html\n.. _do-it-yourself: https://security.stackexchange.com/a/18198\n.. _git: https://en.wikipedia.org/wiki/Git\n.. _GitHub: https://github.com/xolox/python-qpass\n.. _GPG: https://en.wikipedia.org/wiki/GNU_Privacy_Guard\n.. _Linux: https://en.wikipedia.org/wiki/Linux\n.. _MIT license: http://en.wikipedia.org/wiki/MIT_License\n.. _pass: https://www.passwordstore.org/\n.. _Password Store: https://play.google.com/store/apps/details?id=com.zeapo.pwdstore\n.. _per user site-packages directory: https://www.python.org/dev/peps/pep-0370/\n.. _peter@peterodding.com: peter@peterodding.com\n.. _PyPI: https://pypi.python.org/pypi/qpass\n.. _Python Package Index: https://pypi.python.org/pypi/qpass\n.. _Python: https://www.python.org/\n.. _Read the Docs: https://qpass.readthedocs.org\n.. _SSH: https://en.wikipedia.org/wiki/Secure_Shell\n.. _upass: https://pypi.python.org/pypi/upass\n.. _virtual environments: http://docs.python-guide.org/en/latest/dev/virtualenvs/\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/xolox/python-qpass", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "qpass", "package_url": "https://pypi.org/project/qpass/", "platform": "", "project_url": "https://pypi.org/project/qpass/", "project_urls": { "Homepage": "https://github.com/xolox/python-qpass" }, "release_url": "https://pypi.org/project/qpass/2.3/", "requires_dist": [ "coloredlogs (>=6.1)", "executor (>=17.1)", "humanfriendly (>=4.8)", "naturalsort (>=1.5.1)", "proc (>=0.15)", "property-manager (>=2.0)", "verboselogs (>=1.6)" ], "requires_python": "", "summary": "Frontend for pass (the standard unix password manager)", "version": "2.3" }, "last_serial": 4557239, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "82ee484e2e812edb4334f3e0cd704b29", "sha256": "2c97207ecba7e9393c1ec11718872d6ea2d30fecee99fe8f19483a5b13b5c012" }, "downloads": -1, "filename": "qpass-1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "82ee484e2e812edb4334f3e0cd704b29", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20827, "upload_time": "2017-07-16T21:02:38", "url": "https://files.pythonhosted.org/packages/e2/f2/2a7d975139651a09cd89379767b3cb85239063f1b5298b29d2926bee266c/qpass-1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b286125c0b82afb3b26ad60d3e1d11b4", "sha256": "e9e2a021066b9e6a4fc054550cdc0eddb21676319ecf3a8f1c2c5bdc3a8866c4" }, "downloads": -1, "filename": "qpass-1.0.tar.gz", "has_sig": false, "md5_digest": "b286125c0b82afb3b26ad60d3e1d11b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18198, "upload_time": "2017-07-16T21:02:39", "url": "https://files.pythonhosted.org/packages/6f/ea/e0acd844b67a7289bc82ce836a5b09af67b5d59e1a220e202874b967d276/qpass-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f6a7ee98db296970805775d2458fa5ad", "sha256": "91205b781e92a1611ab8aca44117ec25bfb93e9493ac402a7ad5ef5dbc8d1881" }, "downloads": -1, "filename": "qpass-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6a7ee98db296970805775d2458fa5ad", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20867, "upload_time": "2017-07-16T21:19:05", "url": "https://files.pythonhosted.org/packages/29/13/46811a8b5dd57bfc2ee908fb80bb3ac73455fb758ca9131a1f04b53a4bbc/qpass-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dfdeb22e1139d45cef485522e14b5d2b", "sha256": "4541136364503ede88889e8b9d0ac868bdc4da67a1061227315b528af86f29a1" }, "downloads": -1, "filename": "qpass-1.0.1.tar.gz", "has_sig": false, "md5_digest": "dfdeb22e1139d45cef485522e14b5d2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18210, "upload_time": "2017-07-16T21:19:06", "url": "https://files.pythonhosted.org/packages/55/d5/c349f02492811442a250c0d0cdfb75b0f727fcb1ead3731cf9bc30509387/qpass-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "3f61de14db57f2b574b88cc2585c395e", "sha256": "eca7f7f640c29d216f662cb3104aae85b43ddfcdfd5429abb8276d59dc6b8295" }, "downloads": -1, "filename": "qpass-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f61de14db57f2b574b88cc2585c395e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20980, "upload_time": "2017-07-18T08:19:51", "url": "https://files.pythonhosted.org/packages/90/66/64c228f3d3897cba938749c815ce44db454291b97e0c5c0acb3820782781/qpass-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2a80c742f14280a9cc90e19e518ce9b3", "sha256": "234fc0131b071889e0721cbe7fc6270ccbeffeadbe39ea1bac0a99f513118a68" }, "downloads": -1, "filename": "qpass-1.0.2.tar.gz", "has_sig": false, "md5_digest": "2a80c742f14280a9cc90e19e518ce9b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19567, "upload_time": "2017-07-18T08:19:52", "url": "https://files.pythonhosted.org/packages/b7/af/eab11997e36e360ab16d43a14c7fccffbcdf9e89597002190676aeb50aa0/qpass-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "b8acfd53e98a86ad3a900e4b2e079ef5", "sha256": "a05f85b1a56f41dc080f988551b7f9d980e87f50d6c3eb4ae30c473de6513fb7" }, "downloads": -1, "filename": "qpass-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b8acfd53e98a86ad3a900e4b2e079ef5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20985, "upload_time": "2017-07-18T08:26:57", "url": "https://files.pythonhosted.org/packages/e6/95/273c814271b718611da16538f3eda840acd3144bce2c5b0170c0c4c42f2b/qpass-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cff48aa97abe86d78f8684ccccfa3abc", "sha256": "97c8481254ef8f2308e4255a14a251caee6348fc8f9ddb7f48002ad5617636a2" }, "downloads": -1, "filename": "qpass-1.0.3.tar.gz", "has_sig": false, "md5_digest": "cff48aa97abe86d78f8684ccccfa3abc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19569, "upload_time": "2017-07-18T08:26:59", "url": "https://files.pythonhosted.org/packages/be/da/7344fe52c0a0837764d80dfe2d3391137b17968ef72af67b6aea51e71b61/qpass-1.0.3.tar.gz" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "cb46ff06c08a7a3398437db6eb390b23", "sha256": "1aeb4d08df35aba24d3754e58adc4838f5b49c027a28b9854036eefaf603403f" }, "downloads": -1, "filename": "qpass-2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cb46ff06c08a7a3398437db6eb390b23", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21746, "upload_time": "2017-07-26T22:31:15", "url": "https://files.pythonhosted.org/packages/e5/8a/e06891a4e005cc2d388f7117e57891705715b5c575ef9fe6be0463ba1f39/qpass-2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f82b689447c442faf9852d2e54c0b35", "sha256": "e4285d0994b16837a48e186d0f17e3f67d9b96b247448556b90842f000126bcd" }, "downloads": -1, "filename": "qpass-2.0.tar.gz", "has_sig": false, "md5_digest": "7f82b689447c442faf9852d2e54c0b35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19025, "upload_time": "2017-07-26T22:31:17", "url": "https://files.pythonhosted.org/packages/82/6b/b77f9cde6c4da85457fcc36f3022294018f33e343d4ae70347b00525c4eb/qpass-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "6640919bf3e4ede297d5ec0421fa8ae8", "sha256": "e7d9f6e788ca22374888432dab3801bd4c8dbf7cb0a860db0a454d483f649c55" }, "downloads": -1, "filename": "qpass-2.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6640919bf3e4ede297d5ec0421fa8ae8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21796, "upload_time": "2017-07-26T22:41:45", "url": "https://files.pythonhosted.org/packages/05/ba/e52a87cfd6114b454b12ea3f601cc54843b71031db51e63a662af0dbcac8/qpass-2.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19f6a495892f4dd94e6968ee6531101e", "sha256": "e7732771dd5942c67b8af451fdea41fa4ed931c4192e58b4ff4164f4d611ccb2" }, "downloads": -1, "filename": "qpass-2.0.1.tar.gz", "has_sig": false, "md5_digest": "19f6a495892f4dd94e6968ee6531101e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19039, "upload_time": "2017-07-26T22:41:48", "url": "https://files.pythonhosted.org/packages/2e/47/9de7a821baaa7107228cc02de28765f2905e34a2c4dcab6f1cc3f9e89d9b/qpass-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "e95521f8ace8ee29f3370cca11345016", "sha256": "d451e7124ab8df1df6562612af509493cb879ba786b3e08267b7d0616ab0b85b" }, "downloads": -1, "filename": "qpass-2.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e95521f8ace8ee29f3370cca11345016", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 21894, "upload_time": "2017-11-20T22:43:23", "url": "https://files.pythonhosted.org/packages/78/bc/2e918d6de6a79c2984630b59e87903252e5c765f608a8325d4fde62701be/qpass-2.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "133a55a9b8c5c3d8cd4f6ec1195c94b5", "sha256": "15cc026221260561405c0a2ec7633b18bf69e1f4df45f42f4569a5272255ca18" }, "downloads": -1, "filename": "qpass-2.0.2.tar.gz", "has_sig": false, "md5_digest": "133a55a9b8c5c3d8cd4f6ec1195c94b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19161, "upload_time": "2017-11-20T22:43:24", "url": "https://files.pythonhosted.org/packages/25/02/213bfa9d68ca19d639c84e3a579b078e754933c1242d13e868afdd118feb/qpass-2.0.2.tar.gz" } ], "2.1": [ { "comment_text": "", "digests": { "md5": "d8068c97a36bab30275ba7fd6a194114", "sha256": "1ceda730ade61ba2465a6e2a607a52dc08bbd3a55d785729c3476b6e33cb6fc6" }, "downloads": -1, "filename": "qpass-2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d8068c97a36bab30275ba7fd6a194114", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23137, "upload_time": "2018-01-20T22:43:18", "url": "https://files.pythonhosted.org/packages/6c/bc/137745a2f5e49b225ad9f0ebd76e0cacf6fd3937f7e518ecfd6dd15e2943/qpass-2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c263739733d4453b33523f73d6c2968e", "sha256": "b3387e38552a924f3e2b053fc7cf6e7cc306c6ac76a75962f2aa5e9e57b0504a" }, "downloads": -1, "filename": "qpass-2.1.tar.gz", "has_sig": false, "md5_digest": "c263739733d4453b33523f73d6c2968e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22688, "upload_time": "2018-01-20T22:43:20", "url": "https://files.pythonhosted.org/packages/00/a6/282dc0e3dc62af5bff94de1475dee7b1b37387d789d2f2a6a7bce4855928/qpass-2.1.tar.gz" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "1cc5a74504ecba933919cdafab57200f", "sha256": "be42e5ea0f813db4f34366ea8b801eb6402d8ab235fa114c6b4b2d9a01c3ffda" }, "downloads": -1, "filename": "qpass-2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1cc5a74504ecba933919cdafab57200f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23210, "upload_time": "2018-04-26T18:14:39", "url": "https://files.pythonhosted.org/packages/23/f2/0a498d51ba807476e42aae98ed06ada9b78f6ee7237f59416777a7482c15/qpass-2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa389d2ee591a14adb279ee9131f8afe", "sha256": "0054c7d842f403873aea494e11b9cbbf6a71b42039d2415cc24e1a1de57a10bc" }, "downloads": -1, "filename": "qpass-2.2.tar.gz", "has_sig": false, "md5_digest": "aa389d2ee591a14adb279ee9131f8afe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23834, "upload_time": "2018-04-26T18:14:41", "url": "https://files.pythonhosted.org/packages/a9/40/24287fd6fda4d5a41f195967f73fbc0c6b4e2edfdb7be16331237228b62a/qpass-2.2.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "069fb6a7de1308f0ba6d641a4fdd5d15", "sha256": "6e69226afcbbec7ed749b88ccf141253c7ff64e6826309a547c50a095e882e1c" }, "downloads": -1, "filename": "qpass-2.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "069fb6a7de1308f0ba6d641a4fdd5d15", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17524, "upload_time": "2018-06-21T21:33:48", "url": "https://files.pythonhosted.org/packages/cb/97/06a4376bc287b24f56b3b4c05cec2d602265c342cbe3168cb9d5f9655cb6/qpass-2.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5e95d4a28aa61656ed080ccc4b8c11c7", "sha256": "3bc87e913d3c4675a991eb8c60c861d01ecea9b504e85700f879200a66929c8c" }, "downloads": -1, "filename": "qpass-2.2.1.tar.gz", "has_sig": false, "md5_digest": "5e95d4a28aa61656ed080ccc4b8c11c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24067, "upload_time": "2018-06-21T21:33:51", "url": "https://files.pythonhosted.org/packages/00/d0/c4ec7627b751667762babfe893ebbe84560f6c847ee862c33f5274852557/qpass-2.2.1.tar.gz" } ], "2.3": [ { "comment_text": "", "digests": { "md5": "952a70a942053447ecc8a381ac59fea2", "sha256": "fa16246267c645d0e9e2b08838f8623c6f5b3ab0a96c90bba8d9b8b1a16e014f" }, "downloads": -1, "filename": "qpass-2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "952a70a942053447ecc8a381ac59fea2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17828, "upload_time": "2018-12-03T21:02:38", "url": "https://files.pythonhosted.org/packages/92/21/875c96f654361693749517a3901e667b0f6c9450057be5a07e3ab2ecc543/qpass-2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d876d6c853bba877510714ffe484d07", "sha256": "dfdd544a75a9d252abccee9b15abbec77a4a2684b50e1dc2c098fdd7d7cb374f" }, "downloads": -1, "filename": "qpass-2.3.tar.gz", "has_sig": false, "md5_digest": "1d876d6c853bba877510714ffe484d07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25789, "upload_time": "2018-12-03T21:02:40", "url": "https://files.pythonhosted.org/packages/fc/22/d88a4efdf1ca18edd04a86eb473e1e8e425c5c204845ca50fc43a3778733/qpass-2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "952a70a942053447ecc8a381ac59fea2", "sha256": "fa16246267c645d0e9e2b08838f8623c6f5b3ab0a96c90bba8d9b8b1a16e014f" }, "downloads": -1, "filename": "qpass-2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "952a70a942053447ecc8a381ac59fea2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17828, "upload_time": "2018-12-03T21:02:38", "url": "https://files.pythonhosted.org/packages/92/21/875c96f654361693749517a3901e667b0f6c9450057be5a07e3ab2ecc543/qpass-2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d876d6c853bba877510714ffe484d07", "sha256": "dfdd544a75a9d252abccee9b15abbec77a4a2684b50e1dc2c098fdd7d7cb374f" }, "downloads": -1, "filename": "qpass-2.3.tar.gz", "has_sig": false, "md5_digest": "1d876d6c853bba877510714ffe484d07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25789, "upload_time": "2018-12-03T21:02:40", "url": "https://files.pythonhosted.org/packages/fc/22/d88a4efdf1ca18edd04a86eb473e1e8e425c5c204845ca50fc43a3778733/qpass-2.3.tar.gz" } ] }