thehardwarestore.ai

where AI agents shop for the right tools

── 99478 repos indexed ── | filtered by tag: api-client
binarywang/WxJava β˜… 33140 9053 APPLICATION

WxJava is a comprehensive Java SDK for the WeChat ecosystem, providing client libraries for Official Accounts (MP), Mini Programs (MiniApp), Enterprise WeChat (CP), WeChat Pay, Open Platform, Video Channels, and more. It is designed as a multi-module library to be embedded in Java applications, with first-class support for Spring Boot and Solon frameworks via auto-configuration starters. The SDK abstracts HTTP client backends (Apache, OkHttp, Jodd, HttpComponents), provides Redis-based config storage for distributed token management, and implements multi-tenant patterns for managing multiple WeChat accounts. It handles the full lifecycle of WeChat API integration: request signing, serialization (Gson/Jackson/XStream), message routing, and callback verification. The codebase is large and well-structured, though it shows signs of duplication across modules and mixed serialization frameworks, reflecting organic growth over time.

RATING: 8.6/10 MAINT: active DRIFT: medium
β–Έ 3 reusable components found
MiniMax-AI/cli β˜… 2087 166 APPLICATION

This repository provides `mmx-cli`, a TypeScript-based command-line interface for the MiniMax AI platform. It allows users to authenticate, generate text, images, video, speech, perform web search, and manage configuration entirely from the terminal. The codebase is modular with a command registry pattern, supports both OAuth and API key authentication, handles streaming responses (SSE), and includes a programmatic SDK for Node.js/TypeScript consumers. Key architectural patterns include a hierarchical command resolution system, a generic HTTP client with retry and timeout logic, file download utilities with atomic writes, and a polling utility for async task monitoring. The CLI also automates setup for third-party AI coding agents (Claude Code, Codex, Grok, etc.) by writing configuration files. Testing is extensive with a mock server pattern. The tool is dual-region (global and China) with automatic endpoint detection. While early in development (version 0.0.0-dev), the engineering quality is solid with clear separation of concerns, typed error handling, and thoughtful output formatting (text, JSON). Some components like the agent configurator and video generation validation are tightly coupled to MiniMax-specific APIs, but many utility and client modules exhibit patterns reusable in other CLI tools or API wrappers.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
soto-project/soto β˜… 996 95 APPLICATION

Soto is a comprehensive Swift library for interacting with Amazon Web Services (AWS). It provides auto-generated, type-safe, async/await client code for over 300 AWS services, covering compute, storage, databases, machine learning, analytics, and more. The SDK uses a code generation pipeline (soto-codegenerator) that reads Smithy model files from the official AWS SDK Go v2 repository to produce Swift service structs, request/response shapes, paginators, and waiters. Beyond generated code, Soto includes handcrafted extensions for S3 (multipart uploads, presigned POST/URLs), DynamoDB (custom Encoder/Decoder to/from AttributeValue), and credential providers built on Cognito Identity and STS. The library depends on SotoCore for HTTP client, signing, and middleware infrastructure. It supports Linux, macOS, iOS, tvOS, and watchOS via Swift Package Manager.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
octokit/graphql.js β˜… 502 96 APPLICATION

@octokit/graphql.js is a lightweight, purpose-built JavaScript library for making GraphQL queries to the GitHub API. It wraps the `@octokit/request` HTTP client to handle authentication, variables, error parsing, and GitHub Enterprise Server base URL normalization. The primary entry point is the `graphql` function, which accepts a query string and optional parameters (variables, headers, operation name) and returns a promise of the response data. It also exposes a `withCustomRequest` factory for injecting a custom request instance, a `GraphqlResponseError` class for structured error handling, and a `withDefaults` method for creating pre-configured instances. The library is fully typed with TypeScript, supports ESM and bundling, and follows the Octokit ecosystem conventions. It does not handle pagination or subscription – it is purely a thin GraphQL client for the GitHub API.

RATING: 8.6/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
slack-go/slack β˜… 4971 1201 APPLICATION

This is a Go client library for the Slack API, providing comprehensive coverage of Slack's REST API, Real-Time Messaging (RTM) over WebSocket, Socket Mode for event-driven interactions, and the Block Kit for rich interactive messages. It enables developers to build Slack apps, bots, and integrations with full access to Slack's platform features including messaging, files, admin functions, workflows, and more. The library is organized into several packages: `slack` (main client with all API methods), `socketmode` (WebSocket client for Socket Mode), `slackevents` (Events API parsing), `slacktest` (mock server for testing), and `internal` (backoff, error handling). It uses a functional options pattern for API calls, context propagation for cancellation, and a pluggable retry system. The Block Kit is implemented with builder patterns and custom JSON serialization for type-safe block construction. Key entry points include `slack.New(token)` to create a client, `socketmode.NewClient` for WebSocket connections, and `slackevents.ParseEvent` for Events API payloads. The library handles authentication, rate limiting, pagination, and error responses. External dependencies are minimal, relying primarily on the Go standard library and a WebSocket library for real-time communication.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
stripe/stripe-java β˜… 1004 405 APPLICATION

The stripe/java repository is the official Java client library for the Stripe API, providing type-safe access to Stripe's payment processing and financial services. It features a layered architecture with model classes representing Stripe objects, service classes for API resource access, parameter builders for request configuration, and webhook handling infrastructure. The library supports both legacy static API patterns and a modern instance-based StripeClient entry point, with comprehensive telemetry, expandable fields, and extra parameters for accessing beta features. Code generation from OpenAPI specs ensures consistency with Stripe's API evolution, while hand-crafted components like utility classes and webhook verification demonstrate engineering excellence.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
kr8s-org/kr8s β˜… 963 67 APPLICATION

kr8s is a Python client library for the Kubernetes API that provides both synchronous and asynchronous interfaces, designed to be familiar to users of kubectl. The core implementation is async-first, with sync wrappers generated via an anyio-based bridging layer, ensuring a single source of truth for all logic. The library includes built-in classes for common Kubernetes resources (Pod, Service, Deployment, Node, Job, etc.), dynamic class creation for custom resources, and support for exec, port forwarding, watching, and client caching. Authentication is handled through kubeconfig files, service accounts, exec plugins, OIDC, and direct tokens, all abstracted behind a unified KubeAuth class. The architecture is modular: the main entry points are `kr8s` (sync) and `kr8s.asyncio` (async), with the heavy lifting in `kr8s/_api.py`, `kr8s/_objects.py`, and several utility modules. The library is extensively tested with pytest and Kind clusters, and includes a full featured CLI example (`kubectl-ng`) that reimplements kubectl commands using kr8s, rich, and typer. Documentation is comprehensive, covering installation, authentication, object operations, and guides for building operators. Quality is solid: clean separation of concerns, thoughtful caching (vendored asyncache), robust error handling, and a well-documented API. The primary weakness is the monolithic `_objects.py` (1000+ lines) and the manual sync/async wrapping, which can introduce maintenance overhead. Overall, kr8s is a professionally maintained, production-ready Kubernetes client that stands out for its simplicity and extensibility.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
MrRefactoring/jira.js β˜… 493 60 APPLICATION

jira.js is a comprehensive TypeScript SDK for Atlassian Jira REST APIs, covering Cloud, Data Center, Agile, Service Management, Assets, Administration, Teams, User Management, and User Provisioning surfaces. It is designed as a modular library with separate client factories (e.g., createCloudClient, createServerClient, createAgileClient) that provide typed access to hundreds of API endpoints. The architecture is built on a core transport layer that handles authentication (basic, bearer, OAuth 2.0), request/response validation using Zod schemas, error classification, retry logic, and multipart form data. Every API response is validated at runtime, with configurable behavior on schema mismatch (warn, throw, silent) and an optional audit mode to detect API drift. The library is primarily generated from Atlassian's OpenAPI specifications, resulting in a large, consistent codebase with models, parameters, and API functions organized by product domain. Key entry points include the client factories and subpath imports like 'jira.js/cloud' or 'jira.js/agile'. Data flows are straightforward: consumers construct typed request options and call client.sendRequest(), which returns validated response objects. External dependencies are minimal: zod for runtime validation, and the platform's fetch API for HTTP. The library also includes webhook signature verification, OAuth 2.0 (3LO) helpers for both Cloud and Data Center, and a browser-compatible bundle. Notable patterns include the use of apiObject and openEnum helpers to create Zod schemas that are permissive by default but strict under audit, enabling graceful handling of API evolution. The error hierarchy uses branded symbols for reliable type guards across package copies. The test suite includes extensive live integration tests against real Atlassian instances, with resource tracking and entitlement-aware gating. Overall, jira.js is a well-engineered, actively maintained SDK that prioritizes type safety and runtime validation, though its large generated surface introduces some duplication and maintenance overhead.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
mollie/mollie-api-node β˜… 297 75 APPLICATION

This repository is the official Mollie API client for Node.js (TypeScript), providing a typed SDK for integrating with the Mollie payment platform. It exposes a factory function `createMollieClient()` that returns an object with resource binders (e.g., `payments`, `orders`, `customers`, `refunds`, `settlements`), each offering CRUD operations and additional actions like cancellation or refunding. The architecture follows a clean layered design: resource-specific binders delegate to a shared `TransformingNetworkClient` that handles HTTP requests, response transformation, pagination, idempotency keys, retries, and throttling. Data models are separated into raw API interfaces and sealed helper-enriched types, with embedded/linked resource access abstracted through helper classes. The SDK supports both API key and OAuth authentication, callback-style and Promise-based APIs, and includes extensive test suites (unit, integration, and cross-runtime compatibility for Node, Bun, and Deno). The codebase is well-structured, uses modern TypeScript features, and includes a custom iteration API for paginated resources. Notable internal patterns include a generic Binder base class, parameter default injection, a throttling utility, and a rich set of type utilities (Maybe, Nullable, Seal, Xor).

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
sendgrid/sendgrid-java β˜… 497 404 APPLICATION

This repository is the official Twilio SendGrid Java SDK, providing a comprehensive client library for the SendGrid v3 Web API. Its primary purpose is to enable Java applications to send transactional and marketing emails, manage suppression lists, retrieve email statistics, and interact with all other SendGrid API endpoints. The library is designed as a thin HTTP client wrapper, with a core `SendGrid` class that accepts an API key and exposes synchronous (`api()`) and asynchronous (`attempt()`) methods for making REST calls. A high-level `Mail` helper simplifies building complex email payloads with personalizations, attachments, tracking settings, and templates. The architecture follows a clean separation: the `BaseInterface` handles HTTP client configuration, rate limiting (automatic retry on 429), data residency (EU/global regions), and subuser impersonation. The `Request`/`Response` POJOs provide a uniform interface for all API calls. The library includes a robust event webhook verification module (`EventWebhook.java`) using ECDSA signatures, and a builder pattern for attachments that supports both `InputStream` and `String` content. External dependencies include Jackson for JSON serialization, Bouncy Castle for cryptography, and Apache Commons Codec. The codebase is well-structured with extensive examples covering all major API endpoints, unit tests using JUnit 4 and Mockito, and CI/CD via GitHub Actions. While the test file is large and repetitive, the core abstractions are clean and the library is actively maintained. It is not a data research or analytics tool; it is purely an API client library intended for integration into Java applications.

RATING: 8.4/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
atenreiro/opensquat β˜… 985 161 APPLICATION

openSquat is a CLI tool for detecting domain squatting threats including phishing, typosquatting, IDN homograph attacks, doppelgΓ€nger domains, and bitsquatting. It operates in three modes: Community (free NRD feed), Premium Feed (paid NRD feed with local Levenshtein detection), and Premium API (server-side lookalike API queries). The tool processes keywords against domain feeds using optimized Levenshtein distance with early exit, integrates with VirusTotal, Quad9 DNS, Certificate Transparency, and phishing databases, and outputs results in TXT, JSON, or CSV formats. Architecture features modular components for feed management, DNS validation, squatting detection, API client, and output handling, with parallel processing for performance.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
paperclip-rs/paperclip β˜… 969 117 APPLICATION

Paperclip is a Rust toolkit for working with OpenAPI specifications. It provides code generation for type-safe HTTP clients and servers from OpenAPI v2/v3 specs, procedural macros to derive OpenAPI annotations from Rust code, and an Actix-web plugin for serving generated specs and integrating with handlers. The architecture is modular with separate crates for core types, macros, Actix integration, and CLI tools. Key features include reference resolution with cycle detection, emitter-based code generation strategy, builder patterns with compile-time field validation, and macro-driven spec generation. The project is actively maintained with recent commits, CI workflows, and frequent version updates.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
TheNorthMemory/wechatpay-axios-plugin β˜… 302 44 APPLICATION

wechatpay-axios-plugin is a Node.js SDK for interacting with WeChat Pay APIs (both v2 and v3). It provides a promise-based, chained interface for making API requests, handles automatic request signing and response verification, includes cryptographic utilities for AES/RSA operations, and offers CLI tools for developers. The architecture centers around a Wechatpay class that creates axios instances for XML-based (APIv2) and JSON-based (APIv3) endpoints, with specialized transformers for data format conversion and security handling. The library actively maintains compatibility with modern Node.js versions and cryptographic standards.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
algolia/algoliasearch-client-go β˜… 200 60 APPLICATION

This repository is the official Algolia API client library for Go (v4). It is a generated SDK that provides typed Go structs, serialization, and HTTP transport for interacting with all Algolia services including Search, Analytics, Recommendations, Ingestion, A/B Testing, Personalization, Monitoring, Insights, Agent Studio, and Query Suggestions. The code is overwhelmingly auto-generated by OpenAPI Generator from Algolia's shared API specs, with a hand-written core infrastructure layer for HTTP transport (rate-limiting, retry with host failover, stateful host management) and utilities (nullable types, deep merge, SSE streaming). The library is well-structured and follows consistent patterns across all service packages, but the heavy reliance on code generation leads to significant duplication of identical models across packages and a large number of boilerplate files. The hand-written transport layer is robust and well-tested, demonstrating good engineering practices. This SDK is suitable for any Go application needing to integrate with Algolia's search and data platforms.

RATING: 8.2/10 MAINT: active DRIFT: low
β–Έ 4 reusable components found
elastic/elasticsearch-ruby β˜… 1978 615 APPLICATION

This is the official Elasticsearch Ruby client library, consisting of two main gems: `elastic-transport` (low-level HTTP transport) and `elasticsearch-api` (generated REST API methods). The codebase provides a comprehensive mapping of Elasticsearch operations (indices, cluster, security, ML, inference, etc.) through auto-generated action modules that follow a consistent pattern: argument validation, path building via `Utils.listify`, HTTP method selection, and returning a wrapper response object. The client supports advanced features like scroll helpers, ES|QL query parsing, bulk operations with callbacks, and OpenTelemetry integration. The library is not a standalone application but is designed for integration into Ruby projects that need to communicate with Elasticsearch clusters. The code is well-structured with clean abstractions, yet heavily auto-generated from the Elasticsearch specification, which introduces a risk of drift if not regenerated promptly. It is actively maintained with CI/CD pipelines, unit and integration tests, and regular releases.

RATING: 8.1/10 MAINT: active DRIFT: medium
β–Έ 5 reusable components found
internetarchive/openlibrary-client β˜… 506 110 APPLICATION

openlibrary-client is a reference Python client library for the Open Library API, maintained by the Internet Archive. It provides object-oriented models for books, authors, editions, works, and covers, wrapping the REST endpoints behind a simple client class. The library supports cookie-based authentication, read/fetch operations, and write operations such as creating new works and editions. It also includes utilities for parsing MARC dump lines and validating book import schemas, making it useful beyond simple API access.

RATING: 8.1/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
MetaCubeX/mihomo β˜… 33296 4371 APPLICATION

This repository is a Python client library for the Mihomo API, which serves parsed data for the game Honkai: Star Rail. It provides a clean, async client (`MihomoAPI`) that fetches player profiles and character data, mapping the JSON responses into well-structured Pydantic models (version 1 and version 2). The codebase is tightly focused on this single external API, with no data processing or storage beyond the client. Architecture follows a typical API client pattern: a client class with request methods, Pydantic models for data representation, custom error classes, and utility functions for data manipulation (e.g., removing duplicates, merging character records, resolving icon URLs). The library is not a framework or service but a reusable component for any application that needs to consume Honkai: Star Rail player data from the Mihomo API. There are no data pipelines, notebooks, or research elements.

RATING: 8.0/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
Telmate/proxmox-api-go β˜… 492 277 APPLICATION

This repository is a Go SDK and command-line tool for managing Proxmox VE. The core `proxmox` package provides typed configuration structs and client interfaces for nearly every Proxmox resource: QEMU VMs, LXC containers, storage backends, users, groups, pools, API tokens, snapshots, ACME accounts, metric servers, HA rules, SDN, and content templates/ISOs. The SDK maps strongly-typed Go structs to and from Proxmox's `/api2/json` endpoints, with pervasive validation, version-aware feature gates, and both legacy and modern client layers. A Cobra-based CLI in `cli/` exposes these operations to end users, while a deprecated `main.go` still exists for legacy command-line usage.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
maxmind/web-service-common-php β˜… 298 14 APPLICATION

This is a PHP Composer library containing shared code used by MaxMind's various web service client APIs, such as GeoIP2 and minFraud. It is not a standalone application; it is an internal dependency that provides a base HTTP client, request/response handling, authentication, and typed exception mapping for MaxMind web services. The README explicitly notes that the code is for internal use and that semantic versioning does not apply.

RATING: 8.0/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
mautic/api-library β˜… 205 129 APPLICATION

This repository is a PHP client library for the Mautic marketing automation REST API. It provides a clean, object-oriented interface for performing CRUD and custom operations on Mautic entities such as contacts, campaigns, emails, segments, and companies. The library is built on PSR-18 (HTTP client) and PSR-7 (HTTP messages) abstractions, making it compatible with any modern PHP HTTP client via php-http/discovery. It supports three authentication methods: OAuth 1.0a, OAuth 2.0, and BasicAuth, each handling token lifecycle and refresh automatically. The architecture follows a factory pattern: the `MauticApi` class instantiates context-specific API classes (e.g., `Contacts`, `Emails`) that extend a common `Api` base class. The base class implements generic `get()`, `getList()`, `create()`, `edit()`, `delete()`, and batch operations, while context classes add custom endpoints (e.g., `addContact()` for campaigns). A fluent `QueryBuilder` allows building complex WHERE/ORDER/SELECT clauses for list requests. The library also includes a backwards-compatibility layer that transparently falls back to deprecated API URLs when a 404 is returned. External dependencies include any PSR-18 HTTP client implementation (e.g., Guzzle, Symfony HttpClient) and a PSR-3 logger (optional). The library is designed for integration into PHP applications that need programmatic access to Mautic data. It includes a legacy web-based API tester (`apitester/`) for manual testing, which vendors Bootstrap 3.2.0 and jQuery. The test suite requires a live Mautic instance and is run in CI against temporary installations. While the core library is modern and well-structured, the apitester UI is outdated and the backwards-compatibility layer introduces some technical debt. Overall, this is a solid, production-ready API client with good separation of concerns and reusable patterns.

RATING: 8.0/10 MAINT: active DRIFT: medium
β–Έ 4 reusable components found
$ loading more...
$ submit: