# 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)
[![Version](https://img.shields.io/pypi/v/boltlib.svg)](https://pypi.python.org/pypi/boltlib/)
[![Downloads](https://pepy.tech/badge/boltlib)](https://pepy.tech/project/boltlib)
`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
```
Raw data
{
"_id": null,
"home_page": "https://github.com/titusz/boltlib",
"name": "boltlib",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "bitcoin,lightning,boltcard,nfc,contactless",
"author": "Titusz",
"author_email": "tp@py7.de",
"download_url": "https://files.pythonhosted.org/packages/aa/9f/b1390923eb97071dbdcfc7f01e883cca1c19e331498c5b3ed994a3424c76/boltlib-0.2.0.tar.gz",
"platform": null,
"description": "# boltlib - Bitcoin Lightning BoltCard library\n\n[![Tests](https://github.com/titusz/boltlib/actions/workflows/tests.yml/badge.svg)](https://github.com/titusz/boltlib/actions/workflows/tests.yml)\n[![Version](https://img.shields.io/pypi/v/boltlib.svg)](https://pypi.python.org/pypi/boltlib/)\n[![Downloads](https://pepy.tech/badge/boltlib)](https://pepy.tech/project/boltlib)\n\n`boltlib` is a Python library and command line tool for easy reading and writing of\n[BoltCards](https://boltcard.org) based on [pyscard](https://github.com/LudovicRousseau/pyscard)\n\n## Requirements\n\n- [Python 3.8](https://www.python.org/) or higher.\n- Smart Card Reader (USB CCID class-compliant)\n\nTested with `Identiv uTrust 3700F` but should work with others like for example `ACS ACR1252U` or\n`HID Omnikey 5022 CL`.\n\n> **Note**: On Ubuntu/Debian run `sudo apt-get install libpcsclite-dev swig` before installation.\n\n## Installation\n\n```shell\n$ pip install boltlib\n```\n\n## Command line usage\n\n```shell\n$ boltcard\nUsage: boltcard [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n --version Show the version and exit.\n -s, --silent Silence debug output.\n --help Show this message and exit.\n\nCommands:\n read Read BoltCard UID and URI\n write Write URI to BoltCard (unprovisioned only)\n```\n\n## Library usage\n\n```python\nimport boltlib\nuri = boltlib.read_uri()\nprint(uri)\n```\n\n## Development\n\n### Requirements\n- [Python 3.8](https://www.python.org/) or higher.\n- [Poetry](https://python-poetry.org/) for installation and dependency management.\n\n### Setup\n\n```shell\ngit clone https://github.com/titusz/boltlib.git\ncd boltlib\npoetry install\n```\n\n### Run Tasks\n\nBefore committing changes run code formatting and tests with:\n\n```shell\npoe all\n```\n\n\n",
"bugtrack_url": null,
"license": "LGPL-2.1-only",
"summary": "Bitcoin Lightning BoltCard (NTAG 424 DNA) Read/Write library",
"version": "0.2.0",
"split_keywords": [
"bitcoin",
"lightning",
"boltcard",
"nfc",
"contactless"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "aa9fb1390923eb97071dbdcfc7f01e883cca1c19e331498c5b3ed994a3424c76",
"md5": "4df354a5822ac18cdfa489935cbb5203",
"sha256": "9e91cda7bcfcf1f50f6d4bed3017f1af66b0bda8caffced6cf0c6c495b1fa2c2"
},
"downloads": -1,
"filename": "boltlib-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "4df354a5822ac18cdfa489935cbb5203",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 14305,
"upload_time": "2023-01-04T16:40:30",
"upload_time_iso_8601": "2023-01-04T16:40:30.870555Z",
"url": "https://files.pythonhosted.org/packages/aa/9f/b1390923eb97071dbdcfc7f01e883cca1c19e331498c5b3ed994a3424c76/boltlib-0.2.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-01-04 16:40:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "titusz",
"github_project": "boltlib",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "boltlib"
}