Skip to main content

A Python library for tracking NFT sales and listings on the Algorand blockchain

Project description

Asalytic

A Python library for tracking NFT sales and listings on the Algorand blockchain.

Features

  • Track ASA (Algorand Standard Asset) sales across multiple NFT marketplaces
  • Monitor active NFT listings
  • Support for 16+ NFT platforms including Rand Gallery, Shufl, EXA, ALGO x NFT, and more
  • Parse multiple metadata standards (ARC3, ARC19, ARC69)

Installation

From PyPI (Recommended)

pip install asalytic

From Source

Quick Setup

Windows:

setup.bat

Unix/Mac:

chmod +x setup.sh
./setup.sh

Manual Setup

  1. Create a virtual environment:
python -m venv venv
  1. Activate the virtual environment:
# Windows
venv\Scripts\activate

# Unix/Mac
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt

Usage

Track Sales

from asalytic.indexers.indexer import AsalyticIndexerClient
from asalytic.parsers.asa_sale_parser import ASASaleParser

indexer = AsalyticIndexerClient(
    indexer_address="https://mainnet-idx.4160.nodely.io",
    indexer_token="YOUR_TOKEN"
)

block = indexer.block_info(block_number)
atomic_transfers = indexer.get_atomic_transfers_from_block(block)

for at in atomic_transfers:
    sale = ASASaleParser.parse(at)
    if sale:
        print(f"asa_id={sale.asa_id} price={sale.price_in_algo} ALGO")

Track Listings

from asalytic.indexers.indexer import AsalyticIndexerClient
from asalytic.parsers.app_listings_at_parser import AppListingsATParser

indexer = AsalyticIndexerClient(
    indexer_address="https://mainnet-idx.4160.nodely.io",
    indexer_token="YOUR_TOKEN"
)

block = indexer.block_info(block_number)
atomic_transfers = indexer.get_atomic_transfers_from_block(block)

for at in atomic_transfers:
    listing = AppListingsATParser.parse(at)
    if listing:
        print(f"asa_id={listing.asa_id} price={listing.price_in_algo} ALGO")

Demo Scripts

Run the demo scripts to see the library in action:

# Track sales from a specific block
python demo_track_sales.py

# Track listings from a specific block
python demo_track_listings.py

License

MIT License - see LICENSE file for details.

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

asalytic-1.0.0.tar.gz (41.3 kB view details)

Uploaded Source

Built Distribution

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

asalytic-1.0.0-py3-none-any.whl (77.7 kB view details)

Uploaded Python 3

File details

Details for the file asalytic-1.0.0.tar.gz.

File metadata

  • Download URL: asalytic-1.0.0.tar.gz
  • Upload date:
  • Size: 41.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for asalytic-1.0.0.tar.gz
Algorithm Hash digest
SHA256 87aea0b9a87a593a8ef8399ad6872918e1acce0780507353818c98f35e122895
MD5 047750afcc9c37028010bdf15e87fae9
BLAKE2b-256 ffca2310d69142df7f5b6c8c01fbc25743e96d2aaea86fd721c5e1730db1c40b

See more details on using hashes here.

File details

Details for the file asalytic-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: asalytic-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 77.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for asalytic-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 96c27350d6df71e38f5d2ab80b228e8c6967a40cbfff792126597fdd196ea261
MD5 dcf7db2c123a27a13ad775a168bb785b
BLAKE2b-256 b9b2bd9f8b35c74ba3d105fad971aca85571481661ea2904061387140e33f693

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