Stop writing your own scripts and let this package your python aws lambda zips for you
Project description
lambda-packager
The purpose of this tool is to avoid writing AWS lambda packaging scripts repeatedly. It is intended to give a consistent output regardless of how you currently define your python dependencies. The tool was built as most existing tools are built into larger frameworks that have other considerations when adopting
Currently, requires python >=3.8 and later due to required features of copytree
Usage
- You can run with the following:
$ lambda-packager
# or if not in the project directory
$ lambda-packager --project-directory path/to/project/dir
- lambda-packager will include any dependencies defined in
- poetry (pyproject.toml)
- requirements.txt
Pipenv(Coming soon!)
- By default lambda-packager will include all src files that match
*.py
- You can customise this through config in
pyproject.toml
:
[tool.lambda-packager]
src_patterns = ["lambda_packager/*.py"]
Hidden files
- Hidden files and folders are ignored by default when including src files
- if you wish to disable this, then add the following config to your
pyproject.toml
[tool.lambda-packager]
ignore_hidden_files = false
Ignore folders
If there are folders that you wish always exclude, then you can use ignore_folders
Note: ignore_folders
is always respected even if there was a match via src_patterns
[tool.lambda-packager]
ignore_folders = ["venv"]
Ignore hashes
Only has an effect when using poetry pyproject.toml
files
Skips exporting hashes from poetry to avoid issues when using non-pypi packages
by providing --without-hashes
flag when calling poetry export
See https://github.com/hmrc/python-aws-lambda-packager/issues/2 for more info (Note: version number remains pinned when this is enabled)
without_hashes = True
Full usage
usage: lambda-packager [-h] [--project-directory PROJECT_DIRECTORY] [-l {DEBUG,INFO,WARNING,ERROR}]
Build code and dependencies into zip files that can be uploaded and run in AWS Lambda
optional arguments:
-h, --help show this help message and exit
--project-directory PROJECT_DIRECTORY
The path to the top level project directory. This is where source files and files that declare dependencies are expected to be held. Defaults to current directory
-l {DEBUG,INFO,WARNING,ERROR}, --log-level {DEBUG,INFO,WARNING,ERROR}
set output verbosity, defaults to 'INFO'
License
This code is open source software licensed under the Apache 2.0 License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file lambda_packager-1.2.2.tar.gz
.
File metadata
- Download URL: lambda_packager-1.2.2.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.8.0 Linux/5.19.0-1022-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd66ad5288b2b508a085a69e79511d0394f2f76e610e715e0d113b7124d9044a |
|
MD5 | beafac4bf6e51c798168051fc95b1fb4 |
|
BLAKE2b-256 | dd26be3561751f2fbc39aba0020f0320204c7f2068e99052bc2d3cb9a9554d44 |
File details
Details for the file lambda_packager-1.2.2-py3-none-any.whl
.
File metadata
- Download URL: lambda_packager-1.2.2-py3-none-any.whl
- Upload date:
- Size: 12.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.4.2 CPython/3.8.0 Linux/5.19.0-1022-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f6df1b9c2da5fd5487c4c36e044d0515d8a7df393d4b447eaa7e9c0c0a7fb00 |
|
MD5 | ecdfa4fda29d606d64e9b0c67d3bf7fd |
|
BLAKE2b-256 | 360d9ff3340ff1c16a6130e0d4179b3670018579606bb401daf0235afd39a198 |