All Projects → ZhukovAlexander → Lambdify

ZhukovAlexander / Lambdify

Licence: apache-2.0
AWS Lambda automation and integration for Python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Lambdify

Graphql Serverless
Sample project to guide the use of GraphQL and Serverless Architecture.
Stars: ✭ 28 (-41.67%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Plugin Stackstorm
Plugin for serverless framework to run ready to use actions from StackStorm Exchange as AWS Lambda.
Stars: ✭ 28 (-41.67%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Plugin Warmup
Keep your lambdas warm during winter. ♨
Stars: ✭ 814 (+1595.83%)
Mutual labels:  aws, serverless, aws-lambda
Aws Lambda Dotnet
Libraries, samples and tools to help .NET Core developers develop AWS Lambda functions.
Stars: ✭ 945 (+1868.75%)
Mutual labels:  aws, serverless, aws-lambda
Lamb
monitoring tool for better visibility when developing AWS Lambda functions
Stars: ✭ 11 (-77.08%)
Mutual labels:  aws, serverless, aws-lambda
Archive aws Lambda Go Shim
Author your AWS Lambda functions in Go, effectively.
Stars: ✭ 799 (+1564.58%)
Mutual labels:  aws, serverless, aws-lambda
Lambdalogs
A CLI tool to trace AWS Lambda calls over multiple CloudWatch log groups.
Stars: ✭ 18 (-62.5%)
Mutual labels:  aws, serverless, aws-lambda
Webiny Js
Enterprise open-source serverless CMS. Includes a headless CMS, page builder, form builder and file manager. Easy to customize and expand. Deploys to AWS.
Stars: ✭ 4,869 (+10043.75%)
Mutual labels:  aws, serverless, aws-lambda
Lambda Packs
Precompiled packages for AWS Lambda
Stars: ✭ 997 (+1977.08%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Python Requirements
⚡️🐍📦 Serverless plugin to bundle Python packages
Stars: ✭ 838 (+1645.83%)
Mutual labels:  aws, serverless, aws-lambda
Aws Serverless Auth Reference App
Serverless reference app and backend API, showcasing authentication and authorization patterns using Amazon Cognito, Amazon API Gateway, AWS Lambda, and AWS IAM.
Stars: ✭ 724 (+1408.33%)
Mutual labels:  aws, serverless, aws-lambda
Step Functions Demo
This is a demo project, created as a part of the blog post. The project uses serverless for deployments.
Stars: ✭ 15 (-68.75%)
Mutual labels:  aws, serverless, aws-lambda
Lambda Packages
Various popular python libraries, pre-compiled to be compatible with AWS Lambda
Stars: ✭ 713 (+1385.42%)
Mutual labels:  aws, serverless, aws-lambda
Aws Auto Terminate Idle Emr
AWS Auto Terminate Idle AWS EMR Clusters Framework is an AWS based solution using AWS CloudWatch and AWS Lambda using a Python script that is using Boto3 to terminate AWS EMR clusters that have been idle for a specified period of time.
Stars: ✭ 21 (-56.25%)
Mutual labels:  aws, serverless, aws-lambda
Archive aws Lambda Go
A fast and clean way to execute Go on AWS Lambda.
Stars: ✭ 710 (+1379.17%)
Mutual labels:  aws, serverless, aws-lambda
Serverless Aws Lambda Node Postgres
Serverless AWS Lambda with Node.js,Postgres Rest API with Sequelize.
Stars: ✭ 18 (-62.5%)
Mutual labels:  aws, serverless, aws-lambda
Mangum
AWS Lambda & API Gateway support for ASGI
Stars: ✭ 475 (+889.58%)
Mutual labels:  aws, serverless, aws-lambda
Chromda
λ 🖼️ Chromda is an AWS Lambda function for capturing screenshots of websites.
Stars: ✭ 481 (+902.08%)
Mutual labels:  aws, serverless, aws-lambda
Aws Lambda Workshop
Some incremental examples suitable to host an AWS Lambda Functions workshop
Stars: ✭ 18 (-62.5%)
Mutual labels:  aws, serverless, aws-lambda
Cloudmagick
CloudMagick is a serverless application which provides a dynamic image transformation like the small light module of apache2
Stars: ✭ 11 (-77.08%)
Mutual labels:  aws, serverless, aws-lambda

λambdify - because code is the only thing that matters

Build Status PyPI version

DISCLAIMER: lambdify is just a POC, it's not actively maintained and is not suitable for production use at the moment

lambdify is a tool that turns any python callable into an AWS Lambda function. Create, update and call your lambdas directly from python.

Just like that:

install lambdify...

$pip install lambdify

...create AWS Lambda with 4 lines of code:

from lambdify import Lambda


@Lambda.f(name='echo')
def echo(*args, **kwargs):
    return args, kwargs

echo.create()

if __name__ == '__main__':
    import getpass
    echo(msg='Hello, {user}!'.format(user=getpass.getuser()))

Now you can head over to your AWS Lambda console and behold your echo function. Could creating a serverless program be any easier?

The goal

Lambdify aims to unite convenient task queues API (i.e. Celery, Hue, RQ's @job decorator) with AWS Lambda service coolest features. Ultimately, lambdify should be capable to become a good alternative to Celery or any other task queue.

At present, there are some solutions, that allow you to create and deploy lambdas, like Zappa, lambda-uploader, lambder etc., but they still have limitations of not being able to interact directly with a python program. lambdify overcomes such limitations by using the following algorithm:

  1. Serialize the callable with it's globals using dill

  2. Upload the .lambda.dump file containing the serialized function along with the rest of the package

  3. Special container.py module will look for the .lambda.dump file and inject deserialized function into it's namespace

  4. ????

  5. Profit

Documentation

>>>from lambdify import Lambda
>>>help(Lambda)

#Usecases and features

  • Workerless task queue replacement

The simpliest task queue ever

@Lambda.f(name='my_job')
def add(a, b):
    return a + b
  • Distributed computing

Lambdas can create and call other lambdas:

@Lambda.f(name='child')
def child_function(x, y):
    return x * y
    
@Lambda.f(name='parent')
def parent_function(y):
    # this will actually call the cloud instance of
    # child_function
    return child_function(2, y)

parent_function(42)
  • Cloud Functional Reactive Programming
  • Dynamic and realtime lambda-function management

P.S. Lambdify is a POC, and at the time allows your lambda to only use site-packages, all local files won't be packaged, so each user-defined dependency should be contained withing the same file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].