Skip to main content

Scrapes Lambda Runtime Info from Amazon's Docs

Project description

Lambda Runtimes

Python library for getting a list of all Lambda runtimes from AWS's documentation page, and interacting with it.

Usage

You can install the lambda-runtimes package from PyPI with pip:

pip3 install lambda-runtimes

or clone this repository and install the requirements with pip3 install -r requirements.txt

Basic Usage

The LambdaRuntimes library implements a list of LambdaRuntimes fetched from the AWS documentation website. Internally, it is just a list of results parsed from the tables on the Lambda runtimes page with some helper functions to make working with them easier.

Import the library at the top of your python file and create an instance of the LambdaRuntimes class. This fetches a list of the runtimes from the AWS docs page.

from lambdaruntimes import LambdaRuntimes
runtimes = LambdaRuntimes()

You can optionally specify another location for the source docs page if you have a cache or proxy.

from lambdaruntimes import LambdaRuntimes
runtimes = LambdaRuntimes(lambda_runtime_docs_url="http://localhost:8000/lambda-runtimes.html")

Iterating Over Runtimes

The LambdaRuntimes class is a valid iterator, so you can loop over all runtimes using normal Python flow control tools.

from lambdaruntimes import LambdaRuntimes
runtimes = LambdaRuntimes()
for runtime in runtimes:
    print(runtime)

You can also directly access the runtimes property of the instance, and iterate over it instead.

Getting a Single Runtime

You can query for a runtime by its identifier using the get_runtime() function.

runtimes.get_runtime("nodejs")
>>> LambdaRuntime(name='Node.js 0.10', identifier='nodejs', sdk=None, os='Amazon Linux', arch=None, deprecation_phase_1=datetime.datetime(2016, 10, 31, 0, 0), deprecation_phase_2=datetime.datetime(2016, 10, 31, 0, 0), runtime_is_expiring=True, runtime_is_expired=True)

Checking if a Runtime is Expiring

You can query if a runtime has a set expiry date by its identifier using the runtime_is_expiring() function.

runtimes.runtime_is_expiring("nodejs")
>>> True

Checking if a Runtime has Expired

You can query if a runtime has expired by its identifier using the runtime_is_expired() function.

runtimes.runtime_is_expired("nodejs")
>>> True

The LambdaRuntime Data Class

The iterables and functions in the library mostly return instances of the LambdaRuntime class. This data class has fields that reflect the data on the AWS documentation website.

This data class is made with Pydantic and so type hints should work in your IDE of choice.

Each instance will have at least the following properties:

name: str
identifier: str
sdk: Optional[str]
os: str
arch: Optional[str]
deprecation_phase_1: Optional[datetime] = None
deprecation_phase_2: Optional[datetime] = None
runtime_is_expiring: bool
runtime_is_expired: bool

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

lambda_runtimes-0.0.3.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lambda_runtimes-0.0.3-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file lambda_runtimes-0.0.3.tar.gz.

File metadata

  • Download URL: lambda_runtimes-0.0.3.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for lambda_runtimes-0.0.3.tar.gz
Algorithm Hash digest
SHA256 9a3068b3dc1e29d614835215e7d38783e2b0563b29f61b760f75732a86c7b50e
MD5 1e5134aef77f0d470291d9a1603676ab
BLAKE2b-256 11eea2c6f9e23f79c1ac000be2c05f1982a75b9931079e0e253dde5eea8d2966

See more details on using hashes here.

Provenance

The following attestation bundles were made for lambda_runtimes-0.0.3.tar.gz:

Publisher: publish-to-pypi.yaml on Neko-Design/lambda-runtimes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lambda_runtimes-0.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for lambda_runtimes-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f6af56af46bf0d020fef87fb547140c6060e8b579ca4a87041c73a1870b5da28
MD5 521ca5e2ecc8612c5e1be3d00a8649b6
BLAKE2b-256 b2b776ec28774f5e92741da8592bb5215f293e079db088a1080dd8d0d33276b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lambda_runtimes-0.0.3-py3-none-any.whl:

Publisher: publish-to-pypi.yaml on Neko-Design/lambda-runtimes

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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