Metadata-Version: 2.1
Name: boltlib
Version: 0.1.0
Summary: Bitcoin Lightning BoltCard (NTAG 424 DNA) Read/Write library
Home-page: https://github.com/titusz/boltlib
License: Apache-2.0
Keywords: bitcoin,lightning,boltcard,nfc,contactless
Author: Titusz
Author-email: tp@py7.de
Requires-Python: >=3.8,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: License :: OSI Approved :: GNU Lesser General Public License v2 (LGPLv2)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: System :: Hardware :: Universal Serial Bus (USB) :: Smart Card
Requires-Dist: click (>=8.1,<9.0)
Requires-Dist: loguru (>=0.6,<0.7)
Requires-Dist: ndeflib (>=0.3,<0.4)
Requires-Dist: pyscard (>=2.0,<3.0)
Project-URL: Bug Tracker, https://github.com/titusz/boltlib/issues
Project-URL: Repository, https://github.com/titusz/boltlib
Description-Content-Type: text/markdown

# boltlib - Bitcoin Lightning BoltCard library

[![Tests](https://github.com/titusz/boltlib/actions/workflows/tests.yml/badge.svg)](https://github.com/titusz/boltlib/actions/workflows/tests.yml)

`boltlib` is a Python library and command line tool for easy reading and writing of
[BoltCards](https://boltcard.org) based on [pyscard](https://github.com/LudovicRousseau/pyscard)

## Requirements

- [Python 3.8](https://www.python.org/) or higher.
- Smart Card Reader (USB CCID class-compliant)

Tested with `Identiv uTrust 3700F` but should work with others like for example `ACS ACR1252U` or
`HID Omnikey 5022 CL`.

> **Note**: On Ubuntu/Debian run `sudo apt-get install libpcsclite-dev swig` before installation.

## Installation

```shell
$ pip install boltlib
```

## Command line usage

```shell
$ boltcard
Usage: boltcard [OPTIONS] COMMAND [ARGS]...

Options:
  --version     Show the version and exit.
  -s, --silent  Silence debug output.
  --help        Show this message and exit.

Commands:
  read   Read BoltCard UID and URI
  write  Write URI to BoltCard (unprovisioned only)
```

## Library usage

```python
import boltlib
uri = boltlib.read_uri()
print(uri)
```

## Development

### Requirements
- [Python 3.8](https://www.python.org/) or higher.
- [Poetry](https://python-poetry.org/) for installation and dependency management.

### Setup

```shell
git clone https://github.com/titusz/boltlib.git
cd boltlib
poetry install
```

### Run Tasks

Before committing changes run code formatting and tests with:

```shell
poe all
```



