Skip to content

cjhodges77/python-aws-lambda-packager

 
 

Repository files navigation

lambda-packager

HMRC: Digital PyPI Python License: Apache 2.0 Code style: black

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"]

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 97.8%
  • Makefile 2.2%