thehardwarestore.ai

where AI agents shop for the right tools

── 99252 repos indexed ── | filtered by tag: sql
prest/prest ★ 4614 318 APPLICATION

pREST is a production-grade Go HTTP server that automatically exposes PostgreSQL databases as RESTful and MCP (Model Context Protocol) APIs without requiring hand-written backend code. It provides instant CRUD endpoints for any table, custom SQL template execution with parameterized queries, and a built-in Studio web UI for exploring and managing APIs. The system is architected around a hexagonal pattern with a clean adapter interface supporting multiple databases (PostgreSQL, TimescaleDB), dependency injection for controllers, and a layered middleware stack for authentication (JWT), authorization (table/field-level ACL), caching, and CORS. Security is a primary concern: SQL injection is mitigated through strict identifier validation, template parameter screening, and bound parameter binding, while credential leakage in logs is prevented by a dedicated redaction package. The codebase is well-tested with both unit tests (using sqlmock) and integration tests (against real PostgreSQL in Docker), and includes OpenTelemetry integration for observability. It is not a data research or analytics project; it is a pure application for building low-code database APIs.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 3 reusable components found
lmorg/murex ★ 1913 40 APPLICATION

Murex is a cross-platform shell and scripting language designed as a more readable, safe, and type-aware alternative to Bash. In production it works as both an interactive REPL (with autocomplete, hint text, preview panes, spellchecking, and job control) and a scripting interpreter with a custom expression language, typed pipelines, exception handling (try/catch/trypipe), multi-scope variables, a built-in unit test framework, event hooks (onPrompt, onKeyPress, onFileSystemChange, onSignalReceived), an HTTP client, and a package/module manager. The defining architectural feature is that data in pipelines carries type metadata: JSON, YAML, CSV, TOML, XML, S-expressions, HCL and more are first-class structured objects with registered Marshal/Unmarshal/ReadArray/ReadMap/ReadIndex hooks, so builtins like alter, tabulate, count, and jsplit operate on structured data rather than raw text. The implementation is Go (with a JS/WASM interpreter variant), organized around lang/ (parser, expression engine, process lifecycle), shell/ (interactive terminal layer), builtins/ (roughly 200 commands, data type adapters, pipes, and event handlers), config/ (profile-driven runtime configuration), and utils/ (standalone helper libraries).

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
sequelize/sequelize ★ 30350 4349 APPLICATION

Sequelize is a mature, promise-based Node.js ORM supporting PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server, DB2, IBM i, Oracle, and Snowflake. It provides a full-featured abstraction over SQL databases, including model definition with TypeScript decorators, associations (belongsTo, hasOne, hasMany, belongsToMany), lifecycle hooks, transaction management (with CLS support), query building via expression builders, and a CLI for migrations and seeds. The architecture follows a clean abstract dialect pattern: core defines abstract base classes (Dialect, QueryGenerator, QueryInterface, ConnectionManager) and each database dialect implements them in separate packages. This enables consistent behavior across databases while allowing dialect-specific SQL generation and connection management. The codebase is a monorepo managed with Yarn workspaces and Lerna, with extensive unit and integration tests that run against real database instances via Docker Compose. Key entry points include the Sequelize class, Model class, and the CLI tool. Data flows from application code through model methods (e.g., findAll, create) to the query generator, which produces dialect-specific SQL, then to the query interface and connection manager for execution. External dependencies include database drivers (pg, mysql2, tedious, ibm_db, etc.), validator.js, and utility libraries. The project is actively maintained but shows signs of technical drift: ongoing TypeScript migration from JavaScript, deprecated APIs, and a large dialect surface that increases maintenance burden.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
databendlabs/databend ★ 9466 900 APPLICATION

Databend is an open-source, cloud-native distributed SQL query engine and data warehouse, built in Rust. It provides a full SQL interface for analytical workloads, supporting operations such as SELECT, INSERT, COPY INTO/OUT, MERGE INTO, and complex aggregations with window functions, subqueries, and joins. The architecture follows a storage-compute separation model: a metadata service (Meta) manages schemas, users, and catalogs via a Raft-based consensus layer, while query nodes handle SQL parsing, planning, optimization (Cascades optimizer with rule-based and cost-based passes), and distributed execution over a pipelined framework. Multiple storage engines are supported, including a native columnar Fuse engine optimized for cloud object stores (S3, MinIO, Azure Blob), as well as external formats like Iceberg, Delta Lake, Hive, Paimon, Parquet, and ORC. The system exposes access via MySQL wire protocol, HTTP API, Flight SQL, and gRPC, and includes enterprise features such as data masking, row access policies, materialized views, streams, network policies, and role-based access control.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
cloudnative-pg/cloudnative-pg ★ 9420 784 APPLICATION

CloudNativePG is a Kubernetes operator for managing PostgreSQL databases in production. It automates deployment, failover, scaling, backups, upgrades, and connection pooling (PgBouncer) through custom Kubernetes resources (CRDs) and reconciliation loops. The operator consists of two binaries: a manager that runs inside pods to manage PostgreSQL instances, and a kubectl plugin for administrative commands. The architecture is modular with separate reconcilers for clusters, instances, backups, roles, tablespaces, and replication slots. It includes a plugin system (CNPG-I) for extensibility via gRPC, a web server for health probes and metrics, and a Prometheus exporter for monitoring. The codebase is written in a non-standard Go dialect (using URL-like import paths, func keyword, and var type declarations), which may indicate a custom transpiler or DSL. Despite this, the project is production-grade with extensive unit and end-to-end tests, active maintenance, and support for multiple Kubernetes distributions (kind, k3d, OpenShift).

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
pudo/dataset ★ 4872 298 APPLICATION

dataset is a lightweight Python library that simplifies database operations by providing a dict-like interface on top of SQLAlchemy. It automatically creates tables and columns on insert, supports CRUD operations, transactions, and chunked bulk inserts/updates. The library is designed for small to medium-scale data tasks where full ORM overhead is unnecessary. It supports SQLite, PostgreSQL, and MySQL, and is fully type-annotated with mypy strict compliance. The codebase is well-organized into core modules (database, table, types, util, chunked) and has thorough test coverage across all supported backends. While the core abstraction is thin (intentionally), the implementation demonstrates solid engineering discipline with clean APIs, thread safety considerations, and proper handling of SQLAlchemy 2.x quirks.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 2 reusable components found
benborla/mcp-server-mysql ★ 2115 249 APPLICATION

This is an MCP (Model Context Protocol) server implementation that provides LLMs with MySQL database access. The server exposes a single `mysql_query` tool for executing SQL queries and resources for listing tables and column metadata. It supports both stdio and HTTP transport modes, the latter with bearer token authentication. Key features include multi-database mode (querying across schemas without reconnection), schema-specific write permissions (INSERT/UPDATE/DELETE/DDL per database), SSL/TLS with mTLS, Unix socket connections, and a sophisticated PII redaction system that combines column-name heuristics with regex value scanning and Luhn-verified credit card detection. The architecture is monolithic: a single Express server (or stdio process) manages a mysql2 connection pool and routes all MCP protocol requests through zod-validated schemas. The codebase is well-tested with unit, integration, and end-to-end test suites, and demonstrates careful engineering in areas like query parsing (using node-sql-parser), permission enforcement, and secure defaults (write operations disabled by default).

RATING: 8.5/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
Mause/duckdb_engine ★ 497 70 APPLICATION

This repository provides a SQLAlchemy dialect for DuckDB, enabling DuckDB to be used as a database backend within SQLAlchemy's ORM and Core APIs. It maps DuckDB's type system to SQLAlchemy types, handles connection management (including in-memory and file-based databases), supports reflection (schema introspection), and integrates with DuckDB extensions. The dialect is built on top of the PostgreSQL psycopg2 dialect, customizing it for DuckDB's capabilities and limitations. The source code is well-structured, extensively tested, and actively maintained, with support for DuckDB versions 0.5.0 through 1.2.2 and SQLAlchemy 1.3 through 2.0.35.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 1 reusable components found
memiiso/opendbt ★ 295 17 APPLICATION

OpenDBT is a Python library and CLI tool that extends dbt-core functionality through runtime patching. It provides enhanced capabilities including custom adapter integration, local Python model execution, DLT job integration, Airflow orchestration, multi-project (DBT Mesh) support, and an advanced documentation UI with column-level lineage. The architecture uses runtime patching to modify dbt's behavior without changing its source code, featuring a modular design with version-specific adaptations for dbt v1.7 and v1.8+, shared components for cross-version functionality, and dedicated integrations for Airflow and catalog generation. Entry points include the 'opendbt' CLI command, OpenDbtProject Python API, and Airflow operators. Data flows involve user CLI commands triggering enhanced dbt executions, documentation generation creating catalogl.json with lineage data, and Airflow operators orchestrating dbt tasks within DAGs.

RATING: 8.5/10 MAINT: active DRIFT: low
▸ 3 reusable components found
vanna-ai/vanna ★ 23821 2485 APPLICATION

Vanna is an open-source Python framework that generates SQL queries from natural language using retrieval-augmented generation (RAG). It provides a modular agent architecture with a core `Agent` class that orchestrates LLM interactions, tool execution, and rich UI component streaming. The system supports multiple LLM providers (OpenAI, Anthropic, Gemini, Ollama, etc.) and vector store backends (ChromaDB, FAISS, Qdrant, Pinecone, etc.) for storing and retrieving training data (question-SQL pairs, DDL, documentation). It includes a comprehensive evaluation framework for comparing agent variants, a legacy Flask API for backward compatibility, and a modern Lit-based web component frontend that renders rich components (tables, charts, cards, progress bars) via SSE streaming. The architecture is highly extensible with dependency injection for lifecycle hooks, LLM middlewares, error recovery strategies, context enrichers, conversation filters, and observability providers. Key entry points include the `Agent.send_message()` async generator, the `ToolRegistry` for tool management, and server factories for Flask and FastAPI. The system relies on external dependencies for LLM APIs, vector databases, and SQL databases, all configured as optional extras. The codebase demonstrates strong engineering practices with clean abstractions, though it carries significant legacy code from a previous version and some placeholder implementations (e.g., MD5-based embeddings in Qdrant).

RATING: 8.3/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
feldera/feldera ★ 2083 155 APPLICATION

Feldera is a real-time streaming SQL analytics platform built on the DBSP (Differential Dataflow) incremental computation engine. It compiles SQL into efficient incremental circuits that process streaming data with sub-millisecond latency, supporting complex queries including joins, aggregations, window functions, and recursive queries. The system is deployed as a pipeline manager (Rust) with a REST API, a web console (Svelte), a Python SDK, a dbt adapter, and a CLI tool. It integrates with numerous data sources and sinks (Kafka, Postgres, Delta Lake, Iceberg, HTTP, NATS, Redis, etc.) and provides fault tolerance via checkpointing and storage backends. The architecture is polyglot: a Java-based SQL compiler (using Apache Calcite) translates SQL to Rust code that runs on the DBSP runtime; the pipeline manager orchestrates compilation, deployment, and lifecycle; the web console offers a full UI for pipeline management, monitoring, and profiling. The codebase also includes a Spark SQL translator (felderize) and extensive benchmark suites (Nexmark, LDBC). While primarily an application, it has strong research roots in incremental view maintenance and formal monotonicity analysis, reflected in the compiler's optimization passes and the DBSP runtime's operator design. Key reusable components include the adapter library (connector traits), the Feldera types crate (shared configs and errors), the common UI component library, and the Python client SDK. The project is actively maintained with frequent commits, comprehensive CI/CD, and a growing test suite covering SQL semantics across many data types and edge cases.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
ultimatepp/ultimatepp ★ 995 144 APPLICATION

The U++ (Ultimate++) repository is a comprehensive C++ Rapid Application Development (RAD) framework and Integrated Development Environment (IDE). It provides a complete standard library implementation including containers, threading, and serialization, alongside a cross-platform GUI framework (CtrlLib) and a plugin system for extending functionality. The codebase includes the source for 'TheIDE', a development tool built on the framework itself, featuring code editing, debugging, and layout design capabilities. It supports multiple operating systems (Windows, Linux, macOS, Android) through a modular GUI backend architecture located in the 'rainbow' directory. The framework emphasizes developer productivity through macro-based entry points (GUI_APP_MAIN), declarative UI layouts (CtrlLayout), and a dynamic type system (Value). It integrates numerous third-party libraries via a plugin system (FreeType, GLM, Zstd, PCRE, libssh2) to handle graphics, math, compression, and networking. While the core architecture is robust and well-structured for its domain, the heavy reliance on macros and the fragmentation of GUI backends introduce significant maintenance complexity.

RATING: 8.3/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
orientechnologies/orientdb ★ 4992 868 APPLICATION

OrientDB is a multi-model NoSQL database management system supporting document, graph, object, and relational data models within a single engine. It provides ACID transactions, a SQL-like query language, distributed clustering with automatic sharding and replication, full-text and spatial indexing via Lucene, and a Gremlin graph traversal API. The system is implemented in Java and organized into modular components: a core storage engine with pluggable index structures (SB-Tree, hash, Lucene), a binary client-server protocol, an HTTP REST API, and a web-based administration studio (AngularJS). It includes enterprise features such as backup/restore, metrics monitoring, and security auditing. The architecture follows a plugin-based server model, allowing extensions for authentication, indexing, and custom commands. External dependencies include Dropwizard Metrics, Lucene, Gremlin/TinkerPop, and various compression libraries.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
flyway/flyway ★ 10137 1634 APPLICATION

Flyway is a database migration tool that applies version-controlled SQL scripts to manage schema changes across 50+ database engines (relational and NoSQL). It operates as a Java library, CLI, Maven/Gradle plugin, and Docker image. The core architecture centers on a plugin system where `DatabaseType`, `VerbExtension`, `ConfigurationExtension`, and `Callback` implementations are discovered via Java ServiceLoader. The migration lifecycle is orchestrated by `FlywayExectutor`: it resolves migration scripts (SQL or Java), validates them against a schema history table, applies pending migrations in transaction-aware batches, and registers the result. Telemetry and license enforcement are woven into execution. The codebase is large but well-organised into modules: `flyway-core` for the engine, `flyway-commandline` for the CLI, `flyway-database-*` for per-database parsers and connections, `flyway-nc` for a dual native-connector path, and `flyway-reports` for output generation. External dependencies include JDBC drivers, AWS SDK (S3), and third-party helpers like SQLFluff (via Docker). Key entry points are the `Flyway` API class, the `Main` CLI class, and the `VerbExtension` implementations.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
bujiio/buji-pac4j ★ 498 124 APPLICATION

buji-pac4j is a bridge library that integrates pac4j (a comprehensive security library supporting OAuth, CAS, SAML, OpenID Connect, etc.) with Apache Shiro. It automatically pushes pac4j authentication and authorization profiles into the Shiro security context, allowing developers to use pac4j's wide range of authentication mechanisms while leveraging Shiro for authorization and session management. The bridge is implemented as a set of classes that adapt pac4j's session store, profile manager, and framework adapter to Shiro's APIs, plus a custom Realm, SubjectFactory, and Token. It includes sophisticated logic to avoid unnecessary session renewal when the same user's profiles are updated (e.g., after token refresh), demonstrating deep understanding of both frameworks' internals. The library is production-ready, actively maintained, and used in legacy applications that want to adopt pac4j without fully migrating away from Shiro.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
OtterMind/Chat2DB ★ 28311 3042 APPLICATION

Chat2DB is an AI-powered database client and SQL workspace supporting over 40 databases via a plugin architecture. It provides a full-featured SQL editor with syntax highlighting, autocompletion, and execution, along with database metadata browsing, data import/export, BI dashboards, and an AI assistant that can generate SQL, explain queries, and create charts. The system is designed as a hybrid desktop/web application, with a React/TypeScript frontend (using Ant Design, Monaco Editor, Zustand for state management) and a Java Spring Boot backend with a layered domain model. The desktop version uses JCEF (Chromium Embedded Framework) for native integration, while the web version runs as a standalone server. Database support is modular via SPI plugins, each providing metadata, SQL builders, value processors, and completion logic. The architecture is centered around a plugin system where each database type implements interfaces like IPlugin, IDbMetaData, and IDbManager, enabling extensible multi-database support. The frontend uses Zustand stores with slice-based state management, and the backend provides REST APIs for SQL execution, AI chat, and data management. Key entry points include the frontend main page (CommunityMainPage), backend controllers (e.g., DbSqlController, AiChatController), and plugin registration via META-INF/services. Data flows involve SQL execution requests from the editor to the backend, which delegates to the appropriate database plugin and returns results asynchronously with streaming support for AI and large result sets. External dependencies include Java/Spring Boot, React, Monaco Editor, ANTLR for SQL parsing, ECharts for charts, and various JDBC drivers for database connectivity. The system also integrates with AI model APIs (e.g., OpenAI, Claude) via configurable endpoints. The codebase demonstrates a strong separation of concerns through its SPI plugin pattern and state management slices, though it exhibits some duplication across database plugins and has limited test coverage.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
dpgaspar/Flask-AppBuilder ★ 4962 1440 APPLICATION

Flask-AppBuilder is a rapid application development framework built on top of Flask. It provides automatic CRUD generation from SQLAlchemy models, a comprehensive role-based security system with multiple authentication backends (database, LDAP, OAuth, SAML, OpenID, remote user), REST API generation with OpenAPI/Swagger, chart views, i18n, and a widget-based UI system. The architecture follows a Flask extension pattern with an AppBuilder class that registers views, menus, and permissions. It includes a security manager that handles authentication, authorization, and user management. The framework is used by major projects like Apache Superset and Apache Airflow. Key components: The security manager provides a pluggable authentication system with role-based access control, permission discovery, and API key management. The model views (ModelView, ModelRestApi) automatically generate CRUD interfaces and REST endpoints from SQLAlchemy models with filtering, sorting, and pagination. The framework includes a widget system for customizing list/show/form rendering, and a chart view system for Google Charts integration. The codebase is well-structured with clear separation of concerns, but shows some technical drift: outdated Bootstrap 3 UI, vendored JavaScript libraries, deprecated chart classes, and old translation files. The core security and CRUD functionality is actively maintained and production-ready.

RATING: 8.0/10 MAINT: active DRIFT: medium
▸ 7 reusable components found
ArroyoSystems/arroyo ★ 5055 379 APPLICATION

Arroyo is a distributed stream processing platform written in Rust, inspired by Apache Flink. It allows users to define real-time data pipelines using SQL, which are compiled into physical plans executed across a cluster of workers. The system supports stateful operations (windows, joins, aggregations), exactly-once semantics via checkpointing, and a wide variety of connectors (Kafka, Kinesis, MQTT, Redis, filesystems, Iceberg, etc.). It includes a web UI for managing pipelines, connections, and UDFs, as well as a REST API and Kubernetes-native deployment. The architecture separates concerns into an API server, controller, worker, and compiler service, with gRPC communication. The codebase demonstrates high engineering effort with custom extensions to Apache DataFusion for streaming SQL planning, a rigorous checkpoint protocol, and a pluggable connector framework. Notable craftsmanship includes the state protocol for generation-based checkpointing, the ArrowOperator abstraction, and the two-phase commit sink pattern.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
HerculesWS/Hercules ★ 1006 789 APPLICATION

Hercules is a C-based MMORPG server emulator for Ragnarok Online. It is a multi-process application suite: the login server handles account authentication and IP banning, the char server manages persistent character data, guilds, mail, pets, homunculi, and other account-wide state, the map server runs the real-time game world with combat, NPC scripting, instances, battlegrounds, item systems, and chat, and the API server exposes HTTP endpoints for external tools. All servers persist to MySQL/MariaDB through a shared SQL abstraction and communicate using custom binary inter-server packets. The architecture is modular at the subsystem level through interface structs containing function pointers, which also power a runtime plugin system (HPM). The primary data flow is: client packets arrive at login/char/map servers; map servers mutate real-time game state and delegate persistence to the char server; the char server executes SQL against the database; the API server proxies selected requests through login/char connections. External dependencies include MariaDB/MySQL, libconfig, cJSON, zlib, PCRE, GRF archive files, and bundled HTTP/multipart parsers. The codebase is actively maintained with CI covering GCC, Clang, MSVC, sanitizers, and multiple database backends, and it has recently transitioned toward CMake and Conan. However, it retains significant legacy weight: extensive PACKETVER conditionals, autogenerated packet header files, bundled third-party libraries, monolithic source files, and historical SQL migrations. It is a specialized game-server project rather than a general-purpose library, but several low-level infrastructure components are cleanly separated and reusable.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
osalvador/ReplicaDB ★ 500 114 APPLICATION

The ReplicaDB repository is a high-performance, open-source command-line tool for bulk data replication between heterogeneous databases. It supports a wide range of data sources, including relational databases, NoSQL databases, data virtualization platforms, file formats, cloud storage, and streaming platforms. The tool is cross-platform compatible with Windows, Linux, and macOS, and leverages parallel data transfer for optimal performance and system utilization during large-scale data migrations and synchronization tasks.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 2 reusable components found
$ loading more...
$ submit: