{ "info": { "author": "Pacharapol Withayasakpunt", "author_email": "patarapolw@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.6", "Topic :: Security", "Topic :: Security :: Cryptography" ], "description": "# Password Manager\n\n[![Build Status](https://travis-ci.org/patarapolw/pypwm.svg?branch=master)](https://travis-ci.org/patarapolw/pypwm)\n[![PyPI version shields.io](https://img.shields.io/pypi/v/pypwm.svg)](https://pypi.python.org/pypi/pypwm/)\n[![PyPI license](https://img.shields.io/pypi/l/pypwm.svg)](https://pypi.python.org/pypi/pypvm/)\n[![PyPI pyversions](https://img.shields.io/pypi/pyversions/pypwm.svg)](https://pypi.python.org/pypi/pypwm/)\n[![PyPI status](https://img.shields.io/pypi/status/pypwm.svg)](https://pypi.python.org/pypi/pypwm/)\n[![Examples tested with pytest-readme](http://img.shields.io/badge/readme-tested-brightgreen.svg)](https://github.com/boxed/pytest-readme)\n\nA library for password manager for Python\n\n## Features\n\n- Automatic vault locking and saving after predefined time (default 60 sec)\n- Vault file generation\n- Passcode lock with RSA (based on PyCryptodome)\n\n\n## Installation\n\n```commandline\npip install pypwm\n```\nor\n```commandline\npipenv install -e git+https://github.com/patarapolw/pypwm.git#egg=pypwm\n```\n\n## Usage\n\n```python\nfrom pwm.vault import Vault\n\nwith Vault('amasterpassword') as vault:\n vault['reddit'] = {\n 'password': 'averycomplexpassword'\n }\nwith Vault('amasterpassword') as vault:\n print(vault['reddit']['password'])\n```\n\n## Real-world usage\n\n```python\n\ndo_exit = False\n\nwhile not do_exit:\n try:\n while True:\n try:\n vault = Vault(getpass('Please enter the master password : '))\n break\n except ValueError:\n continue\n\n while not do_exit:\n print('Password available for:', ', '.join(dict(vault).keys()))\n name = input('Please type the name of password to view or create a new one, or press q to exit. : ')\n if name == 'q':\n do_exit = True\n break\n\n new_entry = dict(vault).get(name, {\n 'password': generate_password(),\n })\n print(new_entry)\n if input('Do you want to save? Press [y/Y] to save: ').lower() == 'y':\n vault[name] = new_entry\n\n vault.close()\n\n except AttributeError:\n continue\n```\n\n## Found in\n\n- https://github.com/patarapolw/memorable-password\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/patarapolw/pwm", "keywords": "password password-manager", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pypwm", "package_url": "https://pypi.org/project/pypwm/", "platform": "", "project_url": "https://pypi.org/project/pypwm/", "project_urls": { "Homepage": "https://github.com/patarapolw/pwm" }, "release_url": "https://pypi.org/project/pypwm/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "A library for password manager for Python", "version": "0.2.1" }, "last_serial": 3833249, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "24a7b2adcd36c583a3524651740555bd", "sha256": "591a7710a553ceb559c93d0deef3c61e8ebd62af1f62f58ee2ea2a40c996b1e2" }, "downloads": -1, "filename": "pypwm-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "24a7b2adcd36c583a3524651740555bd", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 4974, "upload_time": "2018-05-04T05:42:42", "url": "https://files.pythonhosted.org/packages/0b/9d/5e3a42d633d95657b40cb198e8595b7c02a752c691704f85699e91f62c79/pypwm-0.2.0-py2.py3-none-any.whl" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "c2859c797d2652a6c00931863a56b0ac", "sha256": "836ce984c1d61df8f2238ac4906b1488e4cb516c222cb94b48824671d3d9a6e5" }, "downloads": -1, "filename": "pypwm-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c2859c797d2652a6c00931863a56b0ac", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 4956, "upload_time": "2018-05-04T05:46:53", "url": "https://files.pythonhosted.org/packages/e9/c6/fa5c782acda7af24974d62f31a381dcc2f8ffe5c7e0aa39e147592819e87/pypwm-0.2.1-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c2859c797d2652a6c00931863a56b0ac", "sha256": "836ce984c1d61df8f2238ac4906b1488e4cb516c222cb94b48824671d3d9a6e5" }, "downloads": -1, "filename": "pypwm-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c2859c797d2652a6c00931863a56b0ac", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 4956, "upload_time": "2018-05-04T05:46:53", "url": "https://files.pythonhosted.org/packages/e9/c6/fa5c782acda7af24974d62f31a381dcc2f8ffe5c7e0aa39e147592819e87/pypwm-0.2.1-py2.py3-none-any.whl" } ] }