{ "info": { "author": "Calvin Smith", "author_email": "sapientdust+mkpassphrase@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "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 :: Security", "Topic :: Utilities" ], "description": "============\nmkpassphrase\n============\n\n.. image:: https://travis-ci.org/eukaryote/mkpassphrase.svg?branch=master\n :target: https://travis-ci.org/eukaryote/mkpassphrase\n\n`mkpassphrase` is a commandline script and an associated library for\ngenerating passphrases by concatenating words chosen from a dictionary file\nthat contains one word per line.\n\nAs of version 2, released in July, 2018, it bundles the three `EFF wordlists`_,\nand uses their standard 7,776-word list by default, but can use the\nother EFF wordlists or a custom wordlist.\n\nWhen run with no args, `mkpassphrase` generates a\npassphrase like ``exemplify strobe pushover appealing Glimpse Snazzy``, which inserts\na space character between each word and randomly uppercases the first\ncharacter of each word with probability 1/2, using enough words to reach\nthe recommended 80-bit security level, but these choices and others are configurable.\n\n.. _EFF wordlists: https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases\n\n\nInstallation\n------------\n\nTo install or upgrade to the latest stable version of `mkpassphrase` from PyPI,\nyou can install it as your normal user by running:\n\n.. code-block:: shell-session\n\n $ pip install --user --upgrade mkpassphrase\n\nOn Linux, that installs `mkpasphrase` to `~/.local/bin`, which you may need to\nadd to your `$PATH`.\n\nOr you can install it globally by running:\n\n.. code-block:: shell-session\n\n $ sudo pip install --upgrade mkpassphrase\n\n\nUsage\n-----\n\nGenerate a passphrase using the default settings:\n\n.. code-block:: shell-session\n\n $ mkpassphrase\n Octane Flatfoot timid revival Darkened dropkick\n\n 83-bit security level\n\nThe security level reported is based only on the number of words in the\npassphrase and the number of possible words (as well as whether\nthe ``--lowercase`` option is chosen), and does not include other factors\nsuch as padding or a custom delimiter, which would increase the security\nlevel. You can also add the ``-q`` option to only see the passphrases.\n\nYou can use the ``-t NUM`` option to generate multiple passphrases if you\nwant more options to choose from:\n\n.. code-block:: shell-session\n\n $ mkpassphrase -t 10\n disposal Linoleum antibody petty Nucleus Unzip\n Banish Barterer doorway avenging Errand tasting\n poking disband Precook Ought pronounce procedure\n rambling Flanking trimness heaving Dock Corned\n overfull Evade Army fever sled Enjoyment\n fancied Maternal pawing Marmalade Synapse Ruse\n willow Hatless moving Dealmaker Mammogram share\n perm broker only company Privacy Animation\n composure Header polo prewar Unaware Creation\n Entomb unselfish Shrewdly rundown snuff Wing\n\n 83-bit security level\n\n\nOptions\n-------\n\nUse the `--help` option to see the available options:\n\n.. code-block:: shell-session\n\n $ mkpassphrase --help\n usage: mkpassphrase [-h] [-n NUM_WORDS] [-s ENTROPY] [-w WORD_LIST]\n [-f WORD_FILE] [-l] [-p PAD] [-d DELIMITER] [-t TIMES]\n [-V] [-q]\n\n Generate a passphrase.\n\n optional arguments:\n -h, --help show this help message and exit\n -n NUM_WORDS, --num-words NUM_WORDS\n Number of words in passphrase (the default is enough\n words to reach a security level of 80 bits)\n -s ENTROPY, --entropy ENTROPY\n Target entropy bits (the default is 80 bits)\n -w WORD_LIST, --word-list WORD_LIST\n Use built-in wordlist (eff-large [default], eff1, or\n eff2)\n -f WORD_FILE, --word-file WORD_FILE\n Word file path (one word per line)\n -l, --lowercase Lowercase words (the default is to capitalize the\n first letterof each word with probability 0.5 and use\n lowercase for all other letters)\n -p PAD, --pad PAD Pad passphrase using PAD as prefix and suffix (the\n default is no padding)\n -d DELIMITER, --delimiter DELIMITER\n Use DELIMITER to separate words in passphrase (the\n default is a space character)\n -t TIMES, --times TIMES\n Generate TIMES different passphrases (the default is\n to generate 1 passphrase)\n -V, --version Show version\n -q, --quiet Print just the passphrase (the default is to also show\n the security-level of the generated passphrase(s))\n\n\nSupported Python Versions and Operating Systems\n-----------------------------------------------\n\nmkpassphrase is supported on Python-2.7 (CPython or PyPy), Python-3.4+ for\nCPython, and Python-3.2.5+ for PyPy. It is tested on Linux, but should work on\nany OS with a supported Python version.\n\n\n=======\nChanges\n=======\n\n\nv2.0.0.post1\n------------\n\n * update CHANGES to reflect 2.0.0 changes (no code changes compared v2.0.0)\n\n\nv2.0.0\n------\n\n * support using (bundled) `EFF wordlists`_ as the source for words, in addition to\n user-provided wordlists, with the default behavior now being to use the\n long EFF wordlist (7,776 words)\n * support specifying security level to get a passphrase with the required number of\n words for that security level (e.g., `mkpassphrase -s 80` to get a passphrase\n with enough words from the default EFF wordlist for 80 bits of entropy)\n * removed `--min` and `--max` options for ignoring words in a wordlist that are\n too short or too long\n * removed `--non-ascii` option for ignoring words that have non-ascii characters\n\n.. _EFF wordlists: https://www.eff.org/deeplinks/2016/07/new-wordlists-random-passphrases\n\n\nv1.0.0\n------\n\n * 1.0 bump, and change to 'stable'\n * python3 support is limited to 3.2.5+ (python2.7 still supported)\n * added testing against python-3.6 (alpha3 currently)\n\nv0.9.1\n------\n\n * minor adjustments to python2/3 compatibility checks\n * pep257 docstring updates\n\nv0.9.0\n------\n\n * much faster generation of multiple passphrases using `-t`\n * minor verbiage tweaks for non-quiet output\n\nv0.8.0\n------\n\n * use cryptographically secure pseudo-random number generator if available\n * added standard imports to help with python2/3 compatibility\n\nv0.7.0\n------\n\n * added -t|--times N to allow generating multiple passphrases w/ one command\n\nv0.6.8\n------\n\n * include CHANGES.rst and README.rst in sdist via MANIFEST.in\n\nv0.6.7\n------\n\n * cosmetic changes for better PyPI display\n\n\nv0.6.6\n------\n\n * cosmetic changes for better PyPI display\n\n\nv0.6.4\n-------\n\n * cosmetic changes for better PyPI display\n\n\nv0.6.2\n------\n\n * added -q option to omit extra information about how many unique candidate\n words were found and how many passphrases were possible\n * fix for --ascii option not being used, and improved encoding handling\n * start documenting changes in CHANGES.rst\n * use README and CHANGES as long_description for improved pypi info\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/eukaryote/mkpassphrase", "keywords": "passphrase password", "license": "http://www.opensource.org/licenses/mit-license.php", "maintainer": "", "maintainer_email": "", "name": "mkpassphrase", "package_url": "https://pypi.org/project/mkpassphrase/", "platform": "any", "project_url": "https://pypi.org/project/mkpassphrase/", "project_urls": { "Homepage": "https://github.com/eukaryote/mkpassphrase" }, "release_url": "https://pypi.org/project/mkpassphrase/2.0.0.post1/", "requires_dist": [ "six", "wheel; extra == 'develop'", "pytest; extra == 'testing'", "mock; extra == 'testing'", "pytest-cov; extra == 'testing'", "pytest-pyflake8; extra == 'testing'" ], "requires_python": "", "summary": "Word-based passphrase generator", "version": "2.0.0.post1" }, "last_serial": 4114163, "releases": { "0.5": [ { "comment_text": "", "digests": { "md5": "d066dd2866f32d66cee421641be4f471", "sha256": "f716d558c4dbd57b1a32578cd184f2c1ee33ee6c4040181f64785248d0abb947" }, "downloads": -1, "filename": "mkpassphrase-0.5.tar.gz", "has_sig": false, "md5_digest": "d066dd2866f32d66cee421641be4f471", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4190, "upload_time": "2015-02-02T01:04:01", "url": "https://files.pythonhosted.org/packages/18/db/0137a4e3b1acf202d7f29147d21fabf9e200ce8dce5a8889df120656c946/mkpassphrase-0.5.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "9abe07544b2f8d3b8aa4cd3d1e88827d", "sha256": "73e48c92f472ae49ac5af07c0a25c0f8aac3ead35f0e2a35ab1b7f5e8a594db0" }, "downloads": -1, "filename": "mkpassphrase-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9abe07544b2f8d3b8aa4cd3d1e88827d", "packagetype": "bdist_wheel", "python_version": "any", "requires_python": null, "size": 5983, "upload_time": "2015-02-02T02:19:31", "url": "https://files.pythonhosted.org/packages/56/5b/abe35eb6f5cefbf39d64c95cdc72d720a36f1d4686b097e1951f25121274/mkpassphrase-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4d8d01bd751367971331c1cadb28109a", "sha256": "cf758612bc8dda86aa09c1edca940fdbf390da48296d32fea8c81c8f2973aad1" }, "downloads": -1, "filename": "mkpassphrase-0.6.0.tar.gz", "has_sig": false, "md5_digest": "4d8d01bd751367971331c1cadb28109a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4238, "upload_time": "2015-02-02T02:03:50", "url": "https://files.pythonhosted.org/packages/47/fa/80705d4e143b78358c2038fb0b3702ad6632cc0cc543ee4c358422723192/mkpassphrase-0.6.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "180b6931c5434ee353e6620b178dd2aa", "sha256": "65008603dc421ccb322dca0c21207f65365c856864e0f3f1ad802dd85b460f84" }, "downloads": -1, "filename": "mkpassphrase-0.6.1.tar.gz", "has_sig": false, "md5_digest": "180b6931c5434ee353e6620b178dd2aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4948, "upload_time": "2015-02-02T16:23:05", "url": "https://files.pythonhosted.org/packages/be/00/c5b166ee3661d6cf53fb3bc77a5f331ba7a354cd08c80a4a28d8e0180d41/mkpassphrase-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "30fa039a81e401bb52b88dba8aa2e28b", "sha256": "09722f1faf4d76b880b4c13e67506150fabe43db1c7e4923994b77644bb9bcec" }, "downloads": -1, "filename": "mkpassphrase-0.6.2.tar.gz", "has_sig": false, "md5_digest": "30fa039a81e401bb52b88dba8aa2e28b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5866, "upload_time": "2015-02-04T16:16:13", "url": "https://files.pythonhosted.org/packages/e6/19/1e62623255300da4c759da48b5d836d84259e74e250f9e5b638236861aa9/mkpassphrase-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "34e8f6a27d2137147b342e71758ffdc7", "sha256": "4d526c9f6bf0d67cb295b89e3dad926102ede15de702a652064405ff4ba477f4" }, "downloads": -1, "filename": "mkpassphrase-0.6.3.tar.gz", "has_sig": false, "md5_digest": "34e8f6a27d2137147b342e71758ffdc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6045, "upload_time": "2015-02-05T02:51:16", "url": "https://files.pythonhosted.org/packages/05/92/50ca08d5a0c34677887d410776b28ecb1f4536b8ab10bb723e13aabdc433/mkpassphrase-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "ee78c1b55991bb95753879ff6cd3d8e7", "sha256": "ad9fb0caf2507881adaea0dae050915383b62d3fcc25473576d19ff22419747f" }, "downloads": -1, "filename": "mkpassphrase-0.6.4.tar.gz", "has_sig": false, "md5_digest": "ee78c1b55991bb95753879ff6cd3d8e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6062, "upload_time": "2015-02-05T02:59:36", "url": "https://files.pythonhosted.org/packages/77/6d/045aaf1276f5ff0fcfbd5f1e762ee7df45dccf439f66c2bea7f948798d2e/mkpassphrase-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "aa17f8b0884745f68e52e0cf05a9763e", "sha256": "c90efa5affeb362e1dde3de4fef4c05fcbc7d6fdd32794dbde48513e4498afc1" }, "downloads": -1, "filename": "mkpassphrase-0.6.5.tar.gz", "has_sig": false, "md5_digest": "aa17f8b0884745f68e52e0cf05a9763e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6060, "upload_time": "2015-02-05T03:02:08", "url": "https://files.pythonhosted.org/packages/1a/4c/eeebb849e5609a6139ca4dc5bc1f786ca7e852e240c369e9e29455e26ce6/mkpassphrase-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "4d358102f63450ce7ab4104d5508b882", "sha256": "dae44d87896b914e3b00a273a9ca06097fe8abd6c8b74f2ea487366fc3f37d91" }, "downloads": -1, "filename": "mkpassphrase-0.6.6.tar.gz", "has_sig": false, "md5_digest": "4d358102f63450ce7ab4104d5508b882", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6073, "upload_time": "2015-02-05T03:06:10", "url": "https://files.pythonhosted.org/packages/d2/30/10a25b7a91d6e4d0566a6d5cee1f9ee11f95f101d3b6f2b0bb2a7079943f/mkpassphrase-0.6.6.tar.gz" } ], "0.6.7": [ { "comment_text": "", "digests": { "md5": "f488193a73a658998538f8758690833f", "sha256": "feac13d6c6a50a827fb650d2e4993572e872094dce6083d350c2d1accef167f7" }, "downloads": -1, "filename": "mkpassphrase-0.6.7.tar.gz", "has_sig": false, "md5_digest": "f488193a73a658998538f8758690833f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5898, "upload_time": "2015-02-05T03:17:27", "url": "https://files.pythonhosted.org/packages/d4/81/fbad250c426fb7c6cfd503f174b5df6369c6c3aeb26fc35df94755c4dd4e/mkpassphrase-0.6.7.tar.gz" } ], "0.6.8": [ { "comment_text": "", "digests": { "md5": "75c3739460e51d5bb8dfb339c46e4e27", "sha256": "2cc29bd84bc195aab30a3b6b80c47b4fdfb59604cf4af9dce0b9242aa36127a9" }, "downloads": -1, "filename": "mkpassphrase-0.6.8.tar.gz", "has_sig": false, "md5_digest": "75c3739460e51d5bb8dfb339c46e4e27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6047, "upload_time": "2015-03-28T01:55:24", "url": "https://files.pythonhosted.org/packages/3e/7b/2ad69f32acea5196c9314dde8fb65ce25a1af70a859d88bc3abfa168c1e9/mkpassphrase-0.6.8.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "1495f83408886f84b1aa3c8aca8ce10e", "sha256": "a0b80291fb287dfdbac4fbfc162a0bf5c5bac572f2a50f67e207881539cf6c3f" }, "downloads": -1, "filename": "mkpassphrase-0.7.0.tar.gz", "has_sig": false, "md5_digest": "1495f83408886f84b1aa3c8aca8ce10e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6165, "upload_time": "2015-03-28T02:11:09", "url": "https://files.pythonhosted.org/packages/a1/99/5a90d6c06d386d67464ad7831488fa50aa692813149d66d6d8cd899cfb21/mkpassphrase-0.7.0.tar.gz" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "f65b8c27ac2dd2cb91b9b9ce3ad702b8", "sha256": "45c3a2aacfaec65f6144fb4198ead55bf80ba296381da1bd97a7920ee35ebb87" }, "downloads": -1, "filename": "mkpassphrase-0.8.0.tar.gz", "has_sig": false, "md5_digest": "f65b8c27ac2dd2cb91b9b9ce3ad702b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6373, "upload_time": "2015-10-08T14:14:09", "url": "https://files.pythonhosted.org/packages/f3/39/be269c93e93450b86bbf05abad79a0b992b04efb2953203ac7ac6aff215a/mkpassphrase-0.8.0.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "f4a47feb52af679dcd8c901e7c974cdc", "sha256": "fd68ec173880b38b785155bf07426d4044c02293f97c7bba17b143fbfb21d969" }, "downloads": -1, "filename": "mkpassphrase-0.9.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f4a47feb52af679dcd8c901e7c974cdc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10218, "upload_time": "2016-06-11T20:14:11", "url": "https://files.pythonhosted.org/packages/26/ae/5773189b0aa3015a6b6fdc46abc586ef7f2b2424d6b2097168685c4d5b6b/mkpassphrase-0.9.0-py2.py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "bc4d0a8d3370eedaa808e8fa20c6353c", "sha256": "ad9dca59985618cd9164edbc157a366e24fd3ac6dcefcee0524a910f16affe21" }, "downloads": -1, "filename": "mkpassphrase-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bc4d0a8d3370eedaa808e8fa20c6353c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11776, "upload_time": "2016-07-12T22:42:40", "url": "https://files.pythonhosted.org/packages/ec/6f/d4f7865b7a8cefeb222917367062de99e4bdce1ad3244c00b83b26d52fce/mkpassphrase-1.0.0-py2.py3-none-any.whl" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "853906065248792f3d156b535f98ba52", "sha256": "b1188a8a0f16ee9b66dd2a56bd38a10c4c53d0450351656000eaa718352af5f2" }, "downloads": -1, "filename": "mkpassphrase-2.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "853906065248792f3d156b535f98ba52", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 43158, "upload_time": "2018-07-29T17:03:52", "url": "https://files.pythonhosted.org/packages/79/f3/fa75dec1557fd893557e165175c0ff799760aec81d9b0a62e5d413e5a619/mkpassphrase-2.0.0-py2.py3-none-any.whl" } ], "2.0.0.post1": [ { "comment_text": "", "digests": { "md5": "8a5460c8abe6cd16545e65aa76872475", "sha256": "0df124a3a54a395931151c928ace715f37a411c381fa4fb21dfdec13836460dc" }, "downloads": -1, "filename": "mkpassphrase-2.0.0.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a5460c8abe6cd16545e65aa76872475", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 43512, "upload_time": "2018-07-29T18:02:30", "url": "https://files.pythonhosted.org/packages/4f/65/fa17eb469e680d280beab317dd409dd74ca9ea4950f599934786dc51be94/mkpassphrase-2.0.0.post1-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8a5460c8abe6cd16545e65aa76872475", "sha256": "0df124a3a54a395931151c928ace715f37a411c381fa4fb21dfdec13836460dc" }, "downloads": -1, "filename": "mkpassphrase-2.0.0.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8a5460c8abe6cd16545e65aa76872475", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 43512, "upload_time": "2018-07-29T18:02:30", "url": "https://files.pythonhosted.org/packages/4f/65/fa17eb469e680d280beab317dd409dd74ca9ea4950f599934786dc51be94/mkpassphrase-2.0.0.post1-py2.py3-none-any.whl" } ] }