GithubHelp home page GithubHelp logo

k2bd / awstin Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 1.07 MB

High-level utilities for building and testing AWS Serverless Applications in Python

License: MIT License

Python 99.88% Shell 0.12%
aws aws-lambda aws-dynamodb dynamodb lambda-event python aws-apigateway sns sns-topic websockets

awstin's Introduction

My Stack

Top Languages

I primarily use Python for backend, scientific, and general-purpose work, and use React/Typescript for building web apps.

For deployment, I am happy with both GCP and AWS. For hosting, I use GitHub Pages for open source projects.

I'm Currently Working On

DBMS Development

I'm currently going through the CMU Intro to Database Systems course, learning more about database systems and following the coursework in Rust. Following this I will be going through the advanced course as well as starting fresh on the long path of building out a system designed for production use.

You can follow my work on the coursework here:

Libraries I Maintain

Templates I Maintain

awstin's People

Contributors

k2bd avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

awstin's Issues

Project migration to github flow & poetry, streamline release

Acceptance Criteria:

  • Project uses github flow, master & develop branches deleted
  • CI migrated to github flow
  • Project migrated to Poetry
  • Release process streamlined (poe command to push a new tag from remote main, release action triggered on new tag)

Fix up standard logging of event and context

The lambda_handler CM's logging of the event and context doesn't seem to actually log on AWS. The logger just needs to be configured properly.

At the same time, the logger setup could be made available to all of awstin or even to users of awstin as a quick way to set up logging.

Ability to unit test the wrapped Lambda function easily

If I have:

@lambda_handler(my_parser)
def handler(a: int, b: str):
    ...

I should be able to do:

def test_handler():
    result = handler.inner(1, "abc")
    assert ...

This way I can unit test my parser and my business logic separately.

DynamoDB stream integration testing tools

In addition to an interface to DynamoDB streams in integration testing, it'd be cool to get a context manager that just captures and returns stream entries that occur inside the context (exclude those that were in the streams beforehand)

PynamoDB support

Support PynamoDB models in the awstin way of doing things, so PynamoDB projects can make use of the integration testing tools etc.

Create a chatroom example

The current chat example in a separate repo is out-of-date and doesn't work on the latest version of awstin

Bonus: Make it a room-based chatroom to show of ddb indexes
(main table's pkey is user ID or callback, global secondary index has composite key (room code, user ID))

Bonus bonus: Write a small frontend app that gets served via s3

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.