
Lambda Layer用のawswrangler (AWS SDK for pandas)に含まれるPythonモジュールとバージョンを確認する
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
データアナリティクス事業本部のueharaです。
今回は、Lambda Layer用のawswrangler (AWS SDK for pandas)に含まれるPythonモジュールとバージョンを確認してみたいと思います。
はじめに
awswranglerはpipでインストールすると容量が大きいため、githubのreleaseページでLambda Layersに登録するためのzipファイルが公開されています。

このzipファイルには勿論pandasやnumpyも含まれており、一般的なETL処理であれば本zipに含まれているモジュールで必要十分かと思います。
ただ、「どのようなモジュールが含まれているのか?」「バージョンは何か?」と気になる方も多いかと思いますので、今回はその確認方法をご紹介します。
確認方法
上記でDLしたzipファイルを解凍すると python というフォルダが出てくると思います。
そのフォルダに対して、以下のスクリプトを実行します。
import os
# 解凍して出力されたpythonフォルダのパスを指定
TARGET_PATH = "./python"
def find_metadata(dir_path):
    for root, dirs, files in os.walk(dir_path):
        if 'METADATA' in files:
            yield os.path.join(root, 'METADATA')
def parse_metadata(file_path):
    with open(file_path, 'r') as f:
        lines = f.readlines()
    for line in lines:
        if line.startswith('Name: '):
            name = line.split(': ')[1].strip()
        if line.startswith('Version: '):
            version = line.split(': ')[1].strip()
    return name, version
data = []
for metadata_file in find_metadata(TARGET_PATH):
    name, version = parse_metadata(metadata_file)
    data.append((name, version))
data.sort()
# Markdown table形式で出力
print("| module_name | version |")
print("| ---- | ---- |")
for name, version in data:
    print(f"| {name} | {version} |")
確認結果
awswrangler-layer-3.4.0-py3.9.zip について確認したところ、結果は以下の通りでした。
| module_name | version | 
|---|---|
| PyMySQL | 1.1.0 | 
| aenum | 3.1.15 | 
| aiohttp | 3.8.5 | 
| aiosignal | 1.3.1 | 
| asn1crypto | 1.5.1 | 
| async-timeout | 4.0.3 | 
| attrs | 23.1.0 | 
| awswrangler | 3.4.0 | 
| beautifulsoup4 | 4.12.2 | 
| certifi | 2023.7.22 | 
| charset-normalizer | 3.2.0 | 
| decorator | 5.1.1 | 
| et-xmlfile | 1.1.0 | 
| frozenlist | 1.4.0 | 
| gremlinpython | 3.7.0 | 
| idna | 3.4 | 
| isodate | 0.6.1 | 
| jmespath | 1.0.1 | 
| jsonpath-ng | 1.5.3 | 
| lxml | 4.9.3 | 
| multidict | 6.0.4 | 
| nest-asyncio | 1.5.7 | 
| numpy | 1.25.2 | 
| openpyxl | 3.1.2 | 
| opensearch-py | 2.3.1 | 
| packaging | 23.1 | 
| pandas | 2.1.0 | 
| pg8000 | 1.30.1 | 
| ply | 3.11 | 
| pyarrow | 12.0.0 | 
| python-dateutil | 2.8.2 | 
| pytz | 2023.3.post1 | 
| redshift-connector | 2.0.913 | 
| requests | 2.31.0 | 
| requests-aws4auth | 1.2.3 | 
| s3transfer | 0.6.2 | 
| scramp | 1.4.4 | 
| setuptools | 68.2.0 | 
| six | 1.16.0 | 
| soupsieve | 2.5 | 
| typing_extensions | 4.7.1 | 
| tzdata | 2023.3 | 
| urllib3 | 1.26.16 | 
| yarl | 1.9.2 | 
最後に
今回は、Lambda Layer用のawswrangler (AWS SDK for pandas)に含まれるPythonモジュールとバージョンを確認してみました。
参考になりましたら幸いです。












