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.0.6.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.0.6-py3-none-any.whl (19.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: papass-0.0.6.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.0.6.tar.gz
Algorithm Hash digest
SHA256 d9479746af795f676a3fc716705856ffc85ce0ca8271ee3c584269749d641d0f
MD5 42cf4e601ac237dbfaa8bb45275a29e5
BLAKE2b-256 7371340ca2b094a3197698678dcc1fea3e598f3dde66f72164b38c58ac63c82e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: papass-0.0.6-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.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a259385f9b59072629add99eb1279f00bd4bb1b31d3cec56475e30f35f4409bf
MD5 b413f0898146b4183fa9116459c54137
BLAKE2b-256 c919845a666e32a34d4cd00f4ca142846badf3f39d7c0db6d9e0a0c97c0d75d6

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