Interroger The Graph avec Python et Subgrounds
Reading time: 2 min
Subgrounds est une librairie Python utilisée pour les requêtes Subgraph. Cette librairie a été conçue par . Subgrounds permet de connecter directement les données d'un Subgraph à un environnement de données Python, permettant l'utilisation de librairies comme afin de faire de l'analyse de données!
Subgrounds propose une API Python simplifiée afin de construire des requêtes GraphQL. Subgrounds automatise les workflows fastidieux comme la pagination, et donne aux utilisateurs avancés plus de pouvoir grâce à des transformations de schéma contrôlées.
Subgrounds nécessite Python 3.10 ou une version ultérieure. Subgrounds est disponible depuis .
pip install --upgrade subgrounds# orpython -m pip install --upgrade subgrounds
Une fois installé, vous pouvez tester Subgrounds avec la requête suivante. La requête ci-dessous récupère un Subgraph pour le protocole Aave v2 et interroge les 5 principaux marchés par TVL (Total Value Locked - Valeur Totale Verouillée), sélectionne leur nom et leur TVL (en USD) et renvoie les données sous forme de DataFrame Panda .
from subgrounds import Subgroundssg = Subgrounds()# Load the subgraphaave_v2 = sg.load_subgraph("https://api.thegraph.com/subgraphs/name/messari/aave-v2-ethereum")# Construct the querylatest_markets = aave_v2.Query.markets(orderBy=aave_v2.Market.totalValueLockedUSD,orderDirection='desc',first=5,)# Return query to a dataframesg.query_df([latest_markets.name,latest_markets.totalValueLockedUSD,])
Subgrounds est développé et maintenu par l'équipe de et est accessible depuis la .
Étant donné que Subgrounds propose un large éventail de fonctionnalités, voici quelques points de départ utiles :
-
- Une première étape excellente pour apprendre à construire des requêtes avec Subgrounds.
-
- Une brève introduction aux champs synthétiques qui transforment vos données à partir du schema.
-
- Améliorez vos requêtes en les parallélisant.
-
- Un bref article sur comment sauvegarder vos données sous forme de fichiers CSV en vue d'une analyse ultérieure.