{"id":13599891,"url":"https://github.com/apollographql/apollo-rs","last_synced_at":"2026-02-25T22:08:05.362Z","repository":{"id":37605897,"uuid":"359915803","full_name":"apollographql/apollo-rs","owner":"apollographql","description":"Spec compliant GraphQL Tools in Rust.","archived":false,"fork":false,"pushed_at":"2026-02-25T16:17:57.000Z","size":5763,"stargazers_count":599,"open_issues_count":77,"forks_count":47,"subscribers_count":24,"default_branch":"main","last_synced_at":"2026-02-25T19:54:23.365Z","etag":null,"topics":["apollo","compiler","graphql","graphql-compiler","graphql-parser","graphql-tools","parser","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apollographql.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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":"2021-04-20T18:34:56.000Z","updated_at":"2026-02-23T21:18:23.000Z","dependencies_parsed_at":"2023-09-25T23:05:30.595Z","dependency_job_id":"e6ab3a03-409c-41c8-9ecb-a0f08d8c6555","html_url":"https://github.com/apollographql/apollo-rs","commit_stats":{"total_commits":465,"total_committers":28,"mean_commits":"16.607142857142858","dds":0.2967741935483871,"last_synced_commit":"183ae488b5def080dc25a4f97d2c31270ff9a568"},"previous_names":[],"tags_count":128,"template":false,"template_full_name":null,"purl":"pkg:github/apollographql/apollo-rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apollographql%2Fapollo-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apollographql%2Fapollo-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apollographql%2Fapollo-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apollographql%2Fapollo-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apollographql","download_url":"https://codeload.github.com/apollographql/apollo-rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apollographql%2Fapollo-rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29843031,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-25T21:18:31.832Z","status":"ssl_error","status_checked_at":"2026-02-25T21:18:29.265Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["apollo","compiler","graphql","graphql-compiler","graphql-parser","graphql-tools","parser","rust"],"created_at":"2024-08-01T17:01:16.230Z","updated_at":"2026-02-25T22:08:05.343Z","avatar_url":"https://github.com/apollographql.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e\u003ccode\u003eapollo-rs\u003c/code\u003e\u003c/h1\u003e\n\n  \u003cp\u003e\n    \u003cstrong\u003eRust tooling for manipulation of the GraphQL language.\u003c/strong\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## Tools included\n\nThis project is intended to house a number of tools related to the low-level\nworkings of GraphQL according to the [GraphQL specification]. Nothing in\nthese libraries is specific to Apollo, and can freely be used by other\nprojects which need standards-compliant GraphQL tooling written in Rust. The\nfollowing crates currently exist:\n\n* [**`apollo-compiler`**](crates/apollo-compiler/) - a library to manipulate, semantically analyze, and validate GraphQL schema definition and query language\n* [**`apollo-parser`**](crates/apollo-parser) - a library to parse the GraphQL (used by `apollo-compiler`)\n* [**`apollo-smith`**](crates/apollo-smith) - a test case generator to deterministically produce arbitrary GraphQL documents\n\nPlease check out their respective READMEs for usage examples.\n\n## Status\n`apollo-rs` is a living project that keeps evolving and is being used in production.\nIf you try out `apollo-rs` and run into trouble, we encourage you to open an [issue].\n\n## Design Principles\n1. **Prioritizing developer experience.** Elegant and ergonomic APIs is the\ntheme for Rust as a language, and we want to make sure that all component APIs\nwe provide are aligned with these principles.\n\n2. **Stability and reliability.** Spec-compliant, and idempotent APIs\nwhich can be used safely in enterprise-grade codebases.\n\n3. **Diagnostics.** The tools are to be written in a way that will allow us to\nproduce detailed diagnostics. It does not panic or return early if there is a\nlexical or a syntactic error. Instead, the parser is meant to gather as much\ncontext and information as possible and return errors alongside the output that\nis valid. Coincidentally, this allows for easily debuggable code for those\nmaintaining this project.\n\n4. **Extensibility.** The parser is written to work with different use cases in\nour budding Rust GraphQL ecosystem, be it building schema-diagnostics for Rover,\nor writing out query planning and composition algorithms in Rust. These all have\nquite different requirements when it comes to document manipulation. We wanted to\nmake sure we account for them early on.\n\n## Rust versions\n\n`apollo-rs` is tested on the latest stable version of Rust.\nOlder version may or may not be compatible.\n\n## License\nLicensed under either of\n\n- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or https://www.apache.org/licenses/LICENSE-2.0)\n- MIT license ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT)\n\nat your option.\n\n[issue]: https://github.com/apollographql/apollo-rs/issues/new/choose\n[GraphQL specification]: https://spec.graphql.org/October2021","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapollographql%2Fapollo-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapollographql%2Fapollo-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapollographql%2Fapollo-rs/lists"}