Skip to main content

papass is a simple library to generate passphrases and passwords.

Project description

papass

PyPI Documentation Status CI

papass generates passphrases following the diceware approach as proposed by Arnold G. Reinhold.

Quickstart

Assuming you have a wordlist file wordlist.txt (where to get one) you can run the following command to generate a random list of four words:

$ papass pp -l 4 -w wordlist.txt
Passphrase: grimy street acetone overcast
Entropy: 51.6993

By default this uses the system's most secure random number generator. To use physical dice add -r dice. The number of dice rolls can become very high so for convenience you can enter the rolls in groups as in the following example:

$ papass pp -l 4 -w wordlist.txt -r dice
Roll 20 dice: 5 1 3 5 1
Roll remaining 15 dice: 4 6 4 6 2
Roll remaining 10 dice: 5 6 2 3 6
Roll remaining 5 dice: 6 5 2 2 4
Passphrase: renegade reapprove static uphold
Entropy: 51.6993

Passwords can be created too (can also be used with -r dice):

$ papass pw -l 20 -p letters,digits
Password: rXJndFnML2j3YqVo2WgF
Entropy: 119.084

See papass.readthedocs.io for the full documentation.

Development

Create a virtual environment (e.g. via python -m venv .myvenv or mamba/micromamba). Install (development) dependencies and papass in editable mode:

$ pip install -r requirements.txt -e .

Run tests and type checking via

$ pytest
$ mypy

Formatting and linting is done via ruff.

$ ruff format
$ ruff check --fix

To build the docs install e.g. make and do

$ pip install -r docs/requirements.txt
$ make -C docs/ html

Project details


Download files

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

Source Distribution

papass-0.1.0.tar.gz (29.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

papass-0.1.0-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

Details for the file papass-0.1.0.tar.gz.

File metadata

  • Download URL: papass-0.1.0.tar.gz
  • Upload date:
  • Size: 29.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for papass-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8824e93e12e47de951b7a0ef2db789cce1f93bfdda43e24ed4b3f88f8d39ae96
MD5 6155ba0ed195f570dc484c89ae491a44
BLAKE2b-256 b78a261c7842f24e8ef9a11c0bd840be8e7559c057cbc40066bb6a264d62a700

See more details on using hashes here.

File details

Details for the file papass-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: papass-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 19.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for papass-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5671b6377e464c3c7784a69af73ee49ac5362ed179c1b24bbb75b4230b12ce90
MD5 af109c9e10273baf5a3cb2362629f47b
BLAKE2b-256 e4f5ab417abc7457341e052253edfaf71fa2777ab3f48598e73761fc78d93dd1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page