30 open-source projects similar to balderdashy/waterline, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB. The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction. The library covers com
Mongoose is an object data modeling library and framework for Node.js that maps application objects to MongoDB documents. It functions as a document mapper and schema validator, ensuring consistent data types and validation rules for records stored in MongoDB. The project provides a system for defining structured schemas to model application data, including the ability to create hierarchical data structures through nested schema composition. It implements a middleware-based hook system that allows for the interception and modification of data states during the lifecycle of database operations
Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan
Tortoise ORM is an asynchronous object-relational mapper for Python that mirrors Django's model and queryset API while running on asyncio. It defines database tables as Python classes with typed fields and supports foreign key, many-to-many, and one-to-one relations, providing a chainable query API for filtering, annotating, grouping, and prefetching related objects without blocking the event loop. The ORM includes a built-in migration engine that detects model changes, generates migration files, and applies or reverts schema changes through a command-line tool. It connects to PostgreSQL, MyS
Rainfrog is a terminal-based database client that connects to multiple database engines, combining schema browsing, interactive SQL query execution, and inline data editing into a single terminal interface. It provides a tree navigator for exploring tables, columns, and indexes, and an inline cell editor that automatically constructs and executes the necessary UPDATE statements when a cell value is changed. The application also supports modal Vim-style keyboard shortcuts for cursor movement and editing, making it usable entirely from the keyboard. Query results are fetched in chunks and pagin
RethinkDB is a distributed, document-oriented database designed to store and manage JSON-formatted data across scalable clusters. It utilizes a custom log-structured storage engine with B-Tree indexing to ensure high-performance disk I/O and data persistence. The system maintains high availability through automatic sharding and replication, employing a primary-replica voting consensus mechanism to handle node failures and ensure consistent cluster operations. A defining characteristic of the platform is its reactive changefeed engine, which allows applications to subscribe to live data update
Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery. The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as ne
ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca
Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping application classes to relational database tables. It functions as a relational database toolkit for managing schemas, executing migrations, and handling complex table relationships. The project distinguishes itself by providing an asyncio database driver for non-blocking database operations, ensuring event loop responsiveness. It also supports semi-structured data storage, allowing the storage and querying of flexible JSON documents within traditional relational database systems.
SpiceDB is a distributed permission store and relationship-based access control system. It provides a scalable database for storing and querying fine-grained authorization relationships, implementing a consistency model inspired by Google Zanzibar to manage access rights across large-scale applications. The system uses a dedicated schema language to define the rules and logic governing how relationships translate into permissions independently of application code. It functions as a pluggable authorization engine that persists relationship tuples in external relational databases such as Postgr
SQLModel is a type-safe object-relational mapping library for Python that integrates database schema definitions with data validation logic. By combining these two roles into a single class, it allows developers to manage relational data structures and enforce data integrity for web APIs simultaneously. The framework is built to support asynchronous database operations, enabling high-performance applications to execute queries and transactions without blocking the main execution thread. The library distinguishes itself by leveraging Python type hints to provide IDE autocompletion and compile-
Neo4j is a native graph database management system designed to store and query highly connected data using a property-graph model. It provides an ACID-compliant transaction engine that ensures data integrity, supported by a distributed cluster architecture that maintains causal consistency across nodes. Users interact with the system through a declarative query language, which allows for complex pattern matching and path traversal without requiring manual traversal logic. The platform distinguishes itself through its hybrid approach to data retrieval, combining traditional graph-based queries
SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a
Sequelize is an object-relational mapping library that provides a unified interface for managing relational data through code. By implementing the Active Record pattern, it maps database tables to application objects, allowing developers to perform standard create, read, update, and delete operations using high-level method calls. The library abstracts complex database interactions by translating these calls into optimized, engine-specific SQL statements, ensuring consistent behavior across different database systems. The project distinguishes itself through a comprehensive suite of tools for
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
Prisma is a database toolkit that provides a unified access layer for interacting with relational and document databases. It centers on a declarative schema modeling approach, where developers define their data structures in a human-readable language. This schema serves as the single source of truth, from which the toolkit automatically generates type-safe database clients that provide compile-time validation and editor autocomplete for all data operations. The project distinguishes itself through a high-performance, Rust-based query engine that handles query planning and connection pooling o
Objection.js is an object-relational mapper for Node.js that maps SQL database tables to classes and rows to model instances. It functions as a high-level abstraction layer built on top of the Knex.js query builder to provide structured model definitions and relational data mapping. The project distinguishes itself through its ability to manage complex object graphs, allowing for the persistence and eager-loading of deeply nested related data in single operations. It incorporates a data integrity layer that uses JSON schema validation to verify model instances before they are persisted to the
Slonik is a type-safe PostgreSQL client for Node.js that uses tagged template literals to ensure parameters are bound and protected against injection attacks. It provides a framework for connecting applications to PostgreSQL with automatic type checking for queries and database schemas. The project distinguishes itself through a specialized SQL query linter that detects invalid columns and type mismatches by verifying code against a live database schema during the development process. It also includes a high-performance binary bulk data inserter for loading large datasets using native binary
Bookshelf is a JavaScript ORM for Node.js that provides a structured way to define and interact with database models. It centers on a model-driven approach where developers register models, define their relations, and manage data persistence through a consistent interface. The library distinguishes itself through its comprehensive handling of model relationships and data transformations. It supports defining one-to-one, one-to-many, many-to-many, and polymorphic associations, with the ability to eager load related models in a single query to avoid performance pitfalls. Bookshelf also automate
Quarkus is a Kubernetes-native Java framework designed for building high-performance, memory-efficient applications. It utilizes ahead-of-time native compilation to transform Java code into standalone, optimized binaries that eliminate the need for a virtual machine, enabling rapid startup and reduced memory consumption. By performing code augmentation during the build phase, it shifts heavy processing tasks away from runtime, ensuring that applications are optimized for cloud-native environments. The framework distinguishes itself through a unified approach to reactive and imperative program
This project is a markdown-based personal knowledge base and digital learning journal used to store notes and summaries from books and technical literature. It serves as a reading summary repository and technical reference library for archiving key takeaways and insights from non-fiction and professional materials. The collection functions as a digital garden for curating insights from books, articles, and videos. It specifically focuses on distilling complex architectural patterns, technical concepts, and professional leadership principles into a searchable format for long-term reference. T
aws-sdk-pandas is a Python library that integrates pandas dataframes with AWS services, acting as a cloud data ETL tool and data lake connector. It provides a unified interface to move and transform data between in-memory dataframes and cloud storage, databases, and data warehouses. The project distinguishes itself as a distributed compute orchestrator capable of submitting pandas-based workloads to EMR clusters and serverless processing environments. It further specializes in coordinating distributed data processing via Ray cluster initialization to handle datasets that exceed the memory of
This project is a scientific agent framework and workflow orchestrator designed to extend large language models with specialized tools for genomic, chemical, and biological research. It provides a system for planning research hypotheses and executing automated workflows by integrating scientific databases with dynamic code execution. The framework includes a cheminformatics modeling suite for predicting molecular bioactivity and performing virtual screening, alongside a bioinformatics analysis toolkit for processing genomic sequences and single-cell data. It also features an academic document
This project is a collection of specialized toolkits and an agent skill library designed to equip large language model agents with the capabilities to perform complex scientific research across biology, chemistry, medicine, and physics. It provides a structured framework of integration paths and tools that allow agents to execute multi-step research workflows. The system is distinguished by its domain-specific toolsets, including a bioinformatics toolkit for genomic and single-cell analysis, a cheminformatics toolset for drug-target binding and lead compound optimization, and a multi-omics an
This project is an asyncio database abstraction layer that provides a common interface for performing non-blocking database operations in Python. It functions as an asynchronous database driver wrapper and a SQL expression builder, allowing for the construction of raw SQL strings from structured Python objects. The library includes an asyncio connection pool manager that utilizes task-local storage to handle connection lifecycles and reduce resource overhead. It also serves as an async database transaction manager, wrapping operations in atomic transactions and savepoints to maintain data int
Common.Utility is a general purpose utility library providing a collection of helper classes for common programming tasks. It functions as a data security framework, a database access wrapper, and a suite of tools for system administration and network communication. The library includes a multimedia processing suite for generating barcodes and QR codes, editing images, and converting video formats. It also provides a network communication toolkit for managing HTTP requests and FTP transfers, as well as integration with email and notification services. The project covers a broad set of capabi
whodb is a multi-database management interface and notebook client designed for exploring and managing data across various engines, including Postgres, MySQL, MongoDB, and Redis. It functions as a graphical interface for managing database connections, records, and schemas through a unified layer. The project features a natural language query interface that uses large language models to translate plain English into executable SQL or NoSQL queries. This is supported by schema-aware prompting that injects database metadata into the model context to ensure generated queries match actual table def
This project is a TypeScript-based architectural framework designed to implement domain-driven design and hexagonal architecture in enterprise applications. It provides a structured boilerplate that isolates core business logic from infrastructure concerns, ensuring that domain entities, use cases, and external technology adapters remain decoupled and maintainable. The framework distinguishes itself by enforcing strict architectural boundaries and dependency inversion, preventing unauthorized access to core logic from external layers. It utilizes a command-query responsibility segregation pat