Skip to main content

QubiPy, a Python Library for the QUBIC RPC API

Project description

QubiPy, a Python Library for the QUBIC RPC API

Currently, QubiPy is in a very early development phase, so please take this into consideration before using the library.

Please visit the Change log to see all changes.

release python Python Package Code Quality license dependabot

Important notice

QubiPy is in beta phase and may change considerably until the stable version. Keep this in mind when using the library.

Documentation

To learn more about QubiPy and its complete use, please visit our official documentation.

Requirements

To install the necessary dependencies, run this command in the console :

$ pip install -r requirements.txt

How to use

You have two ways to use QubiPy, one is by PyPi or by cloning the project from the official repository.

To use the module, it is necessary to import some classes before :

from qubipy.rpc import rpc_client
from qubipy.core import core_client

Let's request tick info from the RPC for example :

RPC = rpc_client.QubiPy_RPC()
print(RPC.get_tick_info())

Response :

$ {
  "tick": 16660254,
  "duration": 1,
  "epoch": 131,
  "initialTick": 16640000
}

Let's request the entity info from the core :

CORE = core_client.QubiPy_Core()
print(CORE.get_entity_info('PEKBRHZQKMGCQBTAHXHZRXQRLBACJIHAGWHMPIJTZBWIJVTIWQOVMGJDTPFO'))

Reponse :

$ {
  "entity": {
    "id": "PEKBRHZQKMGCQBTAHXHZRXQRLBACJIHAGWHMPIJTZBWIJVTIWQOVMGJDTPFO",
    "incomingAmount": "113653127220",
    "outgoingAmount": "80838490981",
    "numberOfIncomingTransfers": 824156,
    "numberOfOutgoingTransfers": 422,
    "latestIncomingTransferTick": 16613012,
    "latestOutgoingTransferTick": 16613029
  },
  "validForTick": 16660147,
  "spectrumIndex": 7434551,
  "siblingIds": [
    "GIDNABDPPDFPECDPYUQZEBZONVJAXCTRQXRGHCLPNAOMEAHMULYQBQQEZRBE",
    "WUTXDWZRYSBHOEHBZSVCWIRXSAPAZFMZSJFHOGDTIAYOPAIKGUNGIOLEVFVO",
    "NZUUNSQJEAXQAACZVEGHEHDNQRLDZRHXDJKCJLCXODFQQJTHGCMIRZDFAXBD",
    "HFSHRQUTQONGFDTXKPPAGHEMJSHBLTWVQKZMKVGYYEDSTPBIRBTMHSRCUKUO",
    "PGXXITTPEGARXGSHDTBVFYRVBXFHZBXPIQQNBQKJHEGXZGDTTCYGITFGSKBG",
    "EFEDDOBGUVASHBTCYRCUZOXQTLUDMKMCEYFHDLETIFAUDPLYOZYQUPEBAXGC",
    "DNYAQMGQRFCUMBUCEIFRNYSCYUXDWNWTTLFQQFDCEBVCTOWGLVXLCNBESPJE",
    "MSWZOKQKAWZUECKOEWOPMNUBSQSDAHTHYIFMSYRRKBZSJJLHLECBOUUDNNHO",
    "RGHPZOHWBHKIICUGBENRQPKDJHJDLIFKETGMKMPMTAJGRTPIOKCPETRDPBME",
    "CADVHWJMDNOJJGPDAVPYOUNDPWEABLSDLPGHCWJWGDFTYIVFBAZIBTDBQKVL",
    "AEMCJNNWDXBRSFEZVXAHFDPLNBJHMMMDBLKPVETCQFCZFJWEVEEXANUBUMCM",
    "BTOZFRHDVNYUVAMHNBBZJTNMCVZBORRPFNQIZZPRDEMHIFPWTFSARQVBMATC",
    "SHWFJGOAMBUIJDDSKCWAMOIWBNJHUUDHRDDHRBORSDCCSJLSSCDGXOKCVWMB",
    "XTOYTMZTUTPPVGBWYCVIFDVMLLWFIMXRZKOGUHJLADMIKLZTIPQJPLKCGVUB",
    "ZVBYCOZKUMZRTBIAYVWUTWUGYNQEPASOMENYCCERUDCYFHKMIQDLCVNCZCVA",
    "GHGNSBIOBLCIRGBBEKQZOSTKXJGHXWUYVNLRCTSBUENITLCSDIBNSDBBITQL",
    "PKFLHUYXWAELGGXBXTRRASNCQZSEDURLIUXKEDHTYFAIASIPPTSBVYMCQTWB",
    "OCOVEQIPGTUPIBAYGYDOSAWXWIGBKDBVKIFARQSHWAUUYSYVLKZITMZCMHCI",
    "NAPHRLGCLNNKVERLZDIGIFADQSLAZYUULTBAGCDYEEDSBFZGCCLXZXDGSBKK",
    "IGIZMDVOTFEJTFXHXURCUXNOSCDFJJJHTTTSRGABECNPKMJFZQTTEKOBSDFH",
    "OHEMQVDLSQLQQAVHTYOKFPZUOHIBNBWJITCHETOBUAAPWWFSYACPPSMEHSEE",
    "LPJMDKCKOOYGBFAEXDRZCALQUIIALWMHFSAEJUUBKBQXRPDYCXEXKMYDDJIO",
    "HGDFFPYTXOKSMGYMXPFEPLCQXXLDRULLJEIAYOVZBFABJIYZHVNSLRAENXUG",
    "ZQLSECAGXOUHNEFFBATFQIBYAYYDECSPKVHNGGJIPEGNSIUWNORASTNAUFYL"
  ]
}

Technical notes

This library is using crypto.dll which is a C extension of Qubic key utility functions and bind it to Python. To build this crypto.dll, this repository was used: https://github.com/serendipity-seeker/key-utils-binding.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qubipy-0.3.0.tar.gz (256.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

QubiPy-0.3.0-py3-none-any.whl (257.9 kB view details)

Uploaded Python 3

File details

Details for the file qubipy-0.3.0.tar.gz.

File metadata

  • Download URL: qubipy-0.3.0.tar.gz
  • Upload date:
  • Size: 256.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for qubipy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1b69da94e3be3bd41fa1a674b808df8cb80ef41368e00547b00fd3126aa929b7
MD5 e4875a4c3823907115a4a4afa9fb624e
BLAKE2b-256 ccf8edaaa654123383532eda8f68db89b1ae5c5ceb3c2ff0aa5a05cc53580261

See more details on using hashes here.

File details

Details for the file QubiPy-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: QubiPy-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 257.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.3

File hashes

Hashes for QubiPy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7ca4d762d6ca9c187b34ea0bb09e7d06910d069c062591eae5e4ef0bd6b65286
MD5 4f7ac8951c6dcd418dfd8f36544f9f41
BLAKE2b-256 4de580d1a2861b15f6531f601fb9011d6b821c2c5e22f6dd7c43cdf32111cdb2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page