Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. neuron

neuron

NOASSERTIONElixir

A flexible GraphQL client for Elixir applications with customizable JSON and connection modules.

Visit WebsiteGitHubGitHub
333 stars36 forks0 contributors

What is neuron?

Neuron is a GraphQL client library for Elixir that enables developers to interact with GraphQL APIs from their Elixir applications. It handles query execution, mutations, and response parsing while providing configuration options for JSON libraries and network connections. The library solves the problem of integrating GraphQL services into Elixir projects with minimal boilerplate code.

Target Audience

Elixir developers building applications that need to consume GraphQL APIs, particularly those requiring customization of JSON serialization or network communication layers.

Value Proposition

Developers choose Neuron for its balance of simplicity and extensibility—it works out-of-the-box with sensible defaults but allows deep customization of JSON handling and connection protocols. Unlike more rigid GraphQL clients, Neuron's modular design adapts to diverse project requirements.

Overview

A GraphQL client for Elixir

Use Cases

Best For

  • Building Elixir applications that consume external GraphQL APIs
  • Projects requiring custom JSON serialization/deserialization for GraphQL
  • Applications needing to override HTTP timeouts for long-running GraphQL queries
  • Teams wanting to implement custom connection layers for specialized protocols
  • Elixir developers preferring pattern-matching-friendly response structures
  • Integrating GraphQL services with configurable authentication headers

Not Ideal For

  • Projects requiring built-in GraphQL subscription support for real-time data
  • Teams needing automatic schema introspection or code generation for type-safe queries
  • Applications demanding extensive caching strategies out of the box
  • Environments where minimizing external dependencies is critical due to reliance on Jason and HTTPoison

Pros & Cons

Pros

Flexible JSON Handling

Defaults to Jason but allows any JSON library implementing the required behavior, enabling customization for specific serialization needs, as shown in the config example.

Customizable Connection Layer

Supports HTTPoison by default but can be extended with custom modules, allowing adaptation to different protocols beyond HTTP, demonstrated in the connection module implementation.

Configurable Timeouts

Allows overriding HTTP timeouts globally or per-request, useful for handling long-running operations, with clear examples in the README for setting recv_timeout.

Clean Response Structure

Returns responses in a structured Neuron.Response tuple, facilitating easy pattern matching in Elixir code, as seen in the query response format.

Cons

Missing Advanced Features

Lacks built-in support for GraphQL subscriptions, caching, or automatic retries, which are common in more comprehensive GraphQL clients and may require extra implementation.

Manual Configuration Overhead

Setting up custom JSON libraries or connection modules requires additional code, which can be verbose and error-prone for simple integrations compared to drop-in solutions.

Sparse Initial Documentation

The README provides basic usage but lacks in-depth examples for complex scenarios, pushing users to external hexdocs for detailed guidance, potentially slowing onboarding.

Frequently Asked Questions

Quick Stats

Stars333
Forks36
Contributors0
Open Issues3
Last commit3 years ago
CreatedSince 2017

Tags

#hex#elixir-lang#elixir#graphql#api-client#elixir-library#graphql-client#hex-package#httpoison#api-integration

Built With

H
HTTPoison
E
Elixir
J
Jason

Links & Resources

Website

Included in

Elixir13.1k
Auto-fetched 23 hours ago

Related Projects

httpoisonhttpoison

Yet Another HTTP client for Elixir powered by hackney

Stars2,297
Forks348
Last commit19 days ago
teslatesla

The flexible HTTP client library for Elixir, with support for middleware and multiple adapters.

Stars2,075
Forks368
Last commit2 days ago
mochiwebmochiweb

MochiWeb is an Erlang library for building lightweight HTTP servers.

Stars1,888
Forks462
Last commit24 days ago
hackneyhackney

simple HTTP client in Erlang

Stars1,411
Forks448
Last commit14 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub