{"id":13466410,"url":"https://github.com/absinthe-graphql/absinthe","last_synced_at":"2025-10-18T18:49:03.596Z","repository":{"id":37285399,"uuid":"44419624","full_name":"absinthe-graphql/absinthe","owner":"absinthe-graphql","description":"The GraphQL toolkit for Elixir","archived":false,"fork":false,"pushed_at":"2025-05-05T09:15:30.000Z","size":4323,"stargazers_count":4319,"open_issues_count":72,"forks_count":534,"subscribers_count":77,"default_branch":"main","last_synced_at":"2025-05-11T02:53:08.207Z","etag":null,"topics":["absinthe","api","apollo-client","elixir","graphql","relay","services"],"latest_commit_sha":null,"homepage":"http://absinthe-graphql.org","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/absinthe-graphql.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2015-10-17T01:56:28.000Z","updated_at":"2025-05-11T00:14:16.000Z","dependencies_parsed_at":"2024-02-14T21:30:32.095Z","dependency_job_id":"87660860-0fe4-4e7f-beae-d6497f05c928","html_url":"https://github.com/absinthe-graphql/absinthe","commit_stats":{"total_commits":1713,"total_committers":237,"mean_commits":7.227848101265823,"dds":0.7530647985989491,"last_synced_commit":"e37e2858c330bda08cbdb1d62f7c6fa7b3a1ca32"},"previous_names":[],"tags_count":105,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/absinthe-graphql","download_url":"https://codeload.github.com/absinthe-graphql/absinthe/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253509775,"owners_count":21919587,"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","api","apollo-client","elixir","graphql","relay","services"],"created_at":"2024-07-31T15:00:43.701Z","updated_at":"2025-10-18T18:49:03.492Z","avatar_url":"https://github.com/absinthe-graphql.png","language":"Elixir","funding_links":[],"categories":["Elixir","Libraries","Top 20 packages","Domain-specific language","Implementations","Tools","\u003ca name=\"Elixir\"\u003e\u003c/a\u003eElixir"],"sub_categories":["Elixir Libraries","Elixir","Mesh networks"],"readme":"# Absinthe\n\n[![Build Status](https://github.com/absinthe-graphql/absinthe/workflows/CI/badge.svg)](https://github.com/absinthe-graphql/absinthe/actions?query=workflow%3ACI)\n[![Version](https://img.shields.io/hexpm/v/absinthe.svg)](https://hex.pm/packages/absinthe)\n[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/absinthe/)\n[![Download](https://img.shields.io/hexpm/dt/absinthe.svg)](https://hex.pm/packages/absinthe)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Last Updated](https://img.shields.io/github/last-commit/absinthe-graphql/absinthe.svg)](https://github.com/absinthe-graphql/absinthe/commits/main)\n\n[GraphQL](https://graphql.org) implementation for Elixir.\n\nGoals:\n\n- Complete implementation of the [GraphQL Working Draft](https://spec.graphql.org/draft/).\n- An idiomatic, readable, and comfortable API for Elixir developers\n- Extensibility based on small parts that do one thing well.\n- Detailed error messages and documentation.\n- A focus on robustness and production-level performance.\n\nPlease see the website at [https://absinthe-graphql.org](https://absinthe-graphql.org).\n\n## Why Use Absinthe?\n\nAbsinthe goes far beyond GraphQL specification basics.\n\n### Easy-to-Read, Fast-to-Run Schemas\n\nAbsinthe schemas are defined using easy-to-read macros that build and verify\ntheir structure at compile-time, preventing runtime errors and increasing\nperformance.\n\n### Pluggability\n\nThe entire query processing pipeline is configurable. Add, swap out, or remove\nthe parser, individual validations, or resolution logic at will, even on a\nper-document basis.\n\n### Advanced Resolution\n\nAbsinthe includes a number of advanced resolution features, to include:\n\n- Asynchronous field resolution\n- Batched field resolution (addressing N+1 query problems)\n- A resolution plugin system supporting further extensibility\n\n### Safety\n\n- Complexity analysis and configurable limiting\n- Support for precompiled documents/preventing custom documents\n\n### Idiomatic Documents, Idiomatic Code\n\nWrite your schemas in idiomatic Elixir `snake_case` notation. Absinthe can\ntransparently translate to `camelCase` notation for your API clients.\n\nOr, define your own translation schema by writing a simple adapter.\n\n### Frontend Support\n\nWe care about support for third-party frameworks, both on the back and\nfront end.\n\nSo far, we include specialized support for Phoenix and Plug on the backend,\nand [Relay](https://relay.dev/) on the frontend.\n\nOf course we work out of the box with other frontend frameworks and GraphQL\nclients, too.\n\n## Installation\n\nInstall from [Hex.pm](https://hex.pm/packages/absinthe):\n\n```elixir\ndef deps do\n  [{:absinthe, \"~\u003e 1.7.0\"}]\nend\n```\n\nNote: Absinthe requires Elixir 1.10 or higher.\n\n## Upgrading\n\nSee [CHANGELOG](./CHANGELOG.md) for upgrade steps between versions.\n\n## Documentation\n\n- [Absinthe hexdocs](https://hexdocs.pm/absinthe).\n- For the tutorial, guides, and general information about Absinthe-related\n  projects, see [https://absinthe-graphql.org](https://absinthe-graphql.org).\n\n### Mix Tasks\n\nAbsinthe includes a number of useful Mix tasks for extracting schema metadata.\n\nRun `mix help` in your project and look for tasks starting with `absinthe`.\n\n## Related Projects\n\nSee the [GitHub organization](https://github.com/absinthe-graphql).\n\n## Community\n\nThe project is under constant improvement by a growing list of\ncontributors, and your feedback is important. Please join us in Slack\n(`#absinthe-graphql` under the Elixir Slack account) or the Elixir Forum\n(tagged `absinthe`).\n\nPlease remember that all interactions in our official spaces follow\nour [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n## Contribution\n\nPlease follow [contribution guide](./CONTRIBUTING.md).\n\n## License\n\nSee [LICENSE.md](./LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabsinthe-graphql%2Fabsinthe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabsinthe-graphql%2Fabsinthe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabsinthe-graphql%2Fabsinthe/lists"}