{ "info": { "author": "Pacharapol Withayasakpunt", "author_email": "patarapolw@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Security :: Cryptography" ], "description": "# Pronounceable\n\n[![Build Status](https://travis-ci.org/patarapolw/pronounceable.svg?branch=master)](https://travis-ci.org/patarapolw/pronounceable)\n[![PyPI version shields.io](https://img.shields.io/pypi/v/pronounceable.svg)](https://pypi.python.org/pypi/pronounceable/)\n[![PyPI license](https://img.shields.io/pypi/l/pronounceable.svg)](https://pypi.python.org/pypi/pronounceable/)\n\n- Generate a random pronounceable word using Python 3 and secrets module (falls back to random module if Python < 3.6).\n- Calculate password complexity based on pronounceablity. > 10.0 is probably too complex for human to remember.\n\n## Usage\n\n```pycon\n>>> from pronounceable import PronounceableWord, generate_word, Pronounceablity, Complexity\n>>> PronounceableWord().length(8, 15)\n'terhtsadathe'\n>>> generate_word()\n'gloust'\n>>> pr = Pronounceablity()\n>>> pr.syllable('terhtsadathe')\n6\n>>> pr.syllable('hello')\n2\n>>> pr.syllable('gloust')\n4\n>>> complexity = Complexity()\n>>> complexity.complexity('D7!rcc&umnsd')\n5.401603904395188\n>>> complexity.complexity('a4ILot#h')\n4.71785657472491\n>>> complexity.complexity('password')\n1.0\n>>> complexity.complexity('thisisabadpassword')\n2.2220669581020354\n>>> complexity.complexity('anejpwnrqpqzonijre')\n4.71785657472491\n```\n\n## Based on\n\n- https://github.com/greghaskins/gibberish\n- https://github.com/ricardofalasca/passpro-generator\n- NLTK - CMUdict\n\n## More on password\n\n- Human-readable password mnemonics -- https://github.com/patarapolw/memorable-password\n- Security-side of password -- https://github.com/patarapolw/passwordstrength\n- Adapting the humanized password to the computerized password policy - https://github.com/patarapolw/leetpass\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/patarapolw/pronounceable", "keywords": "password password-analysis nltk word-synthesis", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pronounceable", "package_url": "https://pypi.org/project/pronounceable/", "platform": "", "project_url": "https://pypi.org/project/pronounceable/", "project_urls": { "Homepage": "https://github.com/patarapolw/pronounceable" }, "release_url": "https://pypi.org/project/pronounceable/0.1.3/", "requires_dist": [ "nltk", "PyYAML", "metaphone", "memorable-password; extra == 'analysis'", "randomsentence; extra == 'analysis'", "pytest; extra == 'tests'", "pytest-doctestplus; extra == 'tests'" ], "requires_python": ">=3.5", "summary": "Analyze passwords' memorizability and generate pronounceable words.", "version": "0.1.3" }, "last_serial": 3814582, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9a7a0ff5d9ba536e9fc01b59106f6c10", "sha256": "8d25e893edf6e338b0e97514c1421079b95b3cba15a3949de772e0a44f8bfec9" }, "downloads": -1, "filename": "pronounceable-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9a7a0ff5d9ba536e9fc01b59106f6c10", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 44899, "upload_time": "2018-04-27T13:56:22", "url": "https://files.pythonhosted.org/packages/d4/3d/ecda2bdee1feae1be2794cc43b9efd90dd46cbf95627f21b15f52afaff8e/pronounceable-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1e43f375d49d5bccb6e34962e081c0d3", "sha256": "980d2390ec1607c4dc41359a9366f374eec907f7a091b202e7ea8ee4623bcbae" }, "downloads": -1, "filename": "pronounceable-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1e43f375d49d5bccb6e34962e081c0d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45102, "upload_time": "2018-04-27T15:42:55", "url": "https://files.pythonhosted.org/packages/91/dc/442436c68f988c70896a045a6455bb549a76a9fa8bfb6a74771716654f72/pronounceable-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "de2b12c9ca0db9ba5f7924c7403beddb", "sha256": "71b9c7d319a42285182a19d35143196456c84d1faeeb1e54b67f56e6a00c2e38" }, "downloads": -1, "filename": "pronounceable-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "de2b12c9ca0db9ba5f7924c7403beddb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 44632, "upload_time": "2018-04-27T15:42:53", "url": "https://files.pythonhosted.org/packages/0e/78/be4a26a55e7cef422a9496b7c40df493da6604baf02a538d49c4e771c908/pronounceable-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09db49d1b09d9a535e37c436ba9e55f3", "sha256": "0a71700722399ac3e2bd42c06a554443dc1463ab239c5cebb147a33a85fcbb9d" }, "downloads": -1, "filename": "pronounceable-0.1.1.tar.gz", "has_sig": false, "md5_digest": "09db49d1b09d9a535e37c436ba9e55f3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45159, "upload_time": "2018-04-27T15:42:56", "url": "https://files.pythonhosted.org/packages/7b/a2/c01ef49a3f0b38e29f47bc9cf902d749bce6ff9a072145fdeb76696be09c/pronounceable-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "064929bb2a0a3891daacf04ad0a39bf1", "sha256": "944069375b4f9ce12636ec501498f23223c01b03f1e9e27e9ca9261ec3f885fa" }, "downloads": -1, "filename": "pronounceable-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "064929bb2a0a3891daacf04ad0a39bf1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 44745, "upload_time": "2018-04-27T15:47:17", "url": "https://files.pythonhosted.org/packages/94/8c/db262294ddd6745d79b55e7643263d1238e6330fbeab75eb3332da13254f/pronounceable-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "55f98ef7e7ed27a30fed0f771b9987de", "sha256": "ee52d23d2fc08df4412a3881341b702b19cb7250b40b06f8426deec59cb43ae5" }, "downloads": -1, "filename": "pronounceable-0.1.2.tar.gz", "has_sig": false, "md5_digest": "55f98ef7e7ed27a30fed0f771b9987de", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45376, "upload_time": "2018-04-27T15:47:19", "url": "https://files.pythonhosted.org/packages/89/7e/e766115427229a2ff190395e114328956b4e5cd169194fe63fda9d63464a/pronounceable-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "6b7a3c4df68cd6e36e419f24c970d332", "sha256": "f41582795d0a3dbc62e489ed21cdb3d14d5a4dcb9ca87272c612eb82b2623ded" }, "downloads": -1, "filename": "pronounceable-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "6b7a3c4df68cd6e36e419f24c970d332", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 44819, "upload_time": "2018-04-27T15:50:42", "url": "https://files.pythonhosted.org/packages/a9/86/375ab9d0deef26f199b953950123aa417a24ddd0e9f67f007fc52f9e1e8e/pronounceable-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4dde4340133942ba5e5a4ada6d5b780", "sha256": "12a0cf1234ab030ab959a6c185f7510be22caf361c5cdbdbb20d78fcb09c356b" }, "downloads": -1, "filename": "pronounceable-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e4dde4340133942ba5e5a4ada6d5b780", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45496, "upload_time": "2018-04-27T15:50:46", "url": "https://files.pythonhosted.org/packages/1d/de/002b6976c59799c031625695a45f6b4aa82e9fccaf9e27aeea29e71a734c/pronounceable-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6b7a3c4df68cd6e36e419f24c970d332", "sha256": "f41582795d0a3dbc62e489ed21cdb3d14d5a4dcb9ca87272c612eb82b2623ded" }, "downloads": -1, "filename": "pronounceable-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "6b7a3c4df68cd6e36e419f24c970d332", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 44819, "upload_time": "2018-04-27T15:50:42", "url": "https://files.pythonhosted.org/packages/a9/86/375ab9d0deef26f199b953950123aa417a24ddd0e9f67f007fc52f9e1e8e/pronounceable-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e4dde4340133942ba5e5a4ada6d5b780", "sha256": "12a0cf1234ab030ab959a6c185f7510be22caf361c5cdbdbb20d78fcb09c356b" }, "downloads": -1, "filename": "pronounceable-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e4dde4340133942ba5e5a4ada6d5b780", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 45496, "upload_time": "2018-04-27T15:50:46", "url": "https://files.pythonhosted.org/packages/1d/de/002b6976c59799c031625695a45f6b4aa82e9fccaf9e27aeea29e71a734c/pronounceable-0.1.3.tar.gz" } ] }