Metadata-Version: 2.1
Name: nem-py
Version: 0.0.4.dev0
Summary: High-level wrapper for working with cryptocurrencies of the NEM ecosystem
Home-page: https://github.com/DENjjA/nempy
Author: Denys Shcheglov
Author-email: ikuzen@gmail.com
License: UNKNOWN
Project-URL: Bug Tracker, https://github.com/DENjjA/nempy/issues
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: bcrypt (==3.2.0)
Requires-Dist: bip-utils (==1.11.1)
Requires-Dist: blessed (==1.17.6)
Requires-Dist: catbuffer (==1.0.0)
Requires-Dist: certifi (==2021.5.30)
Requires-Dist: cffi (==1.14.6)
Requires-Dist: charset-normalizer (==2.0.4)
Requires-Dist: click (==7.1.2)
Requires-Dist: cryptography (==3.4.6)
Requires-Dist: ecdsa (==0.17.0)
Requires-Dist: idna (==3.2)
Requires-Dist: inquirer (==2.7.0)
Requires-Dist: mnemonic (==0.19)
Requires-Dist: nose (==1.3.7)
Requires-Dist: password-strength (==0.0.3.post2)
Requires-Dist: pillow (==8.1.1)
Requires-Dist: pycparser (==2.20)
Requires-Dist: pycryptodome (==3.10.1)
Requires-Dist: pycryptodomex (==3.10.1)
Requires-Dist: pydantic (==1.8.2)
Requires-Dist: pyfiglet (==0.7.6)
Requires-Dist: pysha3 (==1.0.2)
Requires-Dist: python-editor (==1.0.4)
Requires-Dist: pyyaml (==5.4.1)
Requires-Dist: pyzbar (==0.1.8)
Requires-Dist: qrcode (==6.1)
Requires-Dist: readchar (==2.0.1)
Requires-Dist: requests (==2.26.0)
Requires-Dist: six (==1.16.0)
Requires-Dist: stdiomask (==0.0.6)
Requires-Dist: symbol-sdk-core-python (==1.0.1)
Requires-Dist: tabulate (==0.8.9)
Requires-Dist: typing-extensions (==3.10.0.0)
Requires-Dist: urllib3 (==1.26.6)
Requires-Dist: wcwidth (==0.2.5)
Requires-Dist: websockets (==9.1)

# NEMpy

[![tests](https://github.com/denjas/nempy/actions/workflows/tests.yml/badge.svg)](https://github.com/denjas/nempy/actions/workflows/tests.yml)
[![build](https://github.com/denjas/nempy/actions/workflows/build.yml/badge.svg)](https://github.com/denjas/nempy/actions/workflows/build.yml)
[![python-ver](https://github.com/denjas/nempy/blob/dev/.github/badges/python-version.svg)](https://www.python.org/)
[![license](https://github.com/denjas/nempy/blob/dev/.github/badges/license.svg)](https://github.com/nempy/nempy/blob/dev/LICENSE)
![badge](https://img.shields.io/endpoint?url=https://gist.githubusercontent.com/denjas/9c7a615b3b16ced41d8530c7535ca131/raw/coverage.json)



High-level python wrapper for working with cryptocurrencies of the NEM ecosystem

Implemented on the basis symbol project [core sdk python library](https://github.com/symbol/symbol-sdk-core-python)
## Possibilities
* Creating a wallet with profiles and accounts
* Using a wallet to send funds view activity history and balance
* Blockchain [monitoring](https://docs.symbolplatform.com/api.html#websockets) via [websocket](https://ru.wikipedia.org/wiki/WebSocket)
* Ability to use all the above in third-party products and services

## Getting Started

This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.

### Prerequisites

For convenient work with the project, you will need [pipenv tool](https://pypi.org/project/pipenv/).
  ```shell
  pip install pipenv
  ```

# Installing
Install and update using pip:
  ```shell
  pip install nempy
  ```
## A Simple Example

**_Attention!_**

The example below is intended to demonstrate ease of use, but it is **_not secure_**! Use this code only on the `NetworkType.TEST_NET`
```python
from nempy.user_data import AccountData
from nempy.engine import XYMEngine
from nempy.sym.network import NetworkType
from nempy.sym.constants import Fees

PRIVATE_KEY = '<YOUR_PRIVATE_KEY>'
PASSWORD = '<YOUR_PASS>'
account = AccountData.create(PRIVATE_KEY, NetworkType.TEST_NET).encrypt(PASSWORD)

engine = XYMEngine(account)
entity_hash, status = engine.send_tokens(recipient_address='TDPFLBK4NSCKUBGAZDWQWCUFNJOJB33Y5R5AWPQ',
                                         mosaics=[('@symbol.xym', 0.1), ],
                                         message='Hallo NEM!',
                                         password=PASSWORD,
                                         fee_type=Fees.SLOWEST)
print(status.name, status.value)
```
You can get funds for the balance for testing in the [Faucet](http://faucet.testnet.symboldev.network/).

Additional [documentation](https://denjas.github.io/nempy/) can be found [here](https://denjas.github.io/nempy/)
## Command-line interface (CLI)
You can get acquainted with the capabilities of the CLI interface [here](https://github.com/denjas/nempy/blob/dev/docs/cli.md)

## Working with [pipenv](https://pipenv.pypa.io/) environment
1. Clone the repository `git clone https://github.com/denjas/nempy.git`
2. Go to the directory with the project `cd nempy`
3. Install virtualenv package `pip install pipenv`
4. Setting up a virtual environment `pipenv install`
### Running CLI utility
```shell
pipenv run nempy-cli.py
```
### For development
To set up development in a virtual environment. Follow the previous steps then:
```shell
pipenv run pip inasall -e .
```

### Testing
Follow the previous steps to set up your environment.

Running tests `pipenv run tests` or `pipenv run tests --cov=src` to assess coverage

## Version Numbers
Version numbers will be assigned according to the [Semantic Versioning](https://semver.org/) scheme.
This means, given a version number MAJOR.MINOR.PATCH, we will increment the:

1. MAJOR version when we make incompatible API changes,
2. MINOR version when we add functionality in a backwards compatible manner, and
3. PATCH version when we make backwards compatible bug fixes.


