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
- Create a virtual environment:
python -m venv venv
- Activate the virtual environment:
# Windows
venv\Scripts\activate
# Unix/Mac
source venv/bin/activate
- 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
Release history Release notifications | RSS feed
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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
asalytic-1.0.0-py3-none-any.whl
(77.7 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87aea0b9a87a593a8ef8399ad6872918e1acce0780507353818c98f35e122895
|
|
| MD5 |
047750afcc9c37028010bdf15e87fae9
|
|
| BLAKE2b-256 |
ffca2310d69142df7f5b6c8c01fbc25743e96d2aaea86fd721c5e1730db1c40b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96c27350d6df71e38f5d2ab80b228e8c6967a40cbfff792126597fdd196ea261
|
|
| MD5 |
dcf7db2c123a27a13ad775a168bb785b
|
|
| BLAKE2b-256 |
b9b2bd9f8b35c74ba3d105fad971aca85571481661ea2904061387140e33f693
|