sqlalchemy-risingwave
RisingWave dialect for SQLAlchemy
What it is and what it does
sqlalchemy-risingwave is a SQLAlchemy dialect plugin that bridges Python's SQLAlchemy ORM to RisingWave, a streaming SQL database. It translates SQLAlchemy constructs into RisingWave-compatible SQL and handles the semantic differences between RisingWave's streaming model and traditional PostgreSQL OLTP semantics that SQLAlchemy normally assumes.
The dialect rewrites certain DDL constructs (SERIAL types, parameterized string/numeric types, UUID, Enum) to forms RisingWave accepts, and documents where it does not silently drop user-declared invariants (CHECK, UNIQUE, FOREIGN KEY constraints are not enforced by RisingWave). It supports both synchronous queries via psycopg2 and asynchronous queries via psycopg3 and SQLAlchemy 2.0's async engine API, making it suitable for concurrent workloads in services like FastAPI.
Use it for:
- Build real-time analytics dashboards in Superset or similar tools by connecting them to RisingWave via SQLAlchemy.
- Write Python applications that query streaming data from RisingWave using familiar SQLAlchemy ORM patterns.
- Implement concurrent RisingWave queries in async Python services (FastAPI, Starlette) using the psycopg3 async driver.
- Migrate existing SQLAlchemy applications to RisingWave for streaming workloads with minimal code changes.
- Validate and enforce data invariants at the application layer when RisingWave does not enforce constraints.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a SQLAlchemy dialect that enables Python applications to connect to and query RisingWave, a cloud-native streaming database, using SQLAlchemy's standard ORM and query APIs.
Yes, if you are building applications on RisingWave and want to use SQLAlchemy. The dialect is actively maintained, has no known vulnerabilities, and low install friction. However, understand that RisingWave's streaming semantics diverge significantly from PostgreSQL OLTP assumptions—read the documentation on read-after-write visibility and unenforced constraints before relying on them in production.
Install
sqlalchemy-risingwave on PyPI
pip
pip install sqlalchemy-risingwaveuv
uv add sqlalchemy-risingwavepoetry
poetry add sqlalchemy-risingwaveInstalling sqlalchemy-risingwave
Before you install
Low friction: pure Python wheel with a single runtime dependency on SQLAlchemy. Active maintenance with a recent release (57 days old) and consistent commit activity. Supports Python 3.10 through 3.13.
License in practice
Apache 2.0 permissive license allows commercial and private use with minimal restrictions. No copyleft obligations or proprietary licensing concerns.
Quickstart
pip install sqlalchemy-risingwave
from sqlalchemy import create_engine, text
engine = create_engine("risingwave+psycopg://root@localhost:4566/dev")
with engine.connect() as conn:
result = conn.execute(text("SELECT 1"))
print(result.scalar_one())
Requires psycopg2 or psycopg2-binary (or psycopg3 for async support); psycopg2 has its own system-level prerequisites. RisingWave instance must be running and accessible at the connection URL.
Verify before relying
- Whether the 24% compliance rate (90 passing tests out of 371 applicable) is acceptable for your specific use case and query patterns.
- How read-after-write visibility delays in RisingWave's streaming model affect your application's consistency requirements.
- Whether unenforced constraints (CHECK, UNIQUE, FOREIGN KEY) require application-layer validation in your data pipeline.
Package facts
| License | http://www.apache.org/licenses/LICENSE-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — SQLAlchemy |
| Maintenance | actively maintained — 57 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 179,196/month — #10,178 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sqlalchemy_risingwave-2.1.0-py3-none-any.whl
Keywords: SQLAlchemy, RisingWave
Tags
More Front-Ends packages
SQLAlchemy is a Python SQL toolkit and Object…
permissive · top 100 on PyPI
psycopg2-binarypsycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
alembicAlembic generates and manages database schema…
permissive · top 1,000 on PyPI
weaviate-clientA Python client library for connecting to and…
permissive · top 1,000 on PyPI
databricks-sql-connectorA Python client library that connects to…
permissive · top 1,000 on PyPI
psycopgPsycopg 3 is a PostgreSQL database adapter for…
copyleft · top 1,000 on PyPI
sqlalchemy-cockroachdbA SQLAlchemy dialect that enables ORM and SQL…
permissive · top 5,000 on PyPI
sqlalchemy-jdbcapiSQLAlchemy dialect for JDBC and ODBC database…
permissive · top 15,000 on PyPI
sqlalchemy-redshiftProvides a SQLAlchemy dialect for Amazon…
permissive · top 5,000 on PyPI
sqlalchemy-pgspiderProvides a SQLAlchemy dialect that enables…
permissive · top 15,000 on PyPI
sqlalchemy_exasolSQLAlchemy dialect that enables Python…
permissive · top 15,000 on PyPI
iomete-sqlalchemyProvides a SQLAlchemy dialect for connecting to…
permissive · top 15,000 on PyPI
chalk-sqlalchemy-redshiftProvides a SQLAlchemy dialect for Amazon…
permissive · top 15,000 on PyPI
ponyPony is an object-relational mapper that lets…
permissive · top 15,000 on PyPI
pydbmlPyDBML parses and generates DBML (Database…
permissive · top 15,000 on PyPI