Skip to main content

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:

  1. -h, --help: Show the help message and exit.
  2. -op, --output-path: The output path for the layer .zip file. Default is the current directory (.).
  3. -n, --output-layer-name: The name of the output .zip file. Default is lambda_layer.
  4. -ll, --log-level: The log level of logging. Default is INFO.
  5. -gu, --git-username: The git username to use for the git clone.
  6. -gp, --git-password: The git password to use for the git clone.
  7. -rt, --runtime: The runtime to use for the layer. Default is python3.8.
  8. --console-log, --no-console-log: Log to console. Default is True.
  9. --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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylayerize-1.0.1.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

pylayerize-1.0.1-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

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

Hashes for pylayerize-1.0.1.tar.gz
Algorithm Hash digest
SHA256 3b7a18dfa1a5bef4608d097866da6ea6cf5b9f2f6026d2f890ece423f3a610de
MD5 92503b8c25a46b76a0aa675ab9856ca9
BLAKE2b-256 deadddee94c5133645654e1403151310b0af5e8ff819082ebb54969b2b0eae79

See more details on using hashes here.

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

Hashes for pylayerize-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a482eb64d7e520379e4d91f546ca3bc4cc752315e9716da3a90ecf948af1e42d
MD5 f534c482563f20b6855a108745485068
BLAKE2b-256 7552a1ca1e3551b2cec58eaef5b27a5d42e6bd7c25459291959b858f7f56caeb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page