Elixir client libraries for accessing Google APIs, generated from Google's API discovery service.
GoogleApis is a repository containing generated Elixir client libraries for accessing Google APIs. It provides a way for Elixir applications to interact with services like Google Cloud Storage, Drive, and many others through automatically generated modules. The project includes tooling to fetch Google's API specifications and convert them into usable Elixir code.
Elixir developers who need to integrate Google services (e.g., Google Cloud, Gmail, YouTube) into their applications. It's particularly useful for teams building backend services or cloud-native applications in Elixir.
Developers choose this because it provides officially-style, generated clients that reduce boilerplate and maintenance effort. The automation ensures clients stay synchronized with Google's API updates, and the Hex.pm distribution simplifies dependency management.
Elixir client libraries for accessing Google APIs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates Elixir modules directly from Google's API discovery format, ensuring compatibility and reducing manual maintenance, as highlighted in the README's key features.
Targets a comprehensive range of Google APIs, from cloud services like Storage to productivity tools like Drive and Gmail, allowing access without custom code.
All clients are published as individual packages on Hex.pm, making it simple to add specific APIs to a project's mix.exs dependencies.
Supports both service account credentials and OAuth 2.0 flows through the Goth library, with mix tasks provided for token fetching, as detailed in the usage section.
The README explicitly states generated clients are 'under development and should be considered experimental,' making them risky for production use without thorough testing.
Building clients requires installing nodejs, npm dependencies, and running multiple mix tasks (discover, fetch, convert, build), adding overhead and potential setup issues.
Since clients are automatically generated from specs, developers have less control over code structure and may find it difficult to tailor clients for specific optimizations or edge cases.