[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10281":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":30,"readmeContent":31,"aiSummary":32,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":33,"discoverSource":34},10281,"absinthe","absinthe-graphql\u002Fabsinthe","absinthe-graphql","The GraphQL toolkit for Elixir","http:\u002F\u002Fabsinthe-graphql.org",null,"Elixir",4400,555,68,54,0,2,30.24,"Other",false,"main",true,[5,24,25,26,27,28,29],"api","apollo-client","elixir","graphql","relay","services","2026-06-12 02:02:19","# Absinthe\n\n[![Build Status](https:\u002F\u002Fgithub.com\u002Fabsinthe-graphql\u002Fabsinthe\u002Fworkflows\u002FCI\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fabsinthe-graphql\u002Fabsinthe\u002Factions?query=workflow%3ACI)\n[![Version](https:\u002F\u002Fimg.shields.io\u002Fhexpm\u002Fv\u002Fabsinthe.svg)](https:\u002F\u002Fhex.pm\u002Fpackages\u002Fabsinthe)\n[![Hex Docs](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fhex-docs-lightgreen.svg)](https:\u002F\u002Fhexdocs.pm\u002Fabsinthe\u002F)\n[![Download](https:\u002F\u002Fimg.shields.io\u002Fhexpm\u002Fdt\u002Fabsinthe.svg)](https:\u002F\u002Fhex.pm\u002Fpackages\u002Fabsinthe)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![Last Updated](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fabsinthe-graphql\u002Fabsinthe.svg)](https:\u002F\u002Fgithub.com\u002Fabsinthe-graphql\u002Fabsinthe\u002Fcommits\u002Fmain)\n\n[GraphQL](https:\u002F\u002Fgraphql.org) implementation for Elixir.\n\nGoals:\n\n- Complete implementation of the [GraphQL Working Draft](https:\u002F\u002Fspec.graphql.org\u002Fdraft\u002F).\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:\u002F\u002Fabsinthe-graphql.org](https:\u002F\u002Fabsinthe-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\u002Fpreventing 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:\u002F\u002Frelay.dev\u002F) 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:\u002F\u002Fhex.pm\u002Fpackages\u002Fabsinthe):\n\n```elixir\ndef deps do\n  [{:absinthe, \"~> 1.7.0\"}]\nend\n```\n\nNote: Absinthe requires Elixir 1.10 or higher.\n\n## Upgrading\n\nSee [CHANGELOG](.\u002FCHANGELOG.md) for upgrade steps between versions.\n\n## Documentation\n\n- [Absinthe hexdocs](https:\u002F\u002Fhexdocs.pm\u002Fabsinthe).\n- For the tutorial, guides, and general information about Absinthe-related\n  projects, see [https:\u002F\u002Fabsinthe-graphql.org](https:\u002F\u002Fabsinthe-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:\u002F\u002Fgithub.com\u002Fabsinthe-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](.\u002FCODE_OF_CONDUCT.md).\n\n## Contribution\n\nPlease follow [contribution guide](.\u002FCONTRIBUTING.md).\n\n## License\n\nSee [LICENSE.md](.\u002FLICENSE.md).\n","Absinthe 是一个用于 Elixir 的 GraphQL 工具包。它提供了完整的 GraphQL 规范文档实现，具有易读性强、性能高的模式定义，以及灵活的查询处理管道配置能力。Absinthe 支持异步字段解析和批量字段解析来解决 N+1 查询问题，并通过复杂性分析等机制保证了应用的安全性和稳定性。此外，它还支持 Phoenix 和 Plug 等后端框架及 Relay 等前端框架，非常适合需要高效构建和维护复杂 API 的场景。","2026-06-11 03:27:35","top_topic"]