Metadata-Version: 2.1
Name: lambda-packager
Version: 1.0.0
Summary: Stop writing your own scripts and let this package your python aws lambda zips for you
Home-page: https://github.com/hmrc/python-aws-lambda-packager
License: Apache-2.0
Author: cob16
Author-email: public+github@cormacbrady.info
Requires-Python: >=3.8.0,<4.0.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: toml (>=0.10.2,<0.11.0)
Project-URL: Repository, https://github.com/hmrc/python-aws-lambda-packager
Description-Content-Type: text/markdown

# lambda-packager

Currently, requires python >=3.8 and later due to [required features of copytree](https://docs.python.org/3/library/shutil.html#shutil.copytree)

##Usage
- Just run the packager with:
```bash
$ 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 with the following config:
```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 you pyproject.toml
```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`
```toml
[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]("http://www.apache.org/licenses/LICENSE-2.0.html").

