nanohakase


Namenanohakase JSON
Version 0.0.5 PyPI version JSON
download
home_pagehttps://github.com/jetstream0/nanopie
SummaryA python library to simplify sending and receiving Nano. Also a RPC wrapper. Self fork of bananopie.
upload_time2024-10-06 16:35:11
maintainerNone
docs_urlNone
authorJohn Doe
requires_python>=3.5
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Nanohakase

Nanohakase is a python library for the Nano cryptocurrency. It aims to be the simplest Nano library out there, and is a self fork of Bananopie (Nanopie was taken already).

## Installation

`pip install nanohakase`

Nanohakase is on [pypi](https://pypi.org/project/nanohakase/).

If you have trouble installing `nanohakase` because of the `ed25519-blake2b` dependency, try this:
(Linux Debian/Ubuntu example)
```
sudo apt-get install python3-dev
```
or it's equivalent for your OS.

# Quick Start

First, start with a `RPC` class, for read only 
```py
from nanohakase import *
rpc = RPC("https://proxy.nanos.cc/proxy")

#check current blockcount
print(rpc.get_block_count()["count"])

#get last 10 transactions
print(rpc.get_account_history("nano_3346kkobb11qqpo17imgiybmwrgibr7yi34mwn5j6uywyke8f7fnfp94uyps", count=10)["history"])

#check balance
print(raw_to_whole(int(rpc.get_account_balance("nano_3346kkobb11qqpo17imgiybmwrgibr7yi34mwn5j6uywyke8f7fnfp94uyps")["balance"])))
```

For sending/receiving transactions, use a `Wallet`.
```py
from nanohakase import RPC, Wallet
rpc = RPC("https://app.natrium.io/api")

my_account = Wallet(rpc, seed="seed here", index=0)

#or generate a new one
my_new_account = Wallet(rpc, index=0)

print(my_new_account.seed)

#get address of self
print(my_account.get_address())

#get balance of self
print(my_account.get_balance())

#send 1 nano to the faucet development fund
print(my_account.send("nano_3pdripjhteyymwjnaspc5nd96gyxgcdxcskiwwwoqxttnrncrxi974riid94", "1"))

#receive funds
my_account.receive_all()

#change rep
my_account.change_rep("nano_1kd4h9nqaxengni43xy9775gcag8ptw8ddjifnm77qes1efuoqikoqy5sjq3")

#change seed index
my_account.index = 2
```

Utility functions are also provided.
```py
import nanohakase

#whole to raw nano
print(nanohakase.whole_to_raw("492.2"))

#raw to whole nano
print(nanohakase.raw_to_whole(1900000000000000000000000000))
```

# Documentation

Also see the [Nano RPC docs](https://docs.nano.org/commands/rpc-protocol) for information on what rpc call wrapper functions return.

## RPC (Class)
**Parameters:**
- `rpc_url` (*str*): IP or URL of node
- `auth` (*str* or *bool*, Default: False): Optional HTTP Authorization header

Sample:
```py
rpc = RPC("https://proxy.nanos.cc/proxy")
```

**Properties:**
- `rpc_url` (*str*): IP or URL of node
- `auth` (*str* or *bool*): Optional HTTP Authorization header

**Methods:**

### call (Function)
RPC call. Intended for internal use, but useful for RPC calls that aren't directly implemented.

**Parameters:**
- `payload` (*dictionary*): Payload to send to node

Sample:
```py
rpc.call({"action": "block_count"})
```

**Returns:**
Response of RPC call (JSON dictionary)

### get_block_count (Function)
Get network block count.

**Parameters**
None

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#block_count)


### get_block_info (Function)
Get block info for hash.

**Parameters**
- `block` (*st*): Block hash

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#block_info)

### get_blocks (Function)
Get blocks.

**Parameters**
- `blocks` (*str list*): List of block hashes to get information on

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#blocks)

### get_blocks_info (Function)
Get blocks, with more detailed information.

**Parameters**
- `blocks` (*str list*): List of block hashes to get information on

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#blocks_info)

### get_representatives (Function)
Get list of network representatives and their weight

**Parameters**
None

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#representatives)

### get_representatives_online (Function)
Get list of network representatives that have recently voted

**Parameters**
None

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#representatives_online)

### get_account_history (Function)
Get account history (confirmed and received transaction list)

**Parameters**
- `account` (*str*): Address of account
- `count` (*int*, Default: -1): Optional parameter to specify amount of transactions to return. `-1` means all, or at least as much as the node will allow

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_history)

### get_account_info (Function)
Get account information, like height, frontier, balance, etc

**Parameters**
- `account` (*str*): Address of account

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_info)

### get_account_balance (Function)
Get account balance

**Parameters**
- `account` (*str*): Address of account

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_balance)

### get_account_representative (Function)
Get account representative

**Parameters**
- `account` (*str*): Address of account

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_representative)

### get_accounts_representatives (Function)
Get representatives of accounts

**Parameters**
- `account` (*str list*): List of addresses

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_representatives)

### get_account_weight (Function)
Get delegated weight of representative

**Parameters**
- `account` (*str*): Address of representative

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_weight)

### get_receivable (Function)
Get receivable transactions for account

**Parameters**
- `account` (*str*): Address of representative
- `count` (*int*, Default: 20): Optional parameter to specify max amount of receivable transactions to return
- `thereshold` (*int or bool*, Default: False): Optional parameter to filter out any receivable transactions with value less than the thereshold

**Returns:**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#receivable)

## Wallet (class)

**Parameters:**
- `rpc` (*RPC*): A RPC class
- `seed` (*str* or *bool*, Default: False): 64 character hex seed, if `False`, will generate a seed by itself. Private keys are derived from the seed.
- `index` (*int*, Default: 0): Optional parameter that is the index of the seed. Any number from 0 to 4294967295. Each index of the seed is a different private key, and so different address.

Sample:
```py
my_wallet = Wallet(RPC("https://proxy.nanos.cc/proxy"), "seed here", 0)
```

**Properties:**
- `rpc_url` (*str*): IP or URL of node
- `seed` (*str*): Nano seed (64 character hex string)
- `index` (*int*): Seed index. Change this property to change the wallet seed index.

**Methods**

### send_process (Function)
Internal use function to send a `process` RPC call

**Parameters**
- `block` (*dictionary*): block content
- `subtype` (*str*): Send, receive, or change

**Returns**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)

### send (Function)
High level function to send Nano

**Parameters**
- `to` (*str*): Address to send to
- `amount` (*str*): Amount of Nano to send (in whole, not raw)
- `work` (*str* or *bool*, Default: False): Leave it as False to ask node to generate work (passes `do_work`). Put in a work string if work generated locally

Sample:
```py
my_wallet = Wallet(RPC("https://app.natrium.io/api"), "seed here", 0)
my_account.send("nano_3pdripjhteyymwjnaspc5nd96gyxgcdxcskiwwwoqxttnrncrxi974riid94", "1")
```

**Returns**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)

### receive_specific (Function)
Receive a specific block

**Parameters**
- `hash` (*str*): Block hash to receive
- `work` (*str* or *bool*, Default: False): Leave it as False to ask node to generate work (passes `do_work`). Put in a work string if work generated locally

**Returns**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)

### receive_all (Function)
Receive all (technically, 20) receivable transactions

**Parameters**
None

Sample:
```py
my_wallet = Wallet(RPC("https://proxy.nanos.cc/proxy"), "seed here", 0)
my_account.receive_all()
```

**Returns**
Nothing

### change_rep (Function)
Change account representative

**Parameters**
- `new_representative` (*str*): Representative Nano address to change to
- `work` (*str* or *bool*, Default: False): Leave it as False to ask node to generate work (passes `do_work`). Put in a work string if work generated locally

Sample:
```py
my_wallet = Wallet(RPC("https://proxy.nanos.cc/proxy"), "seed here", 0)
my_account.change_rep("nano_1kd4h9nqaxengni43xy9775gcag8ptw8ddjifnm77qes1efuoqikoqy5sjq3")
```

**Returns**
See [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)

### get_address (Function)
Get address at current index of current seed

**Parameters**
None

**Returns**
*str*, Nano address

### get_balance (Function)
Double wrapped function to get balance of self (see `RPC`'s `get_account_balance`)

### get_receivable (Function)
Double wrapped function to get receivable blocks (see `RPC`'s `get_receivable`)

### get_representative (Function)
Double wrapped function to get representative of self (see `RPC`'s `get_account_representative`)

### get_account_info (Function)
Double wrapped function to get account info of self (see `RPC`'s `get_account_info`)

### generate_seed (static Function)
Generate a random seed using `os.urandom`

**Parameters**
None

Sample:
```py
print(Wallet.generate_seed())
```

**Returns**
64 character hex seed

## Util

**Properties**
- `NANO_DECIMALS` (*int*): Amount of decimals that Nano has (30)
- `PREAMBLE` (*str*): Hex string to prepend when signing

**Methods**

`encode_base32`, `decode_base32`, `bytes_to_hex`, `hex_to_bytes`, `random_bytes`, `get_private_key_from_seed`, `get_public_key_from_private_key`, `get_address_from_public_key`, `get_public_key_from_address`, `hash_block`, `sign` are internal use Functions that are currently undocumented. Look at `/nanohakase/util.py` to see what they do.

### whole_to_raw (Function)
Converts whole Nano to raw Nano

**Parameters**
- `whole` (*str*): Whole amount of Nano

**Returns**
*int*, that is raw amount of Nano

### raw_to_whole (Function)
Converts raw Nano to whole Nano (Cuts off at 2 decimal places)

**Parameters**
- `raw` (*int*): Raw amount of Nano

**Returns**
*int*, that is whole amount of Nano

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jetstream0/nanopie",
    "name": "nanohakase",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": null,
    "keywords": null,
    "author": "John Doe",
    "author_email": "prussia@prussia.dev",
    "download_url": "https://files.pythonhosted.org/packages/2f/26/a15f6b3cc9c588b5380235f556be60d80c2575e3d994702ce2f6fec2ceea/nanohakase-0.0.5.tar.gz",
    "platform": null,
    "description": "# Nanohakase\n\nNanohakase is a python library for the Nano cryptocurrency. It aims to be the simplest Nano library out there, and is a self fork of Bananopie (Nanopie was taken already).\n\n## Installation\n\n`pip install nanohakase`\n\nNanohakase is on [pypi](https://pypi.org/project/nanohakase/).\n\nIf you have trouble installing `nanohakase` because of the `ed25519-blake2b` dependency, try this:\n(Linux Debian/Ubuntu example)\n```\nsudo apt-get install python3-dev\n```\nor it's equivalent for your OS.\n\n# Quick Start\n\nFirst, start with a `RPC` class, for read only \n```py\nfrom nanohakase import *\nrpc = RPC(\"https://proxy.nanos.cc/proxy\")\n\n#check current blockcount\nprint(rpc.get_block_count()[\"count\"])\n\n#get last 10 transactions\nprint(rpc.get_account_history(\"nano_3346kkobb11qqpo17imgiybmwrgibr7yi34mwn5j6uywyke8f7fnfp94uyps\", count=10)[\"history\"])\n\n#check balance\nprint(raw_to_whole(int(rpc.get_account_balance(\"nano_3346kkobb11qqpo17imgiybmwrgibr7yi34mwn5j6uywyke8f7fnfp94uyps\")[\"balance\"])))\n```\n\nFor sending/receiving transactions, use a `Wallet`.\n```py\nfrom nanohakase import RPC, Wallet\nrpc = RPC(\"https://app.natrium.io/api\")\n\nmy_account = Wallet(rpc, seed=\"seed here\", index=0)\n\n#or generate a new one\nmy_new_account = Wallet(rpc, index=0)\n\nprint(my_new_account.seed)\n\n#get address of self\nprint(my_account.get_address())\n\n#get balance of self\nprint(my_account.get_balance())\n\n#send 1 nano to the faucet development fund\nprint(my_account.send(\"nano_3pdripjhteyymwjnaspc5nd96gyxgcdxcskiwwwoqxttnrncrxi974riid94\", \"1\"))\n\n#receive funds\nmy_account.receive_all()\n\n#change rep\nmy_account.change_rep(\"nano_1kd4h9nqaxengni43xy9775gcag8ptw8ddjifnm77qes1efuoqikoqy5sjq3\")\n\n#change seed index\nmy_account.index = 2\n```\n\nUtility functions are also provided.\n```py\nimport nanohakase\n\n#whole to raw nano\nprint(nanohakase.whole_to_raw(\"492.2\"))\n\n#raw to whole nano\nprint(nanohakase.raw_to_whole(1900000000000000000000000000))\n```\n\n# Documentation\n\nAlso see the [Nano RPC docs](https://docs.nano.org/commands/rpc-protocol) for information on what rpc call wrapper functions return.\n\n## RPC (Class)\n**Parameters:**\n- `rpc_url` (*str*): IP or URL of node\n- `auth` (*str* or *bool*, Default: False): Optional HTTP Authorization header\n\nSample:\n```py\nrpc = RPC(\"https://proxy.nanos.cc/proxy\")\n```\n\n**Properties:**\n- `rpc_url` (*str*): IP or URL of node\n- `auth` (*str* or *bool*): Optional HTTP Authorization header\n\n**Methods:**\n\n### call (Function)\nRPC call. Intended for internal use, but useful for RPC calls that aren't directly implemented.\n\n**Parameters:**\n- `payload` (*dictionary*): Payload to send to node\n\nSample:\n```py\nrpc.call({\"action\": \"block_count\"})\n```\n\n**Returns:**\nResponse of RPC call (JSON dictionary)\n\n### get_block_count (Function)\nGet network block count.\n\n**Parameters**\nNone\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#block_count)\n\n\n### get_block_info (Function)\nGet block info for hash.\n\n**Parameters**\n- `block` (*st*): Block hash\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#block_info)\n\n### get_blocks (Function)\nGet blocks.\n\n**Parameters**\n- `blocks` (*str list*): List of block hashes to get information on\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#blocks)\n\n### get_blocks_info (Function)\nGet blocks, with more detailed information.\n\n**Parameters**\n- `blocks` (*str list*): List of block hashes to get information on\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#blocks_info)\n\n### get_representatives (Function)\nGet list of network representatives and their weight\n\n**Parameters**\nNone\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#representatives)\n\n### get_representatives_online (Function)\nGet list of network representatives that have recently voted\n\n**Parameters**\nNone\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#representatives_online)\n\n### get_account_history (Function)\nGet account history (confirmed and received transaction list)\n\n**Parameters**\n- `account` (*str*): Address of account\n- `count` (*int*, Default: -1): Optional parameter to specify amount of transactions to return. `-1` means all, or at least as much as the node will allow\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_history)\n\n### get_account_info (Function)\nGet account information, like height, frontier, balance, etc\n\n**Parameters**\n- `account` (*str*): Address of account\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_info)\n\n### get_account_balance (Function)\nGet account balance\n\n**Parameters**\n- `account` (*str*): Address of account\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_balance)\n\n### get_account_representative (Function)\nGet account representative\n\n**Parameters**\n- `account` (*str*): Address of account\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_representative)\n\n### get_accounts_representatives (Function)\nGet representatives of accounts\n\n**Parameters**\n- `account` (*str list*): List of addresses\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_representatives)\n\n### get_account_weight (Function)\nGet delegated weight of representative\n\n**Parameters**\n- `account` (*str*): Address of representative\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#account_weight)\n\n### get_receivable (Function)\nGet receivable transactions for account\n\n**Parameters**\n- `account` (*str*): Address of representative\n- `count` (*int*, Default: 20): Optional parameter to specify max amount of receivable transactions to return\n- `thereshold` (*int or bool*, Default: False): Optional parameter to filter out any receivable transactions with value less than the thereshold\n\n**Returns:**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#receivable)\n\n## Wallet (class)\n\n**Parameters:**\n- `rpc` (*RPC*): A RPC class\n- `seed` (*str* or *bool*, Default: False): 64 character hex seed, if `False`, will generate a seed by itself. Private keys are derived from the seed.\n- `index` (*int*, Default: 0): Optional parameter that is the index of the seed. Any number from 0 to 4294967295. Each index of the seed is a different private key, and so different address.\n\nSample:\n```py\nmy_wallet = Wallet(RPC(\"https://proxy.nanos.cc/proxy\"), \"seed here\", 0)\n```\n\n**Properties:**\n- `rpc_url` (*str*): IP or URL of node\n- `seed` (*str*): Nano seed (64 character hex string)\n- `index` (*int*): Seed index. Change this property to change the wallet seed index.\n\n**Methods**\n\n### send_process (Function)\nInternal use function to send a `process` RPC call\n\n**Parameters**\n- `block` (*dictionary*): block content\n- `subtype` (*str*): Send, receive, or change\n\n**Returns**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)\n\n### send (Function)\nHigh level function to send Nano\n\n**Parameters**\n- `to` (*str*): Address to send to\n- `amount` (*str*): Amount of Nano to send (in whole, not raw)\n- `work` (*str* or *bool*, Default: False): Leave it as False to ask node to generate work (passes `do_work`). Put in a work string if work generated locally\n\nSample:\n```py\nmy_wallet = Wallet(RPC(\"https://app.natrium.io/api\"), \"seed here\", 0)\nmy_account.send(\"nano_3pdripjhteyymwjnaspc5nd96gyxgcdxcskiwwwoqxttnrncrxi974riid94\", \"1\")\n```\n\n**Returns**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)\n\n### receive_specific (Function)\nReceive a specific block\n\n**Parameters**\n- `hash` (*str*): Block hash to receive\n- `work` (*str* or *bool*, Default: False): Leave it as False to ask node to generate work (passes `do_work`). Put in a work string if work generated locally\n\n**Returns**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)\n\n### receive_all (Function)\nReceive all (technically, 20) receivable transactions\n\n**Parameters**\nNone\n\nSample:\n```py\nmy_wallet = Wallet(RPC(\"https://proxy.nanos.cc/proxy\"), \"seed here\", 0)\nmy_account.receive_all()\n```\n\n**Returns**\nNothing\n\n### change_rep (Function)\nChange account representative\n\n**Parameters**\n- `new_representative` (*str*): Representative Nano address to change to\n- `work` (*str* or *bool*, Default: False): Leave it as False to ask node to generate work (passes `do_work`). Put in a work string if work generated locally\n\nSample:\n```py\nmy_wallet = Wallet(RPC(\"https://proxy.nanos.cc/proxy\"), \"seed here\", 0)\nmy_account.change_rep(\"nano_1kd4h9nqaxengni43xy9775gcag8ptw8ddjifnm77qes1efuoqikoqy5sjq3\")\n```\n\n**Returns**\nSee [Nano RPC Docs](https://docs.nano.org/commands/rpc-protocol/#process)\n\n### get_address (Function)\nGet address at current index of current seed\n\n**Parameters**\nNone\n\n**Returns**\n*str*, Nano address\n\n### get_balance (Function)\nDouble wrapped function to get balance of self (see `RPC`'s `get_account_balance`)\n\n### get_receivable (Function)\nDouble wrapped function to get receivable blocks (see `RPC`'s `get_receivable`)\n\n### get_representative (Function)\nDouble wrapped function to get representative of self (see `RPC`'s `get_account_representative`)\n\n### get_account_info (Function)\nDouble wrapped function to get account info of self (see `RPC`'s `get_account_info`)\n\n### generate_seed (static Function)\nGenerate a random seed using `os.urandom`\n\n**Parameters**\nNone\n\nSample:\n```py\nprint(Wallet.generate_seed())\n```\n\n**Returns**\n64 character hex seed\n\n## Util\n\n**Properties**\n- `NANO_DECIMALS` (*int*): Amount of decimals that Nano has (30)\n- `PREAMBLE` (*str*): Hex string to prepend when signing\n\n**Methods**\n\n`encode_base32`, `decode_base32`, `bytes_to_hex`, `hex_to_bytes`, `random_bytes`, `get_private_key_from_seed`, `get_public_key_from_private_key`, `get_address_from_public_key`, `get_public_key_from_address`, `hash_block`, `sign` are internal use Functions that are currently undocumented. Look at `/nanohakase/util.py` to see what they do.\n\n### whole_to_raw (Function)\nConverts whole Nano to raw Nano\n\n**Parameters**\n- `whole` (*str*): Whole amount of Nano\n\n**Returns**\n*int*, that is raw amount of Nano\n\n### raw_to_whole (Function)\nConverts raw Nano to whole Nano (Cuts off at 2 decimal places)\n\n**Parameters**\n- `raw` (*int*): Raw amount of Nano\n\n**Returns**\n*int*, that is whole amount of Nano\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A python library to simplify sending and receiving Nano. Also a RPC wrapper. Self fork of bananopie.",
    "version": "0.0.5",
    "project_urls": {
        "Homepage": "https://github.com/jetstream0/nanopie"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d711949f95a8714b7f817da5139d181ead75c09a7b09bf23116c63a9b7f653b2",
                "md5": "c851c7f16db4d332e59cff4b5000222e",
                "sha256": "117e9c28b2d57f75e52057c5c172d9197acc703b47181174507dbcdfb562a4df"
            },
            "downloads": -1,
            "filename": "nanohakase-0.0.5-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "c851c7f16db4d332e59cff4b5000222e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 8819,
            "upload_time": "2024-10-06T16:35:08",
            "upload_time_iso_8601": "2024-10-06T16:35:08.670478Z",
            "url": "https://files.pythonhosted.org/packages/d7/11/949f95a8714b7f817da5139d181ead75c09a7b09bf23116c63a9b7f653b2/nanohakase-0.0.5-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2f26a15f6b3cc9c588b5380235f556be60d80c2575e3d994702ce2f6fec2ceea",
                "md5": "88ede0b46689a6afe0435e4a9ec0b375",
                "sha256": "5dfbeb52db3700098e1437e139bfb1b202bc4ad28e3b69565632cc4a180e9c49"
            },
            "downloads": -1,
            "filename": "nanohakase-0.0.5.tar.gz",
            "has_sig": false,
            "md5_digest": "88ede0b46689a6afe0435e4a9ec0b375",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 10445,
            "upload_time": "2024-10-06T16:35:11",
            "upload_time_iso_8601": "2024-10-06T16:35:11.259705Z",
            "url": "https://files.pythonhosted.org/packages/2f/26/a15f6b3cc9c588b5380235f556be60d80c2575e3d994702ce2f6fec2ceea/nanohakase-0.0.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-06 16:35:11",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jetstream0",
    "github_project": "nanopie",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "nanohakase"
}
        
Elapsed time: 0.77198s