Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Serverless | 44,789 | 1,618 | 830 | 10 hours ago | 1,987 | September 19, 2022 | 1,020 | mit | JavaScript | |
⚡ Serverless Framework – Build web, mobile and IoT applications with serverless architectures using AWS Lambda, Azure Functions, Google CloudFunctions & more! – | ||||||||||
Sst | 15,022 | 4 | 10 hours ago | 681 | September 23, 2022 | 665 | mit | JavaScript | ||
💥 SST makes it easy to build full-stack serverless apps. | ||||||||||
Awesome Aws | 11,514 | 4 days ago | 1 | December 21, 2015 | 65 | other | Python | |||
A curated list of awesome Amazon Web Services (AWS) libraries, open source repos, guides, blogs, and other resources. Featuring the Fiery Meter of AWSome. | ||||||||||
Examples | 10,886 | 14 hours ago | 19 | April 25, 2021 | 170 | other | JavaScript | |||
Serverless Examples – A collection of boilerplates and examples of serverless architectures built with the Serverless Framework on AWS Lambda, Microsoft Azure, Google Cloud Functions, and more. | ||||||||||
Chalice | 9,760 | 126 | 31 | a day ago | 86 | June 01, 2022 | 441 | apache-2.0 | Python | |
Python Serverless Microframework for AWS | ||||||||||
Serverless Application Model | 9,028 | 84 | 15 | 9 hours ago | 59 | June 07, 2022 | 128 | apache-2.0 | Python | |
The AWS Serverless Application Model (AWS SAM) transform is a AWS CloudFormation macro that transforms SAM templates into CloudFormation templates. | ||||||||||
Up | 8,687 | 68 | 13 | 3 months ago | 11 | March 02, 2018 | 291 | mit | Go | |
Deploy infinitely scalable serverless apps, apis, and sites in seconds to AWS. | ||||||||||
Webiny Js | 6,579 | 113 | 10 hours ago | 251 | September 07, 2022 | 251 | other | TypeScript | ||
Open-source serverless enterprise CMS. Includes a headless CMS, page builder, form builder, and file manager. Easy to customize and expand. Deploys to AWS. | ||||||||||
Aws Sam Cli | 6,310 | 31 | 12 | 10 hours ago | 129 | June 29, 2022 | 358 | apache-2.0 | Python | |
CLI tool to build, test, debug, and deploy Serverless applications using AWS SAM | ||||||||||
Docker Lambda | 5,852 | 38 | 14 | 5 months ago | 15 | June 30, 2018 | 68 | mit | C# | |
Docker images and test runners that replicate the live AWS Lambda environment |
Provides a quick command line utility for packaging and publishing Python AWS Lambda functions. This is a work in progress and pull requests are always welcome.
The latest release of lambda-uploader can be installed via pip:
pip install lambda-uploader
An alternative install method would be manually installing it leveraging setup.py
:
git clone https://github.com/rackerlabs/lambda-uploader
cd lambda-uploader
python setup.py install
The lambda uploader expects a directory with, at a minimum, your lambda function
and a lambda.json
file. It is not necessary to set requirements in your config
file since the lambda uploader will also check for and use a requirements.txt file.
Please note that you can leave the vpc
object out of your config if you want your
lambda function to use your default VPC and subnets. If you wish to use your lambda
function inside a specific VPC, make sure you set up the role correctly to allow this.
Note also the ignore
entry is an array of regular expression strings
used to match against the relative paths - be careful to quote accordingly.
For example, a traditional *.txt
"glob" is matched by the JSON string:
".*\\.txt$"
(or just "\\.txt$"
).
Example lambda.json
file:
{
"name": "myFunction",
"description": "It does things",
"region": "us-east-1",
"runtime": "python2.7",
"handler": "function.lambda_handler",
"role": "arn:aws:iam::00000000000:role/lambda_basic_execution",
"requirements": ["pygithub"],
"ignore": [
"circle\\.yml$",
"\\.git$",
"/.*\\.pyc$"
],
"timeout": 30,
"memory": 512,
"vpc": {
"subnets": [
"subnet-00000000"
],
"security_groups": [
"sg-00000000"
]
},
"tracing": {
"Mode": "Active"
}
}
You can also optionally setup a subscription to a Kinesis stream for your
lambda using the subscription
field as in the following sample configuration.
{
"name": "myFunction",
"description": "It does things",
"region": "us-east-1",
"runtime": "python2.7",
"handler": "function.lambda_handler",
"role": "arn:aws:iam::00000000000:role/lambda_basic_execution",
"requirements": ["pygithub"],
"timeout": 30,
"memory": 512,
"subscription": {
"kinesis": {
"stream": "arn:aws:kinesis:eu-west-1:000000000000:stream/services",
"batch_size": 10
}
}
}
To package and upload simply run the command from within your lambda directory or with the directory as an option.
lambda-uploader ./myfunc
To specify an alternative profile that has been defined in ~/.aws/credentials
use the
--profile
parameter.
lambda-uploader --profile=alternative-profile
To specify an alternative, prexisting virtualenv use the --virtualenv
parameter.
lambda-uploader --virtualenv=~/.virtualenv/my_custom_virtualenv
To omit using a virtualenv use the --no-virtualenv
parameter.
lambda-uploader --no-virtualenv
To inject any other additional files, use the --extra-file EXTRA_FILE
parameter.
lambda-uploader --extra-file ~/stuff_for_lambda_packages
If you would prefer to upload another way you can tell the uploader to ignore the upload. This will create a package and leave it in the project directory.
lambda-uploader --no-upload ./myfunc
To publish a version without an alias you would pass the the publish flag.
lambda-uploader -p ./myfunc
If you would like to alias your upload you can pass the alias with the alias flag. The function description will be used when an alias-description is not provided.
lambda-uploader --alias myAlias --alias-description 'My alias description' ./myfunc
If you would prefer to build the package manually and just upload it using uploader you can ignore the build.
This will upload lambda_function.zip
file.
lambda-uploader --no-build