Metadata-Version: 2.1
Name: papass
Version: 0.0.4
Summary: papass is a simple library to generate passphrases.
Author: Reinhard Stahn
Requires-Python: >= 3.10
Description-Content-Type: text/markdown
Classifier: License :: OSI Approved :: MIT License
Requires-Dist: click
Requires-Dist: hypothesis ; extra == "dev"
Requires-Dist: mypy ; extra == "dev"
Requires-Dist: pytest ; extra == "dev"
Requires-Dist: ruff ; extra == "dev"
Requires-Dist: python-lsp-server ; extra == "dev-pylsp"
Requires-Dist: python-lsp-ruff ; extra == "dev-pylsp"
Requires-Dist: pylsp-mypy ; extra == "dev-pylsp"
Requires-Dist: pylsp-rope ; extra == "dev-pylsp"
Requires-Dist: myst-parser ; extra == "docs"
Requires-Dist: sphinx ; extra == "docs"
Requires-Dist: sphinx-book-theme ; extra == "docs"
Project-URL: documentation, https://papass.readthedocs.io
Project-URL: source, https://github.com/rainij/papass
Provides-Extra: dev
Provides-Extra: dev-pylsp
Provides-Extra: docs

<h1 align="center">
  papass
</h1>

[![PyPI](https://img.shields.io/pypi/v/papass.svg)](https://pypi.org/project/papass/)
[![Documentation Status](https://readthedocs.org/projects/papass/badge/?version=latest)](https://papass.readthedocs.io/en/latest)
[![CI](https://github.com/rainij/papass/actions/workflows/ci.yml/badge.svg)](https://github.com/rainij/papass/actions/workflows/ci.yml)

**This is a work in progress**

**papass** generates passphrases following the
[diceware](https://theworld.com/~reinhold/diceware.html) approach as proposed by Arnold
G. Reinhold.

# Quickstart

Assuming you have a wordlist file `wordlist.txt` you can run the following command to
generate a random list of four words:

```shell
$ papass -c 4 -w wordlist.txt
Phrase: 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`. See [papass.readthedocs.io](https://papass.readthedocs.io) for the
full documentation.

# Development
Create a virtual environment (e.g. via `python -m venv` or
[mamba/micromamba](https://mamba.readthedocs.io)). Install (development) dependencies and
`papass` in editable mode:

```shell
$ pip install -r requirements.txt -e .
```

Run unit tests via

```shell
$ pytest
```

Formatting and linting is done via [ruff](https://github.com/astral-sh/ruff).

```shell
$ ruff format
$ ruff check --fix
```

To build the docs install e.g. [make](https://www.gnu.org/software/make/) and do

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

