30 open-source projects similar to googleapis/google-api-go-client, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Google Api Go Client alternative.
env is a Go library that reads environment variables and populates the fields of a Go struct according to tag directives. It uses reflection to iterate over struct types and tags at runtime, mapping environment variable names to struct fields and applying parsing behavior defined in struct tags. The library supports required field validation, returning errors when marked fields are missing or empty after parsing. It also provides default value fallback from struct tags when environment variables are not set, environment variable expansion that recursively substitutes references within values,
GAM is a command-line tool for administering Google Workspace and Cloud Identity. It translates command-line arguments into structured API calls, enabling administrators to manage users, groups, organizational units, and domain settings across a Google Workspace environment. The tool handles authentication through OAuth2 flows, service accounts, and workload identity federation, and supports multi-tenant configurations for managing multiple domains or cloud projects from a single installation. GAM distinguishes itself through its batch processing and automation capabilities. It can process la
This project is a collection of Go packages and a programmatic interface for interacting with Google services and Google Cloud resources via REST APIs. It functions as a client library and SDK that transforms raw HTTP requests into structured Go function calls. The library utilizes discovery-based client generation to create type-safe clients from API discovery documents. It separates the acquisition of authorization tokens from the request logic through a token-source based authentication model. The project covers identity management and authentication via OAuth 2.0, service accounts, and A
gogcli is a single command-line binary that manages Gmail, Drive, Calendar, Docs, Sheets, Slides, Forms, Apps Script, Contacts, People, Tasks, Classroom, Chat, Groups, Keep, and Workspace Admin services through a predictable service resource method grammar. It authenticates across multiple Google accounts using OAuth, service accounts, access tokens, or application default credentials, storing credentials in the OS keyring for secure persistence. The tool also exposes a Model Context Protocol server over stdio that registers typed tools for agent clients, and can invoke any Google Discovery-
This project is a REST API client library and Google Cloud SDK component that integrates Python applications with Google services. It functions as a discovery-based API client, utilizing an OAuth 2.0 integration library to secure requests and verify identity through access tokens and service accounts. The library is distinguished by its use of discovery documents to dynamically generate clients at runtime. By parsing JSON metadata, it maps Python method calls to HTTP requests and builds interface-based resource models that mirror the hierarchical structure of the remote service. Its broader
The Google Cloud Go Client Library is a set of Go packages and a software development kit used to interact with Google Cloud platform services and APIs. It provides the primary means for Go applications to integrate with cloud service endpoints through simplified language patterns and automated API request handling. The project features specialized libraries for managing identity and access via service accounts, API keys, and environment-based credential resolution. It includes dedicated SDKs for programmatic resource orchestration and the deployment and management of serverless functions, co
The Google API PHP Client Library is a development kit for interacting with Google Cloud services and APIs. It provides standardized service interfaces to retrieve and manipulate data, serving as a comprehensive SDK for executing network requests across Google cloud platforms. The library features a specialized authentication handler for OAuth 2.0, managing authorization flows, access tokens, and offline access via refresh tokens. It includes a service account authenticator that uses JSON key files or application default credentials for server-to-server communication, as well as mechanisms fo
Athens is a Go module proxy server and dependency cache that provides a persistent storage system for Go dependencies. It acts as a mirror and datastore to ensure reproducible build environments by storing immutable copies of external packages, protecting against upstream deletions or outages. The project distinguishes itself by serving as a secure gateway for private Go module hosting, utilizing authentication tokens, SSH keys, and GitHub Apps to retrieve dependencies from private version control systems. It further enables software dependency compliance through request filtering and checksu
imapsync is an IMAP mailbox synchronization tool and data migration utility designed to copy and synchronize email messages and folder structures between two IMAP servers. It functions as a migration manager for transferring bulk email accounts between different hosting providers, preserving folder hierarchies and message metadata. The tool is distinguished by its ability to automate the transfer of multiple mailboxes sequentially from delimited lists using administrative credentials or user-specific authentication. It supports advanced authentication methods including OAuth2 and XOAUTH2, and
Cerbos is an open-source authorization service that provides a centralized, language-agnostic engine for managing access control. It functions as a policy-as-code platform, allowing teams to define, test, and distribute authorization rules using declarative YAML or JSON configurations. By decoupling access logic from application code, it enables consistent permission enforcement across diverse service stacks. The project distinguishes itself through its ability to translate high-level authorization policies into native database query filters. This capability allows applications to enforce sec
LXD is a unified platform for managing both system containers and virtual machines through a single REST API and command-line interface. It provides a programmatic HTTP interface for controlling the full lifecycle of instances, enabling automation and integration with external tools. The system runs unprivileged containers with per-instance UID/GID mappings, seccomp filters, and AppArmor profiles for kernel-level isolation, while supporting multiple storage backends including directory, Btrfs, LVM, ZFS, Ceph, LINSTOR, and TrueNAS through a unified driver interface. The platform distinguishes
gdrive is a command line interface client for managing files, folders, and permissions within Google Drive. It functions as a backup utility and synchronization tool, allowing users to interact with their cloud storage through a terminal instead of a web browser. The project supports server-to-server integration by using service accounts and JSON credential files. This enables non-interactive identity verification and session establishment without requiring interactive user login prompts. The tool covers bidirectional and one-way synchronization between local directories and remote storage,
This project is a public key infrastructure management system designed to automate the issuance, renewal, and revocation of X.509, TLS, and SSH certificates. It functions as a machine identity provider and certificate authority, enabling the establishment of private PKI to secure inter-service communication and remote access. The system distinguishes itself through hardware-bound identity attestation, which ties cryptographic keys to physical device silicon or TPMs to prevent credential exfiltration. It supports a wide array of identity verification mechanisms, including OIDC, cloud-provider
ofetch is an HTTP client built on the native fetch API that adds automatic JSON serialization, request/response interceptors, configurable retry, and timeout handling. It provides descriptive error objects for non-OK responses and automatically parses response bodies based on their content type. The client supports creating pre-configured instances with preset base URLs, headers, and default options, enabling consistent configuration across a project. It offers full TypeScript type inference for response data and request payloads, and allows extending request options with custom properties wh
Ergo is a distributed actor framework for Go that implements the Erlang distribution protocol, enabling the construction of resilient, concurrent applications that can communicate transparently with Erlang/OTP nodes. At its core, it provides an actor model with isolated lightweight processes, priority-ordered mailboxes, and a meta-process architecture that separates blocking I/O from sequential message handling to prevent actor freezing. The framework includes a Raft-inspired cluster consensus system for leader election and automatic failover, along with OTP-style supervision trees that organi
apollo-ios is a GraphQL client library for iOS and Apple platforms that enables type-safe network communication. It transforms GraphQL operations into generated Swift models, ensuring that network responses are validated at compile time to eliminate manual mapping. The library features a normalized cache manager that stores entities in a flat structure to maintain data consistency across different application views. It also optimizes network performance using hash-based persisted queries to reduce payload sizes and supports real-time data streaming via WebSockets or HTTP subscriptions. The p
CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools
The Google API JavaScript Client Library is an official client for calling Google APIs directly from browser applications. It provides a programmatic interface to exchange data and execute service requests while managing request construction and response parsing. The library features dynamic client discovery, which loads machine-readable metadata at runtime to automatically generate request methods and parameter validation for various endpoints. It also includes an authentication client that handles OAuth 2.0 authorization flows to securely manage user identity and access tokens in the browse
gcalcli is a command-line interface and calendar management tool designed for viewing, creating, and managing events within Google Calendar. It functions as a Google API client that allows users to handle scheduling and appointments directly from a terminal without the use of a web browser. The tool enables terminal-based scheduling and calendar workflow automation, providing a way to manage daily agendas and schedule updates through a shell. The utility integrates with the Google Calendar API via a REST client and uses OAuth2 for authentication. It renders API data into human-readable table
gmaps is a library that provides a wrapper for the Google Maps API, serving as a geospatial data toolkit and interactive map renderer. It simplifies the integration of interactive maps into web applications by managing the embedding of map views and the lifecycle of markers. The project distinguishes itself through a specialized set of utilities for geocoding, which converts physical addresses to geographic coordinates and vice versa. It also includes a static map generator for creating non-interactive map images for lightweight environments. The capability surface covers geographic data vis
This project is a discovery-based API client and a Python library for interacting with Google services. It enables Python applications to make authenticated requests to Google Cloud and Workspace APIs. The library functions by consuming machine-readable metadata descriptions of remote web services to build functional client interfaces at runtime. This allows for dynamic API consumption by generating interfaces from metadata rather than using manual endpoint mapping. The project covers a range of integration capabilities, including cloud service automation and development for Google Workspace
This project is a Python-based web scraping tool and command line image downloader designed to automate the retrieval of images from Google Images. It functions as an image dataset collector, allowing users to gather large sets of images for data analysis or research through a terminal interface or programmatic scripts. The tool features advanced search filtering to restrict results by file format, color, size, aspect ratio, and usage rights. It also supports reverse image search to find visually similar media based on a provided URL and offers search scope expansion to increase result volume
gspread is a Python client library and API wrapper designed for programmatically interacting with Google Sheets. It serves as a spreadsheet automation library that enables the creation, organization, and management of cloud-based spreadsheets via Python scripts. The library provides a simplified interface for Google Sheets automation, allowing users to read, write, and update data without writing raw HTTP requests. It supports cloud spreadsheet integration, enabling external Python applications to use Google Sheets as a data storage layer. The project covers a broad range of capabilities inc
This repository is a collection of Python code examples that demonstrate how to use Google Cloud Platform services and APIs. Each sample is organized as a self-contained directory with its own dependencies, making it independently runnable and testable. The samples rely on Google's auto-generated Python client libraries and standardize invocation through command-line argument parsing, with configuration read from environment variables for portability across development and CI environments. The examples cover authentication setup using the gcloud CLI, along with practical demonstrations for se
This project is a Python client library for interacting with Google Maps web services to retrieve geospatial, routing, and place data. It provides a programmatic interface for developers to access geocoding, elevation, time zone, and point-of-interest services. The library implements automatic exponential backoff and request retries to handle intermittent server errors and rate limit exceedances. It manages communication through credential-based authentication and session-based connection pooling to reduce latency across repeated API calls. The capability surface covers bidirectional geocodi
md2googleslides is a tool that transforms markdown text into formatted Google Slides presentations. It functions as a presentation generation engine that maps markdown elements and rich text styles to slide components via the Google Slides API. The system enables programmatic presentation design, allowing users to define slide layouts and structures through specific markers in markdown. It handles the conversion of technical content, including the rasterization of mathematical expressions and vector graphics into images for slide compatibility. The tool supports the insertion of tables, emoj
py-googletrans is a Python translation library that serves as a wrapper for the Google Translate service. It provides programmatic tools for automated text translation and language detection. The library includes a language detection tool to identify the source language of a text string when the origin is unknown. To maintain stable connectivity, it utilizes translation request routing to direct traffic across alternative service domains. The project covers core translation services, including the ability to convert single strings or batches of text into specified destination languages.
Kanidm is a centralized identity management server designed to handle authentication, authorization, and directory services across distributed infrastructure. It provides a comprehensive framework for managing human and service accounts, utilizing a schema-driven database to store identity records, group memberships, and system attributes. The platform supports a wide range of authentication methods, including passkeys, passwords, and standard protocols like OAuth2, OIDC, LDAP, and RADIUS. The system distinguishes itself through a granular access control engine that enforces security policies
Dex is an OpenID Connect provider and identity federation proxy that translates authentication signals from various upstream sources into a unified OpenID Connect interface. It functions as a multi-protocol identity broker, enabling client applications to implement a single standard while delegating user verification to external identity providers. The project distinguishes itself through a pluggable connector architecture that bridges disparate protocols including LDAP, SAML, and OAuth2. It provides specific integrations for services such as GitHub, Google, GitLab, and Microsoft, while offer
This is a Go library for obtaining, refreshing, and attaching OAuth 2.0 access tokens to HTTP requests. It provides a generic token source interface with interchangeable implementations for different OAuth 2.0 grant types, and wraps the Go net/http transport layer to automatically attach access tokens as Authorization headers on outgoing requests. The library supports the authorization code flow, generating consent page URLs and exchanging authorization codes for tokens. It also implements the device authorization grant for authentication on devices without a browser, and the resource owner p