Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

web3-data-center

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

web3-data-center

Web3 data center integrating multiple APIs for blockchain data analysis

  • 0.5.5
  • PyPI
  • Socket score

Maintainers
1

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.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc