nanolib
=======
[![image](https://img.shields.io/pypi/v/nanolib.svg)](https://pypi.org/project/nanolib/)
[![codecov](https://codecov.io/gh/Matoking/nanolib/branch/master/graph/badge.svg)](https://codecov.io/gh/Matoking/nanolib)
[![Build Status](https://travis-ci.com/Matoking/nanolib.png?branch=master)](https://travis-ci.com/Matoking/nanolib)
[![image](https://readthedocs.org/projects/nanolib/badge/?version=latest)](https://nanolib.readthedocs.io/en/latest/?badge=latest)
A set of tools for handling functions related to the NANO cryptocurrency protocol.
Features
========
* Solve and verify proof-of-work
* Create and deserialize legacy and universal blocks
* Account generation from seed using the same algorithm as the original NANO wallet and NanoVault
* Functions for converting between different NANO denominations
* High performance cryptographic operations using C extensions (signing and verifying blocks, and generating block proof-of-work)
* Proof-of-work generation supports SSE2, SSSE3, SSE4.1, AVX and NEON instruction sets for improved performance. The best supported implementation is selected at runtime with a fallback implementation with universal compatibility.
* Backed by automated tests
* Compatible with Python 3.6 and up
* Licensed under the very permissive *Creative Commons Zero* license
Installation
============
You can install the library using pip:
```
pip install nanolib
```
nanolib requires a working build environment for the C extensions. For example, on Debian-based distros you can install the required Python header files and a C compiler using the following command:
```
apt install build-essential python3-dev
```
Documentation
=============
An online copy of the documentation can be found at [Read the Docs](https://nanolib.readthedocs.io/en/latest/).
You can also build the documentation yourself by running `python setup.py build_sphinx`.
Commands
========
The `setup.py` script comes with a few additional commands besides installation:
* `build_sphinx`
* Build the documentation in `build/sphinx/html`.
* `test`
* Run tests using pytest
* `speed`
* Run a benchmark testing the performance of various cryptographic operations used in the library.
Donations
=========
**xrb_33psgb1exxuftgjthbz4tsgzm5qmyzawrfzptpmp3nwzousbypqf6bcmrk69**
Raw data
{
"_id": null,
"home_page": "https://github.com/Matoking/nanolib",
"name": "nanolib",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": "",
"keywords": "",
"author": "Janne Pulkkinen",
"author_email": "jannepulk@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/37/f7/503af38530733d70df2601fe229501a274182a92caa96f06f30dffa0ef12/nanolib-0.4.3.tar.gz",
"platform": "",
"description": "nanolib\n=======\n\n[![image](https://img.shields.io/pypi/v/nanolib.svg)](https://pypi.org/project/nanolib/)\n[![codecov](https://codecov.io/gh/Matoking/nanolib/branch/master/graph/badge.svg)](https://codecov.io/gh/Matoking/nanolib)\n[![Build Status](https://travis-ci.com/Matoking/nanolib.png?branch=master)](https://travis-ci.com/Matoking/nanolib)\n[![image](https://readthedocs.org/projects/nanolib/badge/?version=latest)](https://nanolib.readthedocs.io/en/latest/?badge=latest)\n\n\nA set of tools for handling functions related to the NANO cryptocurrency protocol.\n\nFeatures\n========\n* Solve and verify proof-of-work\n* Create and deserialize legacy and universal blocks\n* Account generation from seed using the same algorithm as the original NANO wallet and NanoVault\n* Functions for converting between different NANO denominations\n* High performance cryptographic operations using C extensions (signing and verifying blocks, and generating block proof-of-work)\n * Proof-of-work generation supports SSE2, SSSE3, SSE4.1, AVX and NEON instruction sets for improved performance. The best supported implementation is selected at runtime with a fallback implementation with universal compatibility.\n* Backed by automated tests\n* Compatible with Python 3.6 and up\n* Licensed under the very permissive *Creative Commons Zero* license\n\nInstallation\n============\n\nYou can install the library using pip:\n\n```\npip install nanolib\n```\n\nnanolib requires a working build environment for the C extensions. For example, on Debian-based distros you can install the required Python header files and a C compiler using the following command:\n\n```\napt install build-essential python3-dev\n```\n\nDocumentation\n=============\n\nAn online copy of the documentation can be found at [Read the Docs](https://nanolib.readthedocs.io/en/latest/).\n\nYou can also build the documentation yourself by running `python setup.py build_sphinx`.\n\nCommands\n========\n\nThe `setup.py` script comes with a few additional commands besides installation:\n\n* `build_sphinx`\n * Build the documentation in `build/sphinx/html`.\n* `test`\n * Run tests using pytest\n* `speed`\n * Run a benchmark testing the performance of various cryptographic operations used in the library.\n\nDonations\n=========\n\n**xrb_33psgb1exxuftgjthbz4tsgzm5qmyzawrfzptpmp3nwzousbypqf6bcmrk69**",
"bugtrack_url": null,
"license": "CC0",
"summary": "Python library for working with the NANO cryptocurrency protocol",
"version": "0.4.3",
"project_urls": {
"Homepage": "https://github.com/Matoking/nanolib"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "37f7503af38530733d70df2601fe229501a274182a92caa96f06f30dffa0ef12",
"md5": "2f569a32bba880a07edbe182ea6f3f45",
"sha256": "2cfa0888989522341cfabc6047640e9452635e36c5adae6ca40c8d1bacfdeb46"
},
"downloads": -1,
"filename": "nanolib-0.4.3.tar.gz",
"has_sig": false,
"md5_digest": "2f569a32bba880a07edbe182ea6f3f45",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 930973,
"upload_time": "2021-04-04T12:11:59",
"upload_time_iso_8601": "2021-04-04T12:11:59.551119Z",
"url": "https://files.pythonhosted.org/packages/37/f7/503af38530733d70df2601fe229501a274182a92caa96f06f30dffa0ef12/nanolib-0.4.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2021-04-04 12:11:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Matoking",
"github_project": "nanolib",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"tox": true,
"lcname": "nanolib"
}