papass generates passphrases following the diceware approach as proposed by Arnold G. Reinhold.
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.
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