16 dépôts
Mechanisms for navigating large datasets through automatic or manual page-by-page retrieval.
Distinct from Paginated Results: The candidates are too specialized (e.g., asset discovery or trading insights); this is a general-purpose API pagination pattern.
Explore 16 awesome GitHub repositories matching data & databases · Iterator-Based Pagination. Refine with filters or upvote what's useful.
Octokit.js is a GitHub API SDK used to interact with GitHub via REST and GraphQL interfaces. It serves as a client for executing typed queries and mutations, managing authenticated REST requests, and handling signed webhooks across Node.js, Deno, and browser environments. The library features a plugin-based request pipeline and an adapter-based HTTP client, allowing the interception of requests and responses across different runtimes. It employs strategy-based authentication to separate credential management from request logic, supporting static tokens, OAuth flows, and GitHub App installatio
Wraps paginated API responses in asynchronous generators for simplified dataset iteration.
PyGithub is a Python library that serves as an object-oriented wrapper for the GitHub REST API. It functions as a specialized client that translates API endpoints into a hierarchy of Python classes, allowing for the programmatic management of GitHub repositories, user profiles, and organizations. The library manages the serialization of requests and responses, converting JSON data into structured object attributes. It utilizes lazy-loading for property retrieval and employs generators to handle pagination when iterating over large remote datasets. This toolkit enables the automation of GitHu
Implements a transparent engine that automatically fetches subsequent pages of API responses until all results are collected.
JMComic-Crawler-Python is a high-performance asynchronous web scraper and API client designed to programmatically retrieve images and metadata from a comic hosting service. It functions as a media archiving tool for batch downloading albums and chapters, automating the process of saving content to a local filesystem. The project is distinguished by its ability to reverse server-side pixel obfuscation, using a decryption tool to reconstruct sliced and shuffled images. To maintain stable connectivity, it utilizes a network bypass utility featuring dynamic domain rotation and proxy routing to ci
Navigates large datasets of comic albums through automated page-by-page retrieval using generators.
The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web Service, enabling PHP applications to send authenticated requests and receive structured, typed response objects. It includes a credential resolution chain that automatically locates credentials from environment variables, instance profiles, or configuration files, and supports promise-based asynchronous execution for running multiple API calls concurrently to improve throughput. The SDK distinguishes itself through a middleware pipeline architecture that allows interception and
Iterates over multi-page API responses transparently by fetching subsequent pages until all results are collected.
X-Ray est un framework de scraping web et un crawler web asynchrone conçu pour extraire des données structurées à partir de sites web. Il fonctionne comme un extracteur de données HTML qui transforme le contenu brut de la page en un schéma défini en utilisant des sélecteurs de style CSS. Le projet implémente un crawler de navigateur headless capable d'exécuter du JavaScript pour rendre du contenu dynamique. Il gère la découverte de contenu de site web via une stratégie de crawling en largeur d'abord et la découverte automatique de pagination pour traverser les jeux de résultats multi-pages. Le framework gère les pipelines de données web en utilisant une file d'attente de requêtes à concurrence limitée et un contrôle du taux de requête pour réguler les appels réseau sortants. Les résultats extraits sont gérés via une persistance de données basée sur les flux pour traiter de grands jeux de données sans surcharger la mémoire système.
Implements automatic discovery of navigation links to traverse multi-page website result sets.
X-ray est un scraper web headless browser et un crawler de contenu HTML conçu pour extraire des données structurées à partir de sites web. Il fonctionne comme un scraper de données basé sur les flux et un extracteur de données structurées, utilisant des sélecteurs pour récupérer du texte et des attributs depuis le HTML sous forme d'objets ou de tableaux imbriqués. Le projet inclut un contrôleur de taux de requête pour gérer le trafic réseau via des limites de concurrence, des throttles et des timeouts. Il gère le scraping de sites web dynamiques en rendant le JavaScript via un navigateur headless et effectue un crawling automatisé de sites web en utilisant le suivi de liens en largeur d'abord et la gestion de la pagination. Le système fournit un pipeline de données qui applique des transformations de valeurs fonctionnelles aux chaînes brutes et écrit les résultats dans un flux lisible pour prévenir le débordement mémoire lors de travaux de scraping web à grande échelle.
Automatically identifies and follows pagination links to traverse multi-page HTML result sets.
Ce projet est une bibliothèque cliente JavaScript et un SDK pour interagir avec l'API REST de Notion. Il fournit des méthodes typées et des utilitaires pour gérer par programmation les pages, les bases de données et les ressources d'espace de travail au sein d'un environnement Notion. Le SDK inclut des outils pour implémenter des flux d'autorisation OAuth 2.0 afin d'accorder à des applications tierces l'accès au contenu de l'espace de travail. Il dispose de mécanismes pour gérer la pagination basée sur curseur via des itérateurs asynchrones et implémente des tentatives avec back-off exponentiel pour gérer les limites de débit et les erreurs serveur transitoires. La bibliothèque couvre un large éventail de capacités, incluant la gestion de schéma de base de données, la synchronisation de contenu de page et les téléchargements d'actifs média. Elle fournit également un support pour la récupération de profil utilisateur, les abonnements aux événements en temps réel via des webhooks, et la validation de réponse typée en utilisant des gardes de type TypeScript.
Provides an automatic engine to iterate over multi-page API responses as an async iterator.
dlt est un outil d'ingestion de données Python et un framework de pipeline ETL conçu pour récupérer des données depuis diverses sources et les persister dans des destinations structurées. Il fonctionne comme un moteur d'inférence de schéma qui détecte automatiquement les types de données et aplatit les structures JSON imbriquées en tables relationnelles, déplaçant les données des sources vers des lakehouses, des entrepôts ou des bases de données vectorielles. Le projet se distingue par une génération de pipeline alimentée par l'IA, utilisant de grands modèles de langage pour échafauder le code d'extraction et les connecteurs pour les API REST. Il prend également en charge le stockage vectoriel multimodal et la population spécialisée de bases de données vectorielles pour prendre en charge les applications d'IA et de machine learning. Le framework couvre un large éventail de capacités, incluant l'évolution automatique du schéma, le chargement incrémentiel de données via le suivi d'état et la validation de la qualité des données par l'application de contrats de données. Il fournit des outils pour la normalisation des données relationnelles, les transformations pré- et post-chargement, et une variété d'adaptateurs de destination pour les bases de données SQL et les magasins d'objets cloud. L'observabilité est gérée via des tableaux de bord d'exécution de pipeline, le suivi de lignage des colonnes et la vérification de version de schéma utilisant des hachages basés sur le contenu.
Automatically iterates over multi-page API responses to retrieve all available data without manual configuration.
snscrape est un scraper et crawler web de réseaux sociaux basé sur Python conçu pour extraire des publications publiques, des profils et des hashtags de réseaux sociaux sans utiliser d'API officielles. Il fonctionne comme un outil d'archivage et un utilitaire pour la collecte de données en source ouverte (OSINT), permettant le rassemblement d'informations accessibles publiquement pour enquêter sur les tendances et les personnes. L'outil facilite l'extraction de données de réseaux sociaux à des fins de recherche et d'archivage, permettant la création d'enregistrements historiques de conversations et d'activité utilisateur. Il prend en charge des workflows pour l'analyse sociale académique et l'exportation de grands ensembles de métadonnées et de messages dans des fichiers locaux. Les capacités incluent la possibilité de scraper diverses plateformes de réseaux sociaux et de limiter le volume de résultats extraits. Le système peut exporter les éléments découverts sous forme de listes d'URL ou de fichiers détaillés contenant le contenu et les horodatages.
Automatically navigates through large datasets by detecting and following pagination tokens in server responses.
Il s'agit d'une bibliothèque typée côté serveur et d'un SDK de passerelle de paiement pour intégrer Stripe dans des applications Node.js. Elle fournit un client typé pour gérer les paiements, les clients et les abonnements, tout en offrant des outils spécialisés pour exécuter des transactions financières sécurisées et gérer les ressources de facturation. La bibliothèque se distingue par un client API idempotent qui empêche les opérations en double en utilisant des clés d'idempotence et une logique de tentative avec backoff exponentiel. Elle inclut un validateur de signature de webhook pour vérifier que les notifications d'événements HTTPS entrantes sont authentiques et un wrapper de pagination async-iterator pour parcourir de grands jeux de données. Le projet couvre un large éventail de capacités, y compris la gestion de la facturation par abonnement, l'orchestration de plateforme de paiement pour les comptes connectés et la recherche de ressources. Elle fournit une gestion complète des réponses via l'expansion d'objets et la sélection de champs, ainsi que des fonctionnalités de sécurité pour l'authentification des requêtes API et la vérification des webhooks. La bibliothèque est écrite en TypeScript.
Automatically traverses multi-page API results using async iterators to remove manual cursor management.
L'AWS Java SDK est une interface de programmation et une bibliothèque cliente pour gérer et interagir avec l'infrastructure et les services cloud AWS en utilisant le langage Java. Il sert de wrapper API qui connecte les applications au stockage cloud, aux bases de données et aux ressources de calcul via un ensemble standardisé de classes Java. La bibliothèque fournit un modèle d'E/S non bloquant et une gestion des requêtes basée sur les futures pour prendre en charge les opérations cloud asynchrones à haut débit. Elle inclut des mécanismes d'optimisation des performances serverless pour réduire les temps de démarrage initiaux et les cold starts dans ces environnements. Le SDK gère l'intégralité du cycle de vie de l'interaction avec les services cloud, incluant la pagination automatique des réponses pour les jeux de résultats en plusieurs parties et un système de résolution d'identifiants en chaîne qui charge et rafraîchit les jetons de sécurité. Il dispose également d'une couche de transport HTTP enfichable, permettant de remplacer le client réseau par défaut par des implémentations personnalisées au moment de l'exécution.
Automatically iterates over multi-page API results from AWS services without requiring manual paging logic.
Ce projet est un framework de web scraping Node.js conçu pour automatiser l'extraction de données via un flux de travail programmatique de requêtes, d'analyse et d'interaction avec les documents. Il fonctionne comme un crawler web headless, un gestionnaire de requêtes HTTP, ainsi qu'un analyseur et extracteur DOM. Le framework se distingue en combinant un moteur d'exécution JavaScript pour interagir avec le contenu dynamique et un système de sélection hybride qui utilise à la fois des sélecteurs CSS et XPath. Il inclut un middleware spécialisé pour la rotation de proxy et la gestion de session cookie-jar afin de maintenir les états authentifiés et de gérer le trafic automatisé. Ses capacités plus larges couvrent le crawling de liens récursif, la gestion de la pagination et l'automatisation des formulaires web. L'outil fournit également des fonctionnalités de gestion du trafic telles que la limitation du taux de requêtes via des délais temporisés et une configuration personnalisée des en-têtes HTTP.
Automatically identifies and follows pagination links to traverse multi-page result sets.
WeiboSpider est un scraper de réseaux sociaux conçu pour extraire les profils d'utilisateurs, les publications et les données d'interaction de la plateforme Sina Weibo. Il fonctionne comme un crawler de données web qui récupère les informations via des interfaces externes plutôt qu'en analysant le frontend visuel. L'outil inclut un traceur de lignée de contenu pour suivre les publications partagées jusqu'à leurs sources originales. Il dispose également d'un analyseur d'engagement social pour collecter le nombre de vues et les fils de commentaires imbriqués afin de mesurer les métriques d'interaction des utilisateurs. Le système fournit des capacités de surveillance sociale par mots-clés et de filtrage des résultats de recherche pour suivre des sujets spécifiques au fil du temps. Il gère de grands ensembles de données via une itération basée sur la pagination et une traversée récursive des fils d'engagement.
Crawls large datasets by looping through sequential page offsets to ensure all matching search results are collected.
Octokit.rb is a Ruby client library and REST API wrapper used to programmatically interact with GitHub. It provides a structured interface for automating workflows, managing repositories, and transforming raw HTTP responses into Ruby objects. The library differentiates itself through hypermedia-driven navigation, which uses URI templates and link relations to discover resources dynamically. It also implements automated result pagination to combine paginated responses into single arrays and uses fingerprint-based caching to reduce redundant network requests. The tool covers a broad range of c
Transparently iterates over multi-page API responses to collect all results into a single dataset.
openai-go is an LLM SDK for Go and a client for interacting with OpenAI services. It provides type-safe bindings to generate text, images, and audio via REST endpoints, enabling the integration of large language models and AI assistant orchestration into Go applications. The library serves as an agent orchestration tool for managing stateful conversation threads and autonomous agents with integrated tool calling and file search. It also functions as an asynchronous batch processing client for monitoring large-scale request groups and fine-tuning jobs, alongside a management SDK for controllin
Navigate through large datasets using automatic paging or manual retrieval.
This is a Python SDK for interacting with large language models via API. It serves as a client library to generate text, process messages, and manage conversational states, while providing a specialized interface for connecting to models hosted across different cloud infrastructure providers. The SDK includes a tool-calling framework that maps Python functions to JSON schemas, allowing models to execute external tools. It also features a built-in token counting utility to estimate input size before transmission and a server-sent events client for receiving model tokens in real time. The libr
Provides iterator-based pagination to transparently fetch subsequent pages of API data.