Skip to main content

small (wip) wrapper for rds data api for lambda

Project description

Broly

Small module for managing models with the AWS rds data-api from lambda. Should be set into a lambda layer.

Uses pypika to generate MySQL and boto3's rds-data client.

MVP Features:

  • Generic model class
  • Model manipulation
  • Insert
  • Update
  • Autoincrement option
  • Read by column and parse response
    • Parsing datetimes
  • Table creation
  • Bulk get
  • Take pypika get queries to execute directly
  • Main MySQL column classes
  • Wait for serverless wakeup, boto3 doesn't retry automatically if db is 'asleep'
  • Delete
  • Order results for get queries
  • Raw SQL escape hatch

To add to lambda layer

mkdir python
pip3 install broly --target python/
zip -r python layer

Then just upload it to your lambda's layer.

Usage

from broly.model import Model
from broly.column import IntColumn, VarChar

class Example(Model):

    table_name = 'example'
    secret_arn = 'secret-arn'
    resource_arn = 'resource-arn'
    database = 'db-name'

    id = IntColumn(primary_key=True)
    name = VarChar(nullable=False)
    description = VarChar(size=1000)

e = Example(name="name")
e.set_value('description', 'desc')
print(e)
e = e.save()
print(e)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

broly-0.1.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

broly-0.1.2-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file broly-0.1.2.tar.gz.

File metadata

  • Download URL: broly-0.1.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for broly-0.1.2.tar.gz
Algorithm Hash digest
SHA256 4e47843c0c8aed3c4ee7b16573c4a75a10808bdb55f37410d2adf6cd52b461fd
MD5 94ec226c25989df7e5e185c1852877f8
BLAKE2b-256 ec210bfc77e4bf820e2c2a990c525c780a4ae9159df846ba126b9ce672e88b8c

See more details on using hashes here.

File details

Details for the file broly-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: broly-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.0

File hashes

Hashes for broly-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d83bcaa37b06e4214fc4842d49b74eac190f00b448c7ced4b13fe90db02cdbed
MD5 52fb300972e591d2e17a29fc49378d91
BLAKE2b-256 7aa0f0044e36b610647fe0e9d2e80499bc66ee7d519e39d8ebc2f8953d73a278

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page