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.2.0.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: broly-0.2.0.tar.gz
  • Upload date:
  • Size: 8.1 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.2.0.tar.gz
Algorithm Hash digest
SHA256 438e45b097fcdf1b9842006d1dae7a9e7cf4d32ffb3c3dc2d0bed8b7fa412791
MD5 ecc3185759d7e2d4ffc31863512d76c0
BLAKE2b-256 6c57fb23a057558a06fec9adc42d8dbc83003012dcfd373ab9b8650ac4aff08c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: broly-0.2.0-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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3575884b3774dadc4ff3592b17777fbf13b59f4368f2b69b1cd91fc7eadb3709
MD5 37db647e4586bdd9163a59295990791a
BLAKE2b-256 e45f554d49191bf67ef3c8377b2ca93e8c14e4df7ad69e65c46aaee059136ebb

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