py-data-api is a client for Data API of Aurora Serverless. Also, the package includes SQLAlchemy Dialects and DB API 2.0 Client.
- SQLAlchemy Dialects
- DB API 2.0 compatible client PEP 249
- MySQL
- PostgreSQL
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html
Warning: Some interface will be changed.
pydataapi requires Python 3.6.1 or later
$ pip install pydataapifrom typing import List from sqlalchemy import Column, Integer, String from sqlalchemy.ext.declarative import declarative_base from pydataapi import DataAPI, Result class Pets(declarative_base()): __tablename__ = 'pets' id = Column(Integer, primary_key=True, autoincrement=True) name = Column(String(255, collation='utf8_unicode_ci'), default=None) database: str = 'test' resource_arn: str = 'arn:aws:rds:us-east-1:123456789012:cluster:serverless-test-1' secret_arn: str = 'arn:aws:secretsmanager:us-east-1:123456789012:secret:serverless-test1' def example_driver_for_sqlalchemy(): from sqlalchemy.engine import create_engine engine = create_engine( 'mysql+pydataapi://', connect_args={ 'resource_arn': 'arn:aws:rds:us-east-1:123456789012:cluster:dummy', 'secret_arn': 'arn:aws:secretsmanager:us-east-1:123456789012:secret:dummy', 'database': 'test'} ) result = engine.execute("select * from pets") print(result.fetchall()) def example_simple_execute(): data_api = DataAPI(resource_arn=resource_arn, secret_arn=secret_arn, database=database) result: Result = data_api.execute('show tables') print(result.scalar()) # PetsWe are waiting for your contributions to pydataapi.
https://koxudaxi.github.io/py-data-api/contributing
DataAPI Server for local
https://github.com/koxudaxi/local-data-api
https://pypi.org/project/pydataapi
https://github.com/koxudaxi/py-data-api
https://koxudaxi.github.io/py-data-api
py-data-api is released under the MIT License. http://www.opensource.org/licenses/mit-license