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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: broly-0.3.1.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.3.1.tar.gz
Algorithm Hash digest
SHA256 880b0124a2a92d3fd8006c9b2cbc72afc5d92f31593b788e92193f58358de388
MD5 51a77c8cd64753c8cdbc3ab41443810e
BLAKE2b-256 716478312bdc7c1947a75fb3bc7983a09ddbf01a5b6cbb204a0b2f345b7c65a5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: broly-0.3.1-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.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8bd4f3f96ea47b0a8433c4a28ffa7756a3e9b59e807dc7f9576ddce974397dee
MD5 c85aa5a89d2d14cc25f55312bf70ab7a
BLAKE2b-256 19dc7d137d98ea2188a04a1dcebc40c630545ef87a3ba97e6ef0ef830a18b1c2

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