{"id":13454181,"url":"https://github.com/sangria-graphql/sangria","last_synced_at":"2026-04-13T11:01:17.693Z","repository":{"id":34634167,"uuid":"38584807","full_name":"sangria-graphql/sangria","owner":"sangria-graphql","description":"Scala GraphQL implementation","archived":false,"fork":false,"pushed_at":"2026-04-13T08:51:47.000Z","size":8350,"stargazers_count":1963,"open_issues_count":62,"forks_count":219,"subscribers_count":58,"default_branch":"main","last_synced_at":"2026-04-13T10:33:53.439Z","etag":null,"topics":["api","graphql","sangria","scala"],"latest_commit_sha":null,"homepage":"https://sangria-graphql.github.io","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ghtorrent/ghtorrent.org","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sangria-graphql.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-07-05T21:29:30.000Z","updated_at":"2026-04-13T08:47:09.000Z","dependencies_parsed_at":"2026-02-14T20:04:37.299Z","dependency_job_id":null,"html_url":"https://github.com/sangria-graphql/sangria","commit_stats":null,"previous_names":["olegilyenko/sangria"],"tags_count":111,"template":false,"template_full_name":null,"purl":"pkg:github/sangria-graphql/sangria","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangria-graphql%2Fsangria","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangria-graphql%2Fsangria/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangria-graphql%2Fsangria/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangria-graphql%2Fsangria/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sangria-graphql","download_url":"https://codeload.github.com/sangria-graphql/sangria/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sangria-graphql%2Fsangria/sbom","scorecard":{"id":104379,"data":{"date":"2025-08-04","repo":{"name":"github.com/sangria-graphql/sangria","commit":"2b288a70d3e4b694d3b36fbbdf03ea2c783169cc"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":5.8,"checks":[{"name":"Code-Review","score":7,"reason":"Found 11/14 approved changesets -- score normalized to 7","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/clean.yml:1","Warn: no topLevel permission defined: .github/workflows/release-drafter.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:115: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/ci.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-drafter.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/sangria-graphql/sangria/release-drafter.yml/main?enable=pin","Info:   0 out of   8 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   3 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/ci.yml:67"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T10:49:28.115Z","repository_id":34634167,"created_at":"2025-08-15T10:49:28.116Z","updated_at":"2025-08-15T10:49:28.116Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31749763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T09:16:15.125Z","status":"ssl_error","status_checked_at":"2026-04-13T09:16:05.023Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["api","graphql","sangria","scala"],"created_at":"2024-07-31T08:00:51.640Z","updated_at":"2026-04-13T11:01:17.647Z","avatar_url":"https://github.com/sangria-graphql.png","language":"Scala","funding_links":[],"categories":["Libraries","Table of Contents","Uncategorized","Scala","Implementations","Language Implementations","GraphQL [🔝](#readme)","\u003ca name=\"Scala\"\u003e\u003c/a\u003eScala"],"sub_categories":["Scala Libraries","Database","Uncategorized","Scala"],"readme":"![Sangria Logo](https://sangria-graphql.github.io/assets/img/sangria-logo.svg)\n\n[Sangria](https://sangria-graphql.github.io/) is a scala [GraphQL](http://facebook.github.io/graphql/) library.\n\n![Continuous Integration](https://github.com/sangria-graphql/sangria/workflows/Continuous%20Integration/badge.svg)\n[![Coverage Status](http://coveralls.io/repos/sangria-graphql/sangria/badge.svg?branch=master\u0026service=github)](http://coveralls.io/github/sangria-graphql/sangria?branch=master)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.sangria-graphql/sangria_2.13/badge.svg)](https://maven-badges.herokuapp.com/maven-central/org.sangria-graphql/sangria_2.13)\n[![License](http://img.shields.io/:license-Apache%202-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.txt)\n[![Scaladocs](https://www.javadoc.io/badge/org.sangria-graphql/sangria_2.13.svg?label=docs)](https://www.javadoc.io/doc/org.sangria-graphql/sangria_2.13)\n[![Join the chat at https://gitter.im/sangria-graphql/sangria](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/sangria-graphql/sangria?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nSBT Configuration:\n\n```scala\nlibraryDependencies += \"org.sangria-graphql\" %% \"sangria\" % \"\u003clatest version\u003e\"\n```\n\nYou can find an example application that uses akka-http with sangria here:\n\nhttps://github.com/sangria-graphql/sangria-akka-http-example\n\nMore info and the documentation can be found in the project home page:\n\n[https://sangria-graphql.github.io/](https://sangria-graphql.github.io/)\n\nI would also recommend you to check out [Sangria Playground](https://github.com/sangria-graphql/sangria-playground).\nIt is an example of GraphQL server written with Play framework and Sangria. It also serves as a playground,\nwhere you can interactively execute GraphQL queries and play with some examples.\n\nIf you want to use sangria with [react-relay](https://facebook.github.io/relay) framework, then you also may be interested in [sangria-relay](https://github.com/sangria-graphql/sangria-relay).\n\nSangria is a spec compliant GraphQL implementation, so it works out of the box with [Apollo](https://github.com/apollographql/apollo-client), [Relay](https://facebook.github.io/relay/), [GraphiQL](https://github.com/graphql/graphiql) and other GraphQL tools and libraries.\n\n\n## Hello World Example\n\nIn this example we will use [circe](https://github.com/circe/circe) JSON marshalling, so we also need to include following dependency:\n\n```scala\nlibraryDependencies += \"org.sangria-graphql\" %% \"sangria-circe\" % \"1.3.2\"\n```\n\nThe most simple Hello World application might look like this:\n\n```scala\nimport sangria.schema._\nimport sangria.execution._\nimport sangria.macros._\nimport sangria.marshalling.circe._\nimport scala.concurrent.ExecutionContext.Implicits.global\n\nval QueryType = ObjectType(\"Query\", fields[Unit, Unit](\n  Field(\"hello\", StringType, resolve = _ =\u003e \"Hello world!\")\n))\n\nval schema = Schema(QueryType)\n\nval query = graphql\"{ hello }\"\n\nval result = Executor.execute(schema, query)\n\nresult.foreach(res =\u003e println(res.spaces2))\n```\n\nthis example will print following result JSON:\n\n```json\n{\n  \"data\" : {\n    \"hello\" : \"Hello world!\"\n  }\n}\n```\n\nFor more complex example, I would recommend you to check out the [Getting Started Tutorial](https://sangria-graphql.github.io/getting-started/).\n\n## Issues, Bugs, Ideas\n\nIf you've got some interesting ideas to share or discovered a nasty bug, feel free to use\n[Sangria's issue tracker](https://github.com/sangria-graphql/sangria/issues).\nAlso feel free to fork project and create the pull requests - they are highly appreciated!\n\nIf you are facing an issue and not sure what would be the best way to describe it, the I would recommend you to use [this minimal gist](https://gist.github.com/OlegIlyenko/4068ad92e008cd4b5def1baa4ec3a67c) as a template. \n\n## StackOverflow\n\nIn case you need some help or support, then you can use [StackOverflow](https://stackoverflow.com/questions/tagged/sangria) for this.\nWhen you are [asking a question](https://stackoverflow.com/questions/ask?tags=scala,graphql,sangria),\nbe sure to add `scala`, `graphql` and `sangria` tags, so that other people can easily find them.\n\n## Gitter\n\nFor more general, lengthy discussions or pretty much anything else please join us in the \n[gitter chat](https://gitter.im/sangria-graphql/sangria).\n\n## Contribute\n\nIf you like the project and would like to support it or contribute to it, then you are very welcome to do so.\nYou can spread the word and tweet about the project or even better - create a small blog post, video, example project and show how you use sangria and GraphQL.\nI'm pretty sure it would be interesting for many people.\n\nAlso you can contribute to [the documentation](https://github.com/sangria-graphql/sangria-website) or help others by answering questions on\n[StackOverflow](https://stackoverflow.com/questions/tagged/sangria) or joining discussions on the [gitter chat](https://gitter.im/sangria-graphql/sangria).\nIt would be very helpful!\n\nNot to mention the code itself. There is nothing more exciting than hacking some stuff together :)\nSo please feel free to materialize your ideas in form of code and send pull requests! \n\n## License\n\n**Sangria** is licensed under [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsangria-graphql%2Fsangria","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsangria-graphql%2Fsangria","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsangria-graphql%2Fsangria/lists"}