pylayerize simplifies the process of creating AWS Lambda Layers by leveraging Docker to compile and package Python dependencies for any targeted runtime. With support for custom packages and private GitHub repos, pylayerize optimizes the creation and deployment of Lambda Layers for improved development efficiency.
Project description
Pylayerize
Pylayerize simplifies the process of creating AWS Lambda Layers by leveraging Docker to compile and package Python dependencies for any targeted runtime. With support for custom packages and private GitHub repos, pylayerize optimizes the creation and deployment of Lambda Layers for improved development efficiency.
General Usage
To use Pylayerize, you must first install it using pip:
$ pip install pylayerize
Once pylayerize is installed, you can run it from the command line by invoking the pylayerize command.
$ pylayerize -tp <target_package> [OPTIONS]
Required Options:
-tp, --target-package: The target package to build a layer for.
Optional Options:
- -h, --help: Show the help message and exit.
- -op, --output-path: The output path for the layer .zip file. Default is the current directory (.).
- -n, --output-layer-name: The name of the output .zip file. Default is lambda_layer.
- -ll, --log-level: The log level of logging. Default is INFO.
- -gu, --git-username: The git username to use for the git clone.
- -gp, --git-password: The git password to use for the git clone.
- -rt, --runtime: The runtime to use for the layer. Default is python3.8.
- --console-log, --no-console-log: Log to console. Default is True.
- --local, --no-local: Set to True if you want to use a requirments.txt file or a custom lib stored locally. Default is False.
Examples
To build a layer for numpy using the default options, run:
$ pylayerize -tp my_package
To build a layer for numpy with a custom output path and layer name, run:
$ pylayerize -tp numpy -op /path/to/output -n my_layer
To build a layer for private GitHub repositories that require authentication, run:
$ pylayerize --target-package git+my_repo_link --git-username my_username --git-password my_password
If you have a local requirements.txt file at /path/to/requirements.txt, you can use it by running
$ pylayerize --target-package mypackage --local --requirements-file /path/to/requirements.txt
Programatic Usage
It is also possible to use pylayerize and its components programatically in Python.
from pylayerize import build_aws_lamda_layer
Contributions
Contributions are welcome! Here are some guidelines for contributing to this project:
Fork this repository and create a new branch for your feature or bug fix. Make your changes and commit them with descriptive commit messages. Create a pull request against the dev branch and describe your changes and the problem they solve. Ensure that your code passes all tests and meets the project's code standards. Respond to any feedback from maintainers and make any necessary changes. If you'd like to contribute but aren't sure where to start, take a look at the project's issue tracker. Issues marked as "help wanted" or "good first issue" are a good place to start.
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 pylayerize-1.0.1.tar.gz
.
File metadata
- Download URL: pylayerize-1.0.1.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b7a18dfa1a5bef4608d097866da6ea6cf5b9f2f6026d2f890ece423f3a610de |
|
MD5 | 92503b8c25a46b76a0aa675ab9856ca9 |
|
BLAKE2b-256 | deadddee94c5133645654e1403151310b0af5e8ff819082ebb54969b2b0eae79 |
File details
Details for the file pylayerize-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: pylayerize-1.0.1-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a482eb64d7e520379e4d91f546ca3bc4cc752315e9716da3a90ecf948af1e42d |
|
MD5 | f534c482563f20b6855a108745485068 |
|
BLAKE2b-256 | 7552a1ca1e3551b2cec58eaef5b27a5d42e6bd7c25459291959b858f7f56caeb |