An extensible SQL-like query language and SDK for querying .git files and other data sources with full SQL feature support.
GitQL is an extensible SQL-like query language and SDK that allows developers to run SQL queries on Git repositories and other custom data sources. It solves the problem of analyzing Git history and metadata using a familiar SQL syntax, supporting advanced features like aggregation, window functions, and custom types.
Developers and data engineers who need to query Git repositories for insights, or those building custom query tools for non-traditional data sources like source code, file systems, or LLVM IR.
GitQL provides a fully-featured, from-scratch query engine with deep extensibility, allowing developers to apply SQL to virtually any data source while maintaining performance and customization control.
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
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses case-insensitive SQL keywords and structures, making it easy for developers with SQL experience to query Git data and other non-relational sources.
Allows deep customization of types, schemas, and data providers, enabling tools like LLQL and ClangQL to query LLVM IR and C++ code.
Supports grouping, ordering, aggregation, window functions, and complex expressions, as shown in sample queries for analyzing commits and diffs.
Directly queries local .git files for commits, branches, tags, and diffs, providing comprehensive Git repository analysis without external dependencies.
Loads all data into memory, which may not scale efficiently for very large Git histories or datasets, potentially leading to performance issues.
Building custom data providers requires implementing the SDK from scratch, adding significant development time compared to plug-and-play solutions.
Limited pre-built data sources beyond Git; users must create their own providers for other formats, with few community-contributed tools available.