{"id":14976249,"url":"https://github.com/gen1321/simple_graphql_client","last_synced_at":"2026-02-13T13:48:42.334Z","repository":{"id":57548226,"uuid":"153018162","full_name":"gen1321/simple_graphql_client","owner":"gen1321","description":"SimpleGraphqlClient is a graphql client, focused on simplicity and ease of use.","archived":false,"fork":false,"pushed_at":"2020-02-12T20:09:28.000Z","size":43,"stargazers_count":19,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T07:41:10.512Z","etag":null,"topics":["absinthe","absinthe-graphql","elixir","elixir-lang","elixir-library","graphql","graphql-client","hex"],"latest_commit_sha":null,"homepage":null,"language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gen1321.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-14T20:56:01.000Z","updated_at":"2023-09-01T10:55:38.000Z","dependencies_parsed_at":"2022-09-26T18:40:27.340Z","dependency_job_id":null,"html_url":"https://github.com/gen1321/simple_graphql_client","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen1321%2Fsimple_graphql_client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen1321%2Fsimple_graphql_client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen1321%2Fsimple_graphql_client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gen1321%2Fsimple_graphql_client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gen1321","download_url":"https://codeload.github.com/gen1321/simple_graphql_client/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238536133,"owners_count":19488663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["absinthe","absinthe-graphql","elixir","elixir-lang","elixir-library","graphql","graphql-client","hex"],"created_at":"2024-09-24T13:53:34.492Z","updated_at":"2025-10-27T18:30:48.099Z","avatar_url":"https://github.com/gen1321.png","language":"Elixir","readme":"# SimpleGraphqlClient\nSimple Graphql client for elixir!\n\n## Why\nQ: There is a lot of others GraphQL clients for elixir, why creating another one.\n\nA: Because some of them wants you to interpolate variables directly into your query string, and IMHO that is not best approach, some of them are too complicated for just pick them up. And some of them extremely cool like Maple but do not fit into general usage.\n\n## Usage\n### Query/Mutation example\n```elixir\niex\u003e\nquery = \"query users($name: String){users(name: $name){name}}\"\nSimpleGraphqlClient.graphql_request(query, %{name: \"Boris\"})\n# Will produce\n{:ok,\n%SimpleGraphqlClient.Response{\n  body: {:ok, %{\"data\" =\u003e %{\"users\" =\u003e []}}},\n  headers: [],\n  status_code: 200\n  }\n}\n```\n\n### Subscription example\n```elixir \nsub_query = \"\n  subscription testsub {\n    userAdded{\n      email\n    }\n  }\n\"\nSimpleGraphqlClient.absinthe_subscribe(sub_query, %{}, \u0026IO.inputs/1)\n\n# Will produce \n%{\"userAdded\" =\u003e %{\"email\" =\u003e \"testuser@example.com\"}}\n  ```\n\n## More examples\nYou can find more examples in `test_app/test/graphql` folder\n\n## Configuration\nFor configuration i suggest to write your own wrappers of \u0026graphql_request/3 or any subscribe function. If you want to pass Authorization parametrs to WS connection, please encode them into url.\n\n## Installation\n```elixir\ndef deps do\n  [\n    {:simple_graphql_client, \"~\u003e 0.2.0\"}\n  ]\nend\n```\n\n## Roadmap\n  * Add support for subscribtion(50% done, absinthe subscriptions already here)\n  * Better Dialyzer\n  * CI/Test coverege\n  \n PRs are WELCOME\n\nDocumentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)\nand published on [HexDocs](https://hexdocs.pm). Once published, the docs can\nbe found at [https://hexdocs.pm/simple_graphql_client](https://hexdocs.pm/simple_graphql_client).\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgen1321%2Fsimple_graphql_client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgen1321%2Fsimple_graphql_client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgen1321%2Fsimple_graphql_client/lists"}