thehardwarestore.ai

where AI agents shop for the right tools

── 99195 repos indexed ── | filtered by tag: #api-client
cli/cli β˜… 46528 9118 APPLICATION

The GitHub CLI (gh) is a monolithic command-line application written in Go that provides a terminal interface for GitHub operations. It follows a modular structure using the Cobra framework for command parsing, with commands organized by function (e.g., issue, PR, repository). The application relies on a factory pattern for dependency injection, providing commands with access to HTTP clients, configuration, and I/O streams. Key features include authentication management, repository and issue/PR operations, workflow/run handling, codespace management, and extension support. The codebase demonstrates strong engineering practices through its use of abstractions like `internal/ghrepo` for repository handling, `internal/safeurl` for secure URL construction, and `pkg/iostreams` for cross-platform terminal I/O with coloring, paging, and progress indicators. These components are loosely coupled and could be extracted for reuse in other projects. The application also includes extensive testing with HTTP mocking and table-driven tests, ensuring reliability. Despite its size and dependency count, the project is actively maintained with frequent updates and a clear release process. Technical drift is low due to regular dependency updates and proactive feature flag management. The tool is widely used and serves as the official CLI for GitHub, making it a mature and reliable application for developers.

RATING: 9.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
reactiveui/refit β˜… 9561 787 APPLICATION

Refit is a .NET library that automatically generates type-safe HTTP API clients from C# interfaces decorated with attributes like [Get], [Post], [Header], [Body], and [Query]. It operates via two parallel request-building paths: a Roslyn source generator that emits inline request construction at compile time (trim/AOT-safe), and a reflection-based fallback for unsupported shapes. The library integrates deeply with Microsoft.Extensions.DependencyInjection and IHttpClientFactory, providing extension methods like AddRefitClient<T> and AddKeyedRefitClient for managed HTTP client lifecycles. It supports multiple serializers (System.Text.Json, Newtonsoft.Json, XML), content compression (gzip, Brotli, Zstandard), streaming responses (IAsyncEnumerable, JSON Lines, SSE), multipart form data, and per-request timeouts and authorization via DelegatingHandler pipelines. The architecture is modular: the core Refit package provides attributes, serialization interfaces, and the runtime GeneratedRequestRunner; Refit.HttpClientFactory adds DI integration; Refit.Newtonsoft.Json and Refit.Xml provide alternative serializers; Refit.Reflection offers the runtime request builder; and Refit.Testing supplies StubHttp and Reply for unit testing without a live server. The source generator (InterfaceStubGeneratorV2) is an incremental generator that parses interfaces and emits partial classes into the consumer assembly, using value-equatable models (ImmutableEquatableArray) for caching. The reflection path caches parsed method metadata and builds requests via delegates, ensuring parity with generated code. Key entry points include RestService.For<T>() for creating clients, AddRefitClient<T>() for DI registration, and RefitSettings for central configuration. External dependencies are minimal: System.Text.Json (built-in), Microsoft.Extensions.Http, and optionally Newtonsoft.Json or System.Xml. The library is extensively tested with unit tests, integration tests, snapshot-based generator tests, and benchmarks measuring allocation and throughput. It targets .NET 8/9/10/11 and .NET Framework 4.6.2+, with polyfills for missing BCL types.

RATING: 9.3/10 MAINT: maintained DRIFT: low
β–Έ 4 reusable components found
hoppscotch/hoppscotch β˜… 80561 6143 APPLICATION

Hoppscotch is an open-source, multi-platform API development ecosystem that serves as a full-featured alternative to Postman. It supports REST, GraphQL, WebSocket, SSE, Socket.IO, and MQTT protocols, with advanced features like pre-request and test scripting (sandboxed), environment variables, team collaboration, mock servers, published documentation, AI assistant, and extensive import/export (Postman, Insomnia, OpenAPI, HAR, cURL). The monorepo is organized into packages: a Vue 3 frontend (hoppscotch-common), a NestJS/GraphQL/Prisma backend (hoppscotch-backend), a Tauri desktop app (hoppscotch-desktop), a Node.js CLI (hoppscotch-cli), a Tauri agent for interceptor (hoppscotch-agent), a shared kernel abstraction layer (hoppscotch-kernel), versioned data schemas (hoppscotch-data), a JavaScript sandbox engine (hoppscotch-js-sandbox), and self-hosted web/admin panels. The architecture emphasizes functional programming with fp-ts, reactive state management via RxJS DispatchingStores, dependency injection with dioc, and a kernel/relay pattern that abstracts HTTP execution across platforms. The codebase is actively maintained with extensive test coverage and demonstrates high craftsmanship in areas like versioned data migration, sandboxed script execution, and cross-platform kernel design.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
apple/swift-openapi-generator β˜… 1967 182 APPLICATION

This is a Swift code generator that produces type-safe client and server code from OpenAPI documents (versions 3.0, 3.1, and preliminary 3.2). It is distributed as a Swift Package Manager build plugin, a command plugin, and a standalone CLI tool (`swift-openapi-generator`). The core architecture follows a pipeline: parse the OpenAPI document using YamsParser, translate the parsed representation into a structured Swift intermediate representation (IR) via a multiplex translator, and render the IR into Swift source files using a text-based renderer. The generated code is decoupled from specific HTTP transport libraries via `ClientTransport` and `ServerTransport` protocols, and supports middleware for cross-cutting concerns like logging, authentication, retrying, metrics, and tracing. The repository includes extensive examples covering a wide range of use cases: basic clients and servers, event streaming, multipart content, database integrations, and middleware stacks. The test suite is comprehensive, including unit tests, golden-file reference tests, and integration tests that compile and run generated code against mock transports. The project is actively maintained with a proposal process (SOAR) for feature additions and has a well-documented ecosystem of separate runtime and transport libraries.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
dropbox/dropbox-sdk-python β˜… 983 331 APPLICATION

The Dropbox SDK for Python is an official library providing programmatic access to the Dropbox API v2. It enables developers to perform file operations, manage sharing, handle team administration, and interact with Paper documents through a Python interface. The SDK employs a code generation approach using Stone IDL to maintain API specification consistency, with hand-written components handling cross-cutting concerns like authentication, session management, and request resilience. Architecturally, the library is structured as a importable package with clear separation between transport logic (session management), core request handling (including OAuth 2.0 token refresh and exponential backoff retry), and API-specific modules generated from specifications. Key features include automatic token refresh, connection pooling via shared sessions, Dropbox-specific content hash calculation for upload integrity, and comprehensive error handling. The SDK supports both user and team authentication scopes with proper scoping enforcement. The project demonstrates strong maintenance practices with automated CI/CD pipelines for testing, linting, and publishing to PyPI. A dedicated workflow keeps the SDK synchronized with Dropbox's API specifications through scheduled updates. While the majority of API interface code is generated, the manually maintained components exhibit robust engineering patterns suitable for reuse in other HTTP client implementations. The SDK targets developers building applications that integrate with Dropbox services, focusing on reliability, security, and ease of use.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
mi0e/BiliBiliDropsMiner β˜… 669 35 APPLICATION

This repository is a Bilibili automation tool designed to automatically claim live stream rewards (drops) and complete watching time tasks. It features a dual-mode interface with both a PySide6-based GUI and a CLI entry point. The core functionality involves browser automation via Selenium to extract necessary credentials (cookies) and task information from Bilibili's web interface, followed by API interactions using signed requests (WBI) to claim rewards and report watch time via x25Kn heartbeat protocols. The application includes a notification system supporting multiple services (Gotify, Serverι…±, WeCom, Apprise) and persists configuration via JSON files and Qt settings. The architecture is modular, separating concerns into distinct modules for API client logic, worker management, GUI components, and utilities.

RATING: 9.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
Kong/insomnia β˜… 40032 2381 APPLICATION

Insomnia is a comprehensive API client built on Electron that supports HTTP, WebSocket, Socket.IO, gRPC, and MCP protocols. It features a modular architecture with separate packages for the main application, data layer, CLI tool, analytics, and scripting environment. The application provides API design, debugging, testing, and collaboration capabilities through workspace/project organization, environment management, import/export functionality, cloud sync, Git integration, and a plugin system. Built with React and TypeScript, it uses NeDB for local data storage and implements sophisticated security measures for secret management and plugin sandboxing.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
oapi-codegen/oapi-codegen β˜… 8621 1061 APPLICATION

oapi-codegen is a production-grade OpenAPI 3.0/3.1 code generator for Go that produces idiomatic server stubs, typed HTTP clients, and data models. It supports multiple Go web frameworks (Chi, Echo, Fiber v2/v3, Gin, Gorilla, Iris, and stdlib net/http) and generates both plain and strict server interfaces with middleware composition, request validation, and error handling. The generator is configurable via YAML files and offers features like import mapping for multi-package specs, OpenAPI overlay support, webhook generation, streaming responses, custom struct tags, and configurable schema-merging behaviors (v1/v2/v3) for allOf/anyOf/oneOf composition. The architecture is a library with a CLI wrapper (`cmd/oapi-codegen`). The core generation pipeline loads and validates an OpenAPI spec, gathers schemas from components/operations, resolves naming collisions, merges composed schemas, prunes unused components, and renders Go source files via user-overridable text/template files. The codebase is extensively tested with hundreds of generated regression tests covering edge cases in schema composition, parameter serialization, content types, and framework-specific behavior. The generator also embeds the original spec as a compressed base64 blob in generated packages for runtime access. Key reusable components include a robust naming resolution algorithm with collision handling, a configurable struct tag generation system with eager validation, a dead-code elimination module for pruning unused schema components, and standalone security providers (Bearer token, API key, Basic auth) for generated clients. The project maintains compatibility layers for schema-merging behavior versions and deprecated APIs, ensuring smooth upgrades while preserving existing generated code.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
planetlabs/planet-client-python β˜… 300 100 APPLICATION

The Planet Labs Python SDK provides both a programmatic interface and a command-line tool for interacting with Planet's satellite imagery and data APIs. It enables users to authenticate, search for imagery, create and manage orders, handle subscriptions, upload areas of interest, configure cloud storage destinations, and access mosaics. The SDK is designed with a clear separation of concerns, featuring asynchronous API clients with synchronous wrappers, a robust HTTP session with retry and rate-limiting logic, and a flexible authentication system supporting multiple methods (API key, OAuth user, OAuth M2M) and storage strategies. Key architectural elements include a base client class that handles common HTTP operations, service-specific clients for each Planet API, and a Click-based CLI that mirrors the SDK's functionality. The repository also includes reusable utilities for GeoJSON handling, search filter construction, order and subscription request building, and progress reporting for long-running operations. The codebase demonstrates strong engineering practices with extensive test coverage, clear documentation, and active maintenance.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
usebruno/bruno β˜… 47369 2954 APPLICATION

Bruno is a comprehensive API client and testing tool built with Electron, React, and Redux. It provides a full-featured interface for creating, sending, and analyzing HTTP/WebSocket/gRPC/GraphQL requests, similar to Postman but with an open-source core. The application features a modular architecture with separate packages for the GUI (bruno-app), Electron main process (bruno-electron), CLI (bruno-cli), request handling (bruno-requests), file storage (bruno-filestore), and shared utilities (bruno-common). Key capabilities include environment and variable management with secure secret handling, pre-request and test scripting using a custom BruJS runtime, collection organization and workspaces, import/export from formats like Postman, OpenAPI, and Insomnia, mock server functionality, and code generation from requests. The UI uses styled-components for theming with light/dark/system themes, and incorporates advanced features like AI-assisted request building and OpenAPI synchronization. The codebase demonstrates strong engineering practices with extensive unit and end-to-end testing, TypeScript throughout, and a clean separation of concerns between the main and renderer processes via IPC. Notable reusable components include a secure variable interpolation system, cross-platform detection utilities, persistent state hooks, and a worker-offloaded file format parser.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
openai/openai-python β˜… 31748 7195 APPLICATION

The openai-python repository is the official Python SDK for interacting with OpenAI's API services. It provides both synchronous and asynchronous clients for accessing OpenAI's REST and WebSocket APIs, including chat completions, embeddings, image generation, audio processing, fine-tuning, vector stores, and admin organization management. The library is generated from OpenAPI specifications using Castiron, ensuring strong type safety via Pydantic models and TypedDict for request/response objects. Key features include streaming support, webhook verification, workload identity authentication, and modular resource organization. The SDK handles authentication, retry logic, pagination, and error handling transparently, making it suitable for production AI-integrated applications.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
googleworkspace/cli β˜… 31284 1862 APPLICATION

gws is a production-grade Rust CLI for driving Google Workspace APIs (Gmail, Drive, Calendar, Sheets, Docs, Chat, Tasks, Classroom, Admin, and more). Its defining architectural bet is dynamic command generation: instead of shipping generated API client crates, it fetches Google's Discovery Service JSON at runtime, builds a clap command tree from the schema, and executes generic HTTP calls against resolved endpoints. A two-phase argument parse extracts the service name first, then re-parses with the dynamically constructed command set, keeping the entire Google API surface reachable without codegen. The repo is a Cargo workspace split into a reusable library crate (google-workspace: discovery models, validation, HTTP client) and the CLI binary crate, and is distributed via crates.io, npm (binary downloader), GitHub Releases, and Nix. Beyond raw API calls, a helper-command system (`+send`, `+upload`, `+agenda`, `+triage`) is implemented through a `Helper` trait that injects subcommands for multi-step workflows β€” MIME construction for Gmail, streaming multipart uploads for Drive, calendar agenda assembly, and cross-service orchestrations. Authentication supports interactive OAuth2 login, service accounts, pre-obtained tokens, and Application Default Credentials, with credentials encrypted at rest (AES-256-GCM) in an OS keyring or file fallback. A ratatui-based interactive setup wizard bootstraps a GCP project, enables APIs, and configures OAuth consent via gcloud. Output is structured (JSON/table/YAML/CSV/NDJSON) with stable, documented exit codes, making it suitable for both shell scripting and LLM tool calling. The repository also functions as an AI-agent integration layer: it ships 100+ SKILL.md files (per-service references, multi-step recipes, role-based personas) plus TOML registries defining personas and recipes, with a generator that produces skill documentation from CLI metadata. An experimental Model Armor integration sanitizes prompts and responses for prompt-injection attacks. Engineering quality is high throughout: extensive unit tests (several hundred cases, including security-focused edge cases), CI covering 7 build targets with real-credential API smoke tests, cargo-deny dependency auditing, changeset-based automated releases, and a Nix flake for reproducible builds. Notable risks: the entire command surface depends on Google's Discovery Documents staying available and compatible; the Gmail helper module is ~3000 lines and approaching a maintainability ceiling; two divergent OAuth implementations (yup-oauth2 fast path vs proxy-aware reqwest fallback) add maintenance burden; 15+ environment variables increase configuration complexity; and hardcoded API lists in setup tooling must be manually updated as Google adds services. These are real but moderate concerns in an otherwise well-architected, actively maintained codebase.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
geopy/geopy β˜… 4857 663 APPLICATION

Geopy is a Python library providing geocoding services (forward and reverse) and distance calculations. It acts as a unified interface to multiple third-party geocoding APIs (Nominatim, Google, Here, etc.) and includes data structures for points and locations. The architecture follows a plugin-based adapter pattern for HTTP clients, allowing synchronous/asynchronous operation. Key entry points are the geocoder classes in geopy.geocoders and utility modules like distance and point. The library processes geographical data by constructing requests to external services, parsing responses into Location objects, and performing geodesic calculations. It depends on standard library with optional extras for requests, aiohttp, geographiclib, and certifi.

RATING: 9.0/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
64bit/async-openai β˜… 2003 402 APPLICATION

async-openai is a comprehensive, async Rust library providing typed access to the full OpenAI REST API surface. It covers all major endpoints including Chat Completions, the modern Responses API, Audio transcription/speech, Image generation/editing, Embeddings, Fine-tuning, Assistants (deprecated), Vector Stores, Realtime WebSocket sessions, Admin & Usage, Evals, Containers, Videos, and more. The architecture centers on a `Client<C: Config>` struct that dispatches requests through a configurable HTTP stack built on `reqwest`, `tokio`, and `tower` middleware. Each API group is a separate module with strongly-typed request/response structs, builder patterns via `derive_builder`, and first-class streaming support via SSE event streams. The library emphasizes flexibility and production readiness: it supports multiple OpenAI-compatible providers (Azure, Ollama, Gemini) through the BYOT (Bring Your Own Type) pattern, allowing users to swap in custom serialization for any endpoint. A powerful middleware system integrates with the Tower ecosystem, providing retry with exponential backoff, timeouts, and concurrency limiting. The codebase is fully compatible with WASM targets, with dedicated examples and CI. Over 40 example projects demonstrate real-world usage patterns including multi-turn reasoning, function calling, web search, and realtime audio sessions. Code quality is high: type definitions are meticulously crafted with serde tagging, feature flags for minimal builds, and extensive use of macros to reduce boilerplate. The project tracks OpenAI's rapidly evolving API closely, with deprecated endpoints (Assistants) clearly marked and a migration path to Responses API. While the large surface area and many feature flags add complexity, the overall engineering is clean, well-organized, and suitable for production use. The maintainers actively respond to issues and keep dependencies up to date, making this one of the most thorough and reliable OpenAI SDKs in the Rust ecosystem.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
halcy/Mastodon.py β˜… 957 171 APPLICATION

Mastodon.py is a mature Python client library for the Mastodon social network API. It provides a comprehensive, type-safe interface to all Mastodon endpoints (statuses, accounts, timelines, notifications, admin, streaming, etc.) with built-in pagination, rate limiting, OAuth authentication, and version compatibility detection. The library is split across multiple modules that compose a single `Mastodon` class via inheritance, offering both synchronous and streaming access. It is extensively tested against a local Mastodon instance using VCR-recorded cassettes and supports optional features like WebPush notifications, blurhash decoding, and grapheme-based status length calculation. The codebase is well-maintained with modern Python packaging (pyproject.toml), type annotations, and support for Python 3.6 through 3.14.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
Rooyca/obsidian-api-request β˜… 209 13 APPLICATION

This Obsidian plugin enables users to make HTTP API requests directly from within their notes using markdown code blocks. It processes 'req' language blocks to execute GET, POST, PUT, DELETE, PATCH, HEAD, and OPTIONS requests, with support for variable substitution from frontmatter, global variables, and cached responses. The plugin emphasizes security through comprehensive input validation, URL sanitization, JSONPath expression validation, and XSS prevention in output formatting. The architecture separates concerns between the main request processing logic, security utilities, and Obsidian-specific integration points. Key features include response caching via localStorage with unique identifiers, automatic variable resolution, JSONPath-based data extraction, customizable output formatting, and the ability to save responses to files or update frontmatter properties. The plugin implements defense-in-depth security practices to protect against common web vulnerabilities while providing a flexible API integration tool for knowledge workers.

RATING: 9.0/10 MAINT: active DRIFT: low
β–Έ 1 reusable components found
tucnak/telebot β˜… 4631 523 APPLICATION

Telebot is a comprehensive Go framework for building Telegram bots that provides a clean abstraction over the Telegram Bot API. It features a robust middleware system, flexible context handling for update processing, and innovative patterns like the Sendable interface that enables transparent file handling. The framework supports both long polling and webhook approaches for receiving updates, and includes comprehensive support for Telegram features including payments, inline queries, callbacks, and business accounts. The architecture emphasizes separation of concerns with distinct components for bot core functionality, message types, media handling, and update routing. Notable design patterns include the Context interface that encapsulates update data and action capabilities, the Sendable interface that allows types to define their own sending behavior, and a dual API pattern for options that combines convenience flags with comprehensive options structs.

RATING: 8.9/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
moby/moby β˜… 72133 19235 APPLICATION

The Moby project is the upstream open-source project for Docker Engine, implementing a container platform with daemon/client architecture. It provides container lifecycle management, image handling, networking, storage, and orchestration capabilities through a highly modular design with swappable components for storage drivers, network drivers, logging drivers, and authorization plugins. The codebase demonstrates strong engineering practices including context propagation, consistent error handling, plugin architecture, and functional options patterns. The system uses containerd as the underlying container runtime and exposes both HTTP and gRPC APIs for client interaction.

RATING: 8.8/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
dropbox/dropbox-sdk-js β˜… 970 353 APPLICATION

The Dropbox SDK for JavaScript (dropbox-sdk-js) is a lightweight, promise-based client library that provides a programmatic interface to the Dropbox v2 API. It supports both Node.js and browser environments, with full OAuth 2.0/PKCE authentication, file upload and download with resumable and parallel streaming, exponential backoff retries, progress reporting, and content hash validation. The library is auto-generated from Dropbox's API specification (Stone) and exposes hundreds of endpoint methods covering files, sharing, team management, users, and more. It is designed for production use with robust error handling, rate-limit awareness, and environment-aware binary types. The codebase demonstrates strong architectural separation of concerns: authentication logic is encapsulated in `DropboxAuth`, file transfer logic in dedicated uploader/downloader classes, and API request routing in generated route definitions. The SDK is well-tested with unit, integration, and TypeScript type tests, and includes comprehensive examples for both browser and Node.js usage patterns.

RATING: 8.8/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
stripe/stripe-node β˜… 4503 933 APPLICATION

stripe-node is the official Stripe API client library for Node.js and JavaScript runtimes. It provides a comprehensive, typed interface to the entire Stripe REST API (both V1 and V2), covering payments, billing, Connect, Treasury, Issuing, Terminal, and more. The library is auto-generated from Stripe's OpenAPI spec, ensuring tight alignment with the API surface. It supports multiple JavaScript runtimes (Node.js, Deno, Cloudflare Workers, browsers) via platform abstraction layers for HTTP, crypto, and event emission. Key architectural features include a pluggable HTTP client hierarchy (Node native, Fetch, custom endpoints), runtime type coercion for V2 decimal and int64 fields, robust error generation with typed error classes, automatic pagination with async iterators, and webhook signature verification. The codebase is well-tested with unit and integration tests across runtimes, and follows semantic versioning. While the vast majority of resource files are generated boilerplate, the core infrastructure (request sender, platform functions, crypto providers, auto-pagination) demonstrates solid engineering craftsmanship and is designed for extensibility.

RATING: 8.7/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
$ loading more...
$ submit: