Skip to main content

Web3 data center integrating multiple APIs for blockchain data analysis

Project description

Web3 Data Center

Web3 Data Center is a Python package that integrates multiple APIs to provide comprehensive blockchain data analysis capabilities. It offers a unified interface to access data from various sources, making it easier for developers to gather and analyze blockchain-related information.

Features

  • Integration with multiple blockchain data providers (GeckoTerminal, GMGN, Birdeye, Solscan, GoPlus, DexScreener)
  • Asynchronous API calls for improved performance
  • Persistent file-based caching system for optimized data retrieval
  • Caching mechanism to reduce API calls and improve response times
  • Support for multiple blockchains (Ethereum, Solana, and more)
  • Token information retrieval (price, market cap, holders, etc.)
  • Transaction analysis
  • Token security checks

Installation

You can install Web3 Data Center using pip:

pip install data_center

Quick Start

Here's a simple example of how to use Web3 Data Center:

import asyncio
from web3_data_center import DataCenter
async def main():
data_center = DataCenter()
# Get token info
token_address = "CzLSujWBLFsSjncfkh59rUFqvafWcY5tzedWJSuypump" # Wrapped SOL
token_info = await data_center.get_token_info(token_address)
print(f"Token Info: {token_info}")
# Get top holders
top_holders = await data_center.get_top_holders(token_address, limit=10)
print(f"Top 10 Holders: {top_holders}")
asyncio.run(main())

Caching System

Web3 Data Center includes a robust file-based caching system to improve performance and reduce API calls. The cache is stored in ~/.web3_data_center/cache/ and is automatically managed.

Cached Operations

The following operations are cached by default:

  • Root funder lookups (24-hour cache)
  • Funding path queries (24-hour cache)
  • Funding relationship checks (24-hour cache)

Using the Cache

The cache is automatically used when calling the relevant methods. You can also use the caching decorator for your own functions:

from web3_data_center import file_cache

@file_cache(namespace="my_cache", ttl=3600)  # 1-hour cache
async def my_function():
    # Your code here
    pass

Cache Management

To clear the cache for a specific function:

data_center.get_root_funder.cache_clear()

To get the cache directory:

from web3_data_center import get_cache_dir
cache_dir = get_cache_dir()

The cache automatically manages:

  • Entry expiration (TTL-based)
  • Size limits
  • Cleanup of old entries

Documentation

For detailed documentation, please refer to the docs directory.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Thanks to all the API providers that make this project possible.
  • Special thanks to the open-source community for their invaluable tools and libraries.

Token Sniper Word Cloud Generator

This script analyzes token sniping data from a database and generates a beautiful word cloud visualization based on the frequency of snipes per token.

Requirements

Install the required Python packages:

pip install pandas matplotlib wordcloud numpy sqlalchemy pillow

Configuration

Before running the script, update the database connection parameters in sniper_wordcloud.py:

# Database connection parameters
DB_USER = "your_username"
DB_PASSWORD = "your_password"
DB_HOST = "localhost"
DB_PORT = "5432"
DB_NAME = "your_database"

Usage

Run the script:

python sniper_wordcloud.py

The script will:

  1. Connect to your database
  2. Execute the SQL query to retrieve token sniping data
  3. Generate a word cloud where:
    • Each word represents a token symbol (or shortened address if no symbol available)
    • The size of each word corresponds to its snipe count
    • A beautiful color gradient is applied to enhance visualization
  4. Save the word cloud as token_snipe_wordcloud.png

Customization

You can modify the script to change the:

  • Word cloud shape (currently circular)
  • Color scheme (edit the colors list)
  • Background color (currently black)
  • Maximum number of tokens to display
  • Font sizes

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

web3_data_center-0.9.8.tar.gz (118.0 kB view details)

Uploaded Source

Built Distribution

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

web3_data_center-0.9.8-py3-none-any.whl (131.1 kB view details)

Uploaded Python 3

File details

Details for the file web3_data_center-0.9.8.tar.gz.

File metadata

  • Download URL: web3_data_center-0.9.8.tar.gz
  • Upload date:
  • Size: 118.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for web3_data_center-0.9.8.tar.gz
Algorithm Hash digest
SHA256 32652a6a31f4110c8333ce00aff379cf5b0aad305266f578dc3975cc7c976c54
MD5 55bce020e46bea9f7c8f5c9882ee8712
BLAKE2b-256 26dbd3a9f4106ef21c40597ef77da91ca98e6e513a90aa24c2a06d2887180f18

See more details on using hashes here.

File details

Details for the file web3_data_center-0.9.8-py3-none-any.whl.

File metadata

File hashes

Hashes for web3_data_center-0.9.8-py3-none-any.whl
Algorithm Hash digest
SHA256 9a980652abe1651828713be602cb623191f12098af607c5aae1354bc850fc885
MD5 559884b338046b3d2f58730b59c2e895
BLAKE2b-256 a52b196a5064cb8e6adbdf1e43c55362adc7f2aacf9850418e0738bb574fcbf8

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