Skip to main content

A Diceware-style Password Generator

Project description

Keysmith randomly chooses words from a list and concatenates them. With a sufficiently large list, these make decent passphrases that tend to be more memorable than other random passwords. The concept is essentially the same as (and arguably simpler than) Diceware.

Build Status PyPI Version


Keysmith is available on PyPI.

pip install keysmith


Keysmith can be run as a command-line utility.

keysmith --help

Keysmith can also be imported into other Python projects.

>>> import keysmith, string
>>> print(keysmith.key(seq=string.ascii_letters, nteeth=12, delimiter=''))

Pro Tip

Use Keysmith with KeePass and Yubikey!


Copyright (C) 2016 David Tucker

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
keysmith-2.0.0.tar.gz (12.9 kB) Copy SHA256 hash SHA256 Source None Aug 15, 2016

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page