Skip to content

Lamlight is a command line tool to allow easy handling of AWS lambda functions. It allows to put heavy dependencies like numpy and scipy on AWS lambda and updating your lambda function very quickly.

License

Notifications You must be signed in to change notification settings

Rohit25negi/Lamlight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lamlight

lamlight is a python package for serverless application. It abstracts out all the steps needed to develop a servless application for AWS lambda. It cuts down 90% of time for deploying/updating AWS lambda.

license

Contents

Problem focused

Faster, better and robust delivery is becoming crucial. This is where microservices and serverless apps shine. Along, with the huge advantage of using microservices there are some limitation that cloud platforms like AWS applies. Lamlight is made to solve these issues for all developers out there. You just need to write the code and leave everything else on Lamlight.

The problems/issues focused on:

  • Putting large size dependencies on aws lambda(will be for other platforms also soon): AWS lambda imposes a limit of 250 MB on code/dependencies size. So, How to use large dependencies like numpy, pandas, scipy on aws lambda? Simple, use Lamlight. Lamlight compresses the package to its extent and allows you put the dependencies of size of almost 600 MBs.
  • One click deployment: Lamlight works like GIT for you. Just connect with a lambda function once and push the code everytime with a single command.
  • Updating existing code: Checking the existing code deployed on AWS lambda function is very useful for debbuging and making quick patches. Lamlight made it very simple for you.
  • push to multiple places: Code you have worked on can be very easily pushed to differnt AWS lambdas, Just connect with a new AWS lambda function you want(similar to changing the remote in GIT) and push.

Features

  • Creating boilerplate for AWS lambda function.
  • Live upading existing AWS lambda function.
  • Connecting existing project to AWS lambda function.
  • Cache build package
  • Single command to push code to lambda function.

Prerequisite

  • python 2.7
  • pip
  • Add your aws credentials in ~/.aws/credentials or if you are using IAM roles then set AWS_REGION for default AWS region

Quick Start

  1. Install the Package
    pip install git+https://github.com/Rohit25negi/lamlight
    
  2. Create lamlight project
    lamlight create \
    --lambda_name demo_lambda \
    --role arn:aws:iam::<accountid>:role/<role_name>\
    --subnet_id subnet-<subnet_id>\
    --security_group sg-<sg_id>
    
  3. Push the code to lambda
    lamlight push
    

Example

  1. Connect with existing AWS lambda function
~$ cd my_project
my_project/$ lamlight connect --lambda_name my_lambda
my_project/$ lamlight push

Made with alt text

About

Lamlight is a command line tool to allow easy handling of AWS lambda functions. It allows to put heavy dependencies like numpy and scipy on AWS lambda and updating your lambda function very quickly.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages