{"id":13503808,"url":"https://github.com/amrdeveloper/gql","last_synced_at":"2025-05-11T03:49:16.400Z","repository":{"id":173899900,"uuid":"649816851","full_name":"AmrDeveloper/GQL","owner":"AmrDeveloper","description":"GitQL is a extensible SQL-like query language and SDK to perform queries on various data sources such .git files with supports of most of SQL features such as grouping, ordering and aggregation and window functions and allow customization like user-defined types and functions","archived":false,"fork":false,"pushed_at":"2025-05-04T13:02:55.000Z","size":7044,"stargazers_count":3404,"open_issues_count":10,"forks_count":93,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-05-11T03:49:08.434Z","etag":null,"topics":["database","engine","git","gitql","gitql-sdk","gql","interpreter","memory-database","rust","sql"],"latest_commit_sha":null,"homepage":"https://amrdeveloper.github.io/GQL/","language":"Rust","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/AmrDeveloper.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"amrdeveloper"}},"created_at":"2023-06-05T17:46:51.000Z","updated_at":"2025-05-10T03:11:05.000Z","dependencies_parsed_at":"2023-09-23T12:58:15.117Z","dependency_job_id":"d74af58a-4e6b-48a7-9f78-ee88905d225c","html_url":"https://github.com/AmrDeveloper/GQL","commit_stats":{"total_commits":628,"total_committers":16,"mean_commits":39.25,"dds":0.0859872611464968,"last_synced_commit":"177df6a9ada52860c20820630d02a52a0a8c17f0"},"previous_names":["amrdeveloper/gql"],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2FGQL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2FGQL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2FGQL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmrDeveloper%2FGQL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmrDeveloper","download_url":"https://codeload.github.com/AmrDeveloper/GQL/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253514559,"owners_count":21920334,"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":["database","engine","git","gitql","gitql-sdk","gql","interpreter","memory-database","rust","sql"],"created_at":"2024-07-31T23:00:45.681Z","updated_at":"2025-05-11T03:49:16.376Z","avatar_url":"https://github.com/AmrDeveloper.png","language":"Rust","readme":"\u003ch1 align=\"center\"\u003eGitQL - Git Query Language\u003c/h1\u003e\u003c/br\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"media/gitql_logo.svg\" width=\"20%\" height=\"20%\"/\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"Crates.io\" src=\"https://img.shields.io/crates/v/gitql?style=flat-square\"\u003e\n  \u003cimg alt=\"Deps\" src=\"https://deps.rs/repo/github/amrdeveloper/gql/status.svg\"\u003e\n  \u003cimg alt=\"Release\" src=\"https://github.com/AmrDeveloper/GQL/actions/workflows/release.yaml/badge.svg\"\u003e\n  \u003cimg alt=\"Docs\" src=\"https://github.com/AmrDeveloper/GQL/actions/workflows/docs.yaml/badge.svg\"\u003e\n  \u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/v/release/amrdeveloper/gql\"\u003e\n  \u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/amrdeveloper/gql\"\u003e\n  \u003cimg alt=\"GitHub\" src=\"https://img.shields.io/github/license/amrdeveloper/gql\"\u003e\n  \u003cimg all=\"Crates.io\" src=\"https://img.shields.io/crates/d/gitql?label=Crates.io%20Downloads\"\u003e\n  \u003cimg alt=\"GitHub all releases\" src=\"https://img.shields.io/github/downloads/amrdeveloper/gql/total\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nGitQL is a tool that built using the GitQL SDk to perform SQL like query on your local .git files\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nGitQL SDK is an in memory query engine implemented from scratch as a set of libraries that allow you to perform high customization in types, schema, data provider, operators and functions, so you can build your own tool to run SQL like query on any kind of data. \n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"media/gitql_demo.gif\" alt=\"animated\" width=\"100%\"/\u003e\n\u003c/p\u003e\n\n---\n\n### Samples\n\nNote that all Keywords in GitQL are case-insensitive, similar to SQL.\n\n```sql\nSELECT 1\nSELECT 1 + 2\nSELECT LEN(\"Git Query Language\")\nSELECT \"One\" IN (\"One\", \"Two\", \"Three\")\nSELECT \"Git Query Language\" LIKE \"%Query%\"\nSELECT INTERVAL '1 year 2 mons 3 days 04:05:06.789'\n\nSET @arr = [1, 2, 3];\nSELECT [[1, 2, 3], [4, 5, 6], [7, 8, 9]];\nSELECT @arr[1], @arr[2], @arr[3], ARRAY_LENGTH(@arr);\nSELECT @arr[1:2], @arr[2:], @arr[:2];\n\nSELECT DISTINCT title AS tt FROM commits\nSELECT author_name, COUNT(author_name) AS commit_num FROM commits GROUP BY author_name, author_email ORDER BY commit_num DESC LIMIT 10\nSELECT commit_count FROM branches WHERE commit_count BETWEEN 0 AND 10\n\nSELECT * FROM refs WHERE type = \"branch\"\nSELECT * FROM refs ORDER BY type\n\nSELECT * FROM commits\nSELECT author_name, author_email FROM commits\nSELECT author_name, author_email FROM commits ORDER BY author_name DESC, author_email ASC\nSELECT author_name, author_email FROM commits WHERE author_email LIKE \"%gmail%\" ORDER BY author_name\nSELECT * FROM commits WHERE LOWER(author_name) = \"AmrDeveloper\"\nSELECT author_name FROM commits GROUP By author_name\nSELECT author_name FROM commits GROUP By author_name HAVING author_name = \"AmrDeveloper\"\n\nSELECT * FROM branches\nSELECT * FROM branches WHERE is_head = true\nSELECT name, LEN(name) FROM branches\n\nSELECT * FROM tags\nSELECT * FROM tags OFFSET 1 LIMIT 1\n\nSELECT path, count() AS changes_count, SUM(insertions) AS additions, SUM(removals) AS removes FROM diffs_changes GROUP BY path ORDER BY changes_count DESC\n```\n\n---\n\n## GitQL Documentation\n\n- [Full Documentation](https://amrdeveloper.github.io/GQL/)\n- [Install or Build](https://amrdeveloper.github.io/GQL/setup)\n- [Tables](https://amrdeveloper.github.io/GQL/structure/tables)\n- [Types](https://amrdeveloper.github.io/GQL/structure/types)\n- [Statements](https://amrdeveloper.github.io/GQL/statement)\n- [Expressions](https://amrdeveloper.github.io/GQL/expression)\n- [Functions and Operators](https://amrdeveloper.github.io/GQL/functions)\n- [Aggregations](https://amrdeveloper.github.io/GQL/functions/aggregations)\n\n## GitQL SDK Documentations\n\n- [GitQL SDK](https://amrdeveloper.github.io/GQL/sdk/)\n- [Customize the Data Schema](https://amrdeveloper.github.io/GQL/sdk/schema.md).\n- [Customize the Data Provider](https://amrdeveloper.github.io/GQL/sdk/provider.md).\n- [Customize the Standard library](https://amrdeveloper.github.io/GQL/sdk/functions.md).\n- [Customize the Type system](https://amrdeveloper.github.io/GQL/sdk/types.md).\n- [Customize the Value system](https://amrdeveloper.github.io/GQL/sdk/values.md).\n- [Connect Components together](https://amrdeveloper.github.io/GQL/sdk/assemble.md).\n\n---\n\n## Tools built using GitQL SDK\n\n- [LLQL](https://github.com/amrdeveloper/llql):\n  Tool to run SQL query on LLVM IR/BC and perform Pattern matching on instructions.\n- [ClangQL](https://github.com/amrdeveloper/clangql):\n  Tool to run SQL query on C/C++ Source code files.\n- [FileQL](https://github.com/amrdeveloper/fileql)\n  Tool to run SQL query on file systems and extract metadata.\n- [PyQL](https://github.com/AmrDeveloper/PyQL)\n  Tool to run SQL query on Python Source code files.\n\n---\n\n### License\n```\nMIT License\n\nCopyright (c) 2023 - 2025 Amr Hesham\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n","funding_links":["https://github.com/sponsors/amrdeveloper"],"categories":["Applications"],"sub_categories":["System tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrdeveloper%2Fgql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famrdeveloper%2Fgql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famrdeveloper%2Fgql/lists"}