# RisingWave dialect for SQLAlchemy
SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL. https://www.sqlalchemy.org/
RisingWave is a cloud-native streaming database that uses SQL as the interface language. It is designed to reduce the complexity and cost of building real-time applications. https://www.risingwave.com
## Prerequisites
For psycopg2 support you must install either:
* [psycopg2](https://pypi.org/project/psycopg2/), which has some
[prerequisites](https://www.psycopg.org/docs/install.html#prerequisites) of
its own.
* [psycopg2-binary](https://pypi.org/project/psycopg2-binary/)
(The binary package is a practical choice for development and testing but in
production it is advised to use the package built from sources.)
## Install
Install via [PyPI](https://pypi.org/project/sqlalchemy-risingwave/)
```
pip install sqlalchemy-risingwave
```
Recommend install packages locally like below. If directly from PyPI, the version may not be the most updated.
```
python setup.py sdist bdist_wheel # generate dist
pip install -e . # install this package
```
## Usage
`sqlalchemy-risingwave` will work like a plugin to be placed into runtime sqlalchemy lib, so that we can overrides some code path to change the behaviour to better fits these python clients with RisingWave.
See how to use with Superset: [doc](./doc/integrate_with_superset.md)
## Develop
Install pre-req.
```
pip install sqlalchemy alembic pytest psycopg2-binary
```
### Test
We use pytest for unittest.
```
pytest # to run the test
```
## Ref
- [Sqlalchemy dialects doc](https://github.com/sqlalchemy/sqlalchemy/blob/main/README.dialects.rst)
- [CocoroachDB sqlalchemy](https://github.com/cockroachdb/sqlalchemy-cockroachdb)
- [RisingWave: Open-Source Streaming Database](https://www.risingwave.com/database/)
- [RisingWave Cloud](https://www.risingwave.com/cloud/)
- [What is RisingWave?](https://docs.risingwave.com/docs/current/intro/)
Raw data
{
"_id": null,
"home_page": "https://github.com/risingwavelabs/risingwave",
"name": "sqlalchemy-risingwave",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "SQLAlchemy RisingWave",
"author": "RisingWave Labs",
"author_email": "risingwave@dev.com",
"download_url": "https://files.pythonhosted.org/packages/f6/89/0efd833429e3f99b95e544f4501d60a2d42d08710cd6cdefcc09d38d2eea/sqlalchemy-risingwave-1.1.0.tar.gz",
"platform": null,
"description": "# RisingWave dialect for SQLAlchemy\n\nSQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL. https://www.sqlalchemy.org/\n\nRisingWave is a cloud-native streaming database that uses SQL as the interface language. It is designed to reduce the complexity and cost of building real-time applications. https://www.risingwave.com\n\n## Prerequisites\n\nFor psycopg2 support you must install either:\n\n* [psycopg2](https://pypi.org/project/psycopg2/), which has some\n [prerequisites](https://www.psycopg.org/docs/install.html#prerequisites) of\n its own.\n\n* [psycopg2-binary](https://pypi.org/project/psycopg2-binary/)\n\n(The binary package is a practical choice for development and testing but in\nproduction it is advised to use the package built from sources.)\n \n## Install\nInstall via [PyPI](https://pypi.org/project/sqlalchemy-risingwave/)\n```\npip install sqlalchemy-risingwave\n```\n\nRecommend install packages locally like below. If directly from PyPI, the version may not be the most updated.\n\n```\npython setup.py sdist bdist_wheel # generate dist\npip install -e . # install this package\n```\n\n## Usage\n`sqlalchemy-risingwave` will work like a plugin to be placed into runtime sqlalchemy lib, so that we can overrides some code path to change the behaviour to better fits these python clients with RisingWave.\n\nSee how to use with Superset: [doc](./doc/integrate_with_superset.md)\n\n## Develop\nInstall pre-req.\n```\npip install sqlalchemy alembic pytest psycopg2-binary\n```\n\n### Test\nWe use pytest for unittest.\n```\npytest # to run the test\n```\n\n## Ref\n\n- [Sqlalchemy dialects doc](https://github.com/sqlalchemy/sqlalchemy/blob/main/README.dialects.rst)\n\n- [CocoroachDB sqlalchemy](https://github.com/cockroachdb/sqlalchemy-cockroachdb)\n\n- [RisingWave: Open-Source Streaming Database](https://www.risingwave.com/database/)\n\n- [RisingWave Cloud](https://www.risingwave.com/cloud/)\n\n- [What is RisingWave?](https://docs.risingwave.com/docs/current/intro/)\n",
"bugtrack_url": null,
"license": "http://www.apache.org/licenses/LICENSE-2.0",
"summary": "RisingWave dialect for SQLAlchemy",
"version": "1.1.0",
"project_urls": {
"Homepage": "https://github.com/risingwavelabs/risingwave",
"Source": "https://github.com/risingwavelabs/sqlalchemy-risingwave",
"Tracker": "https://github.com/risingwavelabs/sqlalchemy-risingwave/issues"
},
"split_keywords": [
"sqlalchemy",
"risingwave"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fa3b24c4418c5f9b620f6ca2f05328e4acb6cc54182d3c32d5db6cc38d8e8ca4",
"md5": "422ce25a2c30516470d2cad250b9e9d2",
"sha256": "6159a6d4eb2e6cdeed7f5106818f3c98573c57ef0b66836fb5eb7bc3f95d8d68"
},
"downloads": -1,
"filename": "sqlalchemy_risingwave-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "422ce25a2c30516470d2cad250b9e9d2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 11472,
"upload_time": "2024-04-10T09:53:57",
"upload_time_iso_8601": "2024-04-10T09:53:57.075464Z",
"url": "https://files.pythonhosted.org/packages/fa/3b/24c4418c5f9b620f6ca2f05328e4acb6cc54182d3c32d5db6cc38d8e8ca4/sqlalchemy_risingwave-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f6890efd833429e3f99b95e544f4501d60a2d42d08710cd6cdefcc09d38d2eea",
"md5": "50f7dc9c306143d449192e36e21f88d7",
"sha256": "72f34b0c46a70bfb8ad28b690b92bdf03b6fb025662c5b5da94a8b2220357454"
},
"downloads": -1,
"filename": "sqlalchemy-risingwave-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "50f7dc9c306143d449192e36e21f88d7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12161,
"upload_time": "2024-04-10T09:53:58",
"upload_time_iso_8601": "2024-04-10T09:53:58.893887Z",
"url": "https://files.pythonhosted.org/packages/f6/89/0efd833429e3f99b95e544f4501d60a2d42d08710cd6cdefcc09d38d2eea/sqlalchemy-risingwave-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-10 09:53:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "risingwavelabs",
"github_project": "risingwave",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "sqlalchemy-risingwave"
}