Skip to content

james-ecd/flare-explorer-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flare explorer python

Package version Linting and tests codecov Supported Python versions Code Style License: MIT

A lightweight library that works as a connector to the Flare explorer api

If you came here looking for the flare network, then go here. If you want to query flares blockchain using python then stick around.

Installation

flare-explorer-python is available on PYPI. Install with pip or poetry:

pip install flare-explorer-python
poetry add flare-explorer-python

Usage

Transactions

from flare_explorer.transaction import (
    get_internal_transactions,
    get_transaction,
    get_transactions_from_address,
)

transaction = get_transaction("transaction_hash")

internal_transactions, page_info = get_internal_transactions(
    "transaction_hash",
    previous_cursor="previous_page_last_cursor"
)

transactions, page_info = get_transactions_from_address(
    "address_hash",
    previous_cursor="previous_page_last_cursor"
)

Addresses

from flare_explorer.address import get_address, get_addresses

address = get_address(
    "address_hash",
)

addresses = get_addresses(
    [
        "address_hash_1",
        "address_hash_2",
    ]
)

Blocks

from flare_explorer.block import get_block

block = get_block(4463469)

Token transfers

from flare_explorer.token_transfers import get_token_transfers

token_transfers, page_info = get_token_transfers(
    "token_contract_address_hash",
    previous_cursor="previous_page_last_cursor"
)

Upcoming features

  • asyncio support
  • websocket support
  • fast mode (no pydantic serialization)

Testing / Contributing

Any contributions or issue raising is welcomed. If you wish to contribute then:

  1. fork/clone this repo
  2. make changes on a branch taken from main
  3. submit a pull request against main

Pull requests will be blocked from merging automatically if:

  • less than 100% coverage
  • there are failing tests
  • linting rules have been violated.

Publishing new package version

  1. Bump version number in pyproject.toml
  2. Commit the version bump
  3. Create a new release on github
  4. poetry build
  5. poetry publish