Open cammer-alchemy opened 4 years ago
I am also having this same problem, on both Linux and MacOS - seems that the slim feature just doesn't work at all. I'm using this with multiple functions specified with the module option.
It's been marked as a bug, and there are several related issues also marked as bug, but would be great to have more information on it in case there's a work-around or if I'll have to figure out another solution.
I'm having this issue as well. slim: true
does not seem to do anything.
So, I tried this and I can't replicate this problem. First let me ask, do you guys know that slim only works against the installed requirements? So, after the requirements.txt is handled and all reqs are installed into a subdirectory, then that folder is run through the slim patterns. So slim will not exclude files in your folder already. If you'd like that, serverless has an "excludes" feature built-into it defined at the top-level.
If I'm missing something else here, please explain/show me in more detail.
Eg: it would help me to have a full folder/repo (not just the serverless.yml, include the requirements and any other folders/files (within reason, ofc, feel free to "empty" files if necessary for privacy/sensitivity)) so I can exactly replicate your problem if possible.
@ryancammer / @dashmug / @matthewhanson / anyone else: Please provide more details and/or a repo that highlights this problem so I can debug further
@AndrewFarley I'll post a repro repo later today.
@AndrewFarley Here's the repro: https://github.com/dashmug/serverless-python-requirements-issue-437
Let me know what you think and if there's anything I can help with. Thanks.
@dashmug I tried your repo, the zip looks good to me. It slimmed perfectly. Admittedly, I did modify the serverless.yml a bit though. Also, I didn't use the version of serverless from your package.json, I used the latest release. My serverless.yml has...
custom:
pythonRequirements:
dockerizePip: true
usePoetry: true
useDownloadCache: true
useStaticCache: false
invalidateCaches: false
slim: true
.serverless$ find ./serverless-python-requirements-issue-437
./serverless-python-requirements-issue-437
./serverless-python-requirements-issue-437/jwt
./serverless-python-requirements-issue-437/jwt/algorithms.py
./serverless-python-requirements-issue-437/jwt/compat.py
./serverless-python-requirements-issue-437/jwt/api_jwt.py
./serverless-python-requirements-issue-437/jwt/__init__.py
./serverless-python-requirements-issue-437/jwt/contrib
./serverless-python-requirements-issue-437/jwt/contrib/algorithms
./serverless-python-requirements-issue-437/jwt/contrib/algorithms/pycrypto.py
./serverless-python-requirements-issue-437/jwt/contrib/algorithms/py_ecdsa.py
./serverless-python-requirements-issue-437/jwt/contrib/algorithms/__init__.py
./serverless-python-requirements-issue-437/jwt/contrib/__init__.py
./serverless-python-requirements-issue-437/jwt/utils.py
./serverless-python-requirements-issue-437/jwt/exceptions.py
./serverless-python-requirements-issue-437/jwt/api_jws.py
./serverless-python-requirements-issue-437/jwt/help.py
./serverless-python-requirements-issue-437/jwt/__main__.py
./serverless-python-requirements-issue-437/paramiko
./serverless-python-requirements-issue-437/paramiko/primes.py
./serverless-python-requirements-issue-437/paramiko/ecdsakey.py
./serverless-python-requirements-issue-437/paramiko/kex_ecdh_nist.py
./serverless-python-requirements-issue-437/paramiko/py3compat.py
./serverless-python-requirements-issue-437/paramiko/server.py
./serverless-python-requirements-issue-437/paramiko/rsakey.py
./serverless-python-requirements-issue-437/paramiko/config.py
./serverless-python-requirements-issue-437/paramiko/auth_handler.py
./serverless-python-requirements-issue-437/paramiko/pkey.py
./serverless-python-requirements-issue-437/paramiko/kex_gss.py
./serverless-python-requirements-issue-437/paramiko/_version.py
./serverless-python-requirements-issue-437/paramiko/sftp_server.py
./serverless-python-requirements-issue-437/paramiko/ed25519key.py
./serverless-python-requirements-issue-437/paramiko/transport.py
./serverless-python-requirements-issue-437/paramiko/kex_group14.py
./serverless-python-requirements-issue-437/paramiko/util.py
./serverless-python-requirements-issue-437/paramiko/proxy.py
./serverless-python-requirements-issue-437/paramiko/kex_gex.py
./serverless-python-requirements-issue-437/paramiko/kex_group1.py
./serverless-python-requirements-issue-437/paramiko/hostkeys.py
./serverless-python-requirements-issue-437/paramiko/client.py
./serverless-python-requirements-issue-437/paramiko/channel.py
./serverless-python-requirements-issue-437/paramiko/ssh_gss.py
./serverless-python-requirements-issue-437/paramiko/sftp_handle.py
./serverless-python-requirements-issue-437/paramiko/__init__.py
./serverless-python-requirements-issue-437/paramiko/_winapi.py
./serverless-python-requirements-issue-437/paramiko/message.py
./serverless-python-requirements-issue-437/paramiko/win_pageant.py
./serverless-python-requirements-issue-437/paramiko/sftp_client.py
./serverless-python-requirements-issue-437/paramiko/sftp_si.py
./serverless-python-requirements-issue-437/paramiko/ber.py
./serverless-python-requirements-issue-437/paramiko/file.py
./serverless-python-requirements-issue-437/paramiko/kex_group16.py
./serverless-python-requirements-issue-437/paramiko/buffered_pipe.py
./serverless-python-requirements-issue-437/paramiko/common.py
./serverless-python-requirements-issue-437/paramiko/compress.py
./serverless-python-requirements-issue-437/paramiko/agent.py
./serverless-python-requirements-issue-437/paramiko/sftp_file.py
./serverless-python-requirements-issue-437/paramiko/packet.py
./serverless-python-requirements-issue-437/paramiko/sftp_attr.py
./serverless-python-requirements-issue-437/paramiko/sftp.py
./serverless-python-requirements-issue-437/paramiko/dsskey.py
./serverless-python-requirements-issue-437/paramiko/kex_curve25519.py
./serverless-python-requirements-issue-437/paramiko/pipe.py
./serverless-python-requirements-issue-437/paramiko/ssh_exception.py
./serverless-python-requirements-issue-437/cffi-1.14.1.dist-info
./serverless-python-requirements-issue-437/urllib3-1.25.10.dist-info
./serverless-python-requirements-issue-437/chardet-3.0.4.dist-info
./serverless-python-requirements-issue-437/dulwich-0.19.14.dist-info
./serverless-python-requirements-issue-437/pymysql
./serverless-python-requirements-issue-437/pymysql/util.py
./serverless-python-requirements-issue-437/pymysql/constants
./serverless-python-requirements-issue-437/pymysql/constants/FLAG.py
./serverless-python-requirements-issue-437/pymysql/constants/COMMAND.py
./serverless-python-requirements-issue-437/pymysql/constants/CLIENT.py
./serverless-python-requirements-issue-437/pymysql/constants/__init__.py
./serverless-python-requirements-issue-437/pymysql/constants/ER.py
./serverless-python-requirements-issue-437/pymysql/constants/CR.py
./serverless-python-requirements-issue-437/pymysql/constants/SERVER_STATUS.py
./serverless-python-requirements-issue-437/pymysql/constants/FIELD_TYPE.py
./serverless-python-requirements-issue-437/pymysql/protocol.py
./serverless-python-requirements-issue-437/pymysql/cursors.py
./serverless-python-requirements-issue-437/pymysql/connections.py
./serverless-python-requirements-issue-437/pymysql/__init__.py
./serverless-python-requirements-issue-437/pymysql/times.py
./serverless-python-requirements-issue-437/pymysql/charset.py
./serverless-python-requirements-issue-437/pymysql/converters.py
./serverless-python-requirements-issue-437/pymysql/_compat.py
./serverless-python-requirements-issue-437/pymysql/_socketio.py
./serverless-python-requirements-issue-437/pymysql/optionfile.py
./serverless-python-requirements-issue-437/pymysql/err.py
./serverless-python-requirements-issue-437/pymysql/_auth.py
./serverless-python-requirements-issue-437/chardet
./serverless-python-requirements-issue-437/chardet/enums.py
./serverless-python-requirements-issue-437/chardet/langhungarianmodel.py
./serverless-python-requirements-issue-437/chardet/mbcssm.py
./serverless-python-requirements-issue-437/chardet/langthaimodel.py
./serverless-python-requirements-issue-437/chardet/version.py
./serverless-python-requirements-issue-437/chardet/compat.py
./serverless-python-requirements-issue-437/chardet/langbulgarianmodel.py
./serverless-python-requirements-issue-437/chardet/euckrprober.py
./serverless-python-requirements-issue-437/chardet/sjisprober.py
./serverless-python-requirements-issue-437/chardet/cp949prober.py
./serverless-python-requirements-issue-437/chardet/__init__.py
./serverless-python-requirements-issue-437/chardet/euctwfreq.py
./serverless-python-requirements-issue-437/chardet/langhebrewmodel.py
./serverless-python-requirements-issue-437/chardet/cli
./serverless-python-requirements-issue-437/chardet/cli/__init__.py
./serverless-python-requirements-issue-437/chardet/cli/chardetect.py
./serverless-python-requirements-issue-437/chardet/chardistribution.py
./serverless-python-requirements-issue-437/chardet/latin1prober.py
./serverless-python-requirements-issue-437/chardet/charsetprober.py
./serverless-python-requirements-issue-437/chardet/gb2312prober.py
./serverless-python-requirements-issue-437/chardet/mbcharsetprober.py
./serverless-python-requirements-issue-437/chardet/langcyrillicmodel.py
./serverless-python-requirements-issue-437/chardet/euctwprober.py
./serverless-python-requirements-issue-437/chardet/codingstatemachine.py
./serverless-python-requirements-issue-437/chardet/escprober.py
./serverless-python-requirements-issue-437/chardet/universaldetector.py
./serverless-python-requirements-issue-437/chardet/utf8prober.py
./serverless-python-requirements-issue-437/chardet/gb2312freq.py
./serverless-python-requirements-issue-437/chardet/mbcsgroupprober.py
./serverless-python-requirements-issue-437/chardet/langgreekmodel.py
./serverless-python-requirements-issue-437/chardet/eucjpprober.py
./serverless-python-requirements-issue-437/chardet/jisfreq.py
./serverless-python-requirements-issue-437/chardet/escsm.py
./serverless-python-requirements-issue-437/chardet/langturkishmodel.py
./serverless-python-requirements-issue-437/chardet/sbcharsetprober.py
./serverless-python-requirements-issue-437/chardet/big5freq.py
./serverless-python-requirements-issue-437/chardet/euckrfreq.py
./serverless-python-requirements-issue-437/chardet/big5prober.py
./serverless-python-requirements-issue-437/chardet/hebrewprober.py
./serverless-python-requirements-issue-437/chardet/charsetgroupprober.py
./serverless-python-requirements-issue-437/chardet/sbcsgroupprober.py
./serverless-python-requirements-issue-437/chardet/jpcntx.py
./serverless-python-requirements-issue-437/certifi-2020.6.20.dist-info
./serverless-python-requirements-issue-437/requirements.txt
./serverless-python-requirements-issue-437/pycparser
./serverless-python-requirements-issue-437/pycparser/ply
./serverless-python-requirements-issue-437/pycparser/ply/yacc.py
./serverless-python-requirements-issue-437/pycparser/ply/lex.py
./serverless-python-requirements-issue-437/pycparser/ply/ctokens.py
./serverless-python-requirements-issue-437/pycparser/ply/__init__.py
./serverless-python-requirements-issue-437/pycparser/ply/cpp.py
./serverless-python-requirements-issue-437/pycparser/ply/ygen.py
./serverless-python-requirements-issue-437/pycparser/c_parser.py
./serverless-python-requirements-issue-437/pycparser/_ast_gen.py
./serverless-python-requirements-issue-437/pycparser/__init__.py
./serverless-python-requirements-issue-437/pycparser/_c_ast.cfg
./serverless-python-requirements-issue-437/pycparser/c_ast.py
./serverless-python-requirements-issue-437/pycparser/plyparser.py
./serverless-python-requirements-issue-437/pycparser/_build_tables.py
./serverless-python-requirements-issue-437/pycparser/ast_transforms.py
./serverless-python-requirements-issue-437/pycparser/yacctab.py
./serverless-python-requirements-issue-437/pycparser/c_generator.py
./serverless-python-requirements-issue-437/pycparser/c_lexer.py
./serverless-python-requirements-issue-437/pycparser/lextab.py
./serverless-python-requirements-issue-437/six-1.15.0.dist-info
./serverless-python-requirements-issue-437/wrapt-1.12.1.dist-info
./serverless-python-requirements-issue-437/bin
./serverless-python-requirements-issue-437/bin/dul-receive-pack
./serverless-python-requirements-issue-437/bin/chardetect
./serverless-python-requirements-issue-437/bin/pyjwt
./serverless-python-requirements-issue-437/bin/dul-upload-pack
./serverless-python-requirements-issue-437/bin/dulwich
./serverless-python-requirements-issue-437/paramiko-2.7.1.dist-info
./serverless-python-requirements-issue-437/idna-2.10.dist-info
./serverless-python-requirements-issue-437/pycparser-2.20.dist-info
./serverless-python-requirements-issue-437/cryptography
./serverless-python-requirements-issue-437/cryptography/hazmat
./serverless-python-requirements-issue-437/cryptography/hazmat/_der.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/interfaces.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/x448.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/backend.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/ec.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/ciphers.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/ocsp.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/x509.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/aead.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/encode_asn1.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/rsa.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/dh.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/cmac.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/utils.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/poly1305.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/ed25519.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/dsa.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/decode_asn1.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/hmac.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/ed448.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/x25519.py
./serverless-python-requirements-issue-437/cryptography/hazmat/backends/openssl/hashes.py
./serverless-python-requirements-issue-437/cryptography/hazmat/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf/scrypt.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf/pbkdf2.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf/hkdf.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf/x963kdf.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf/kbkdf.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/kdf/concatkdf.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/twofactor
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/twofactor/totp.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/twofactor/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/twofactor/hotp.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/twofactor/utils.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/serialization
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/serialization/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/serialization/pkcs12.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/serialization/ssh.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/serialization/base.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/cmac.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/poly1305.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/ciphers
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/ciphers/algorithms.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/ciphers/aead.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/ciphers/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/ciphers/modes.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/ciphers/base.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/constant_time.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/x448.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/ec.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/rsa.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/dh.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/utils.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/ed25519.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/dsa.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/ed448.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/x25519.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/asymmetric/padding.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/keywrap.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/hmac.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/hashes.py
./serverless-python-requirements-issue-437/cryptography/hazmat/primitives/padding.py
./serverless-python-requirements-issue-437/cryptography/hazmat/_oid.py
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings/_padding.abi3.so
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings/_openssl.abi3.so
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings/openssl
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings/openssl/__init__.py
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings/openssl/_conditional.py
./serverless-python-requirements-issue-437/cryptography/hazmat/bindings/openssl/binding.py
./serverless-python-requirements-issue-437/cryptography/__init__.py
./serverless-python-requirements-issue-437/cryptography/x509
./serverless-python-requirements-issue-437/cryptography/x509/oid.py
./serverless-python-requirements-issue-437/cryptography/x509/ocsp.py
./serverless-python-requirements-issue-437/cryptography/x509/general_name.py
./serverless-python-requirements-issue-437/cryptography/x509/__init__.py
./serverless-python-requirements-issue-437/cryptography/x509/extensions.py
./serverless-python-requirements-issue-437/cryptography/x509/name.py
./serverless-python-requirements-issue-437/cryptography/x509/base.py
./serverless-python-requirements-issue-437/cryptography/x509/certificate_transparency.py
./serverless-python-requirements-issue-437/cryptography/utils.py
./serverless-python-requirements-issue-437/cryptography/__about__.py
./serverless-python-requirements-issue-437/cryptography/exceptions.py
./serverless-python-requirements-issue-437/cryptography/fernet.py
./serverless-python-requirements-issue-437/PyPika-0.38.0.dist-info
./serverless-python-requirements-issue-437/_cffi_backend.cpython-38-x86_64-linux-gnu.so
./serverless-python-requirements-issue-437/bcrypt
./serverless-python-requirements-issue-437/bcrypt/__init__.py
./serverless-python-requirements-issue-437/bcrypt/_bcrypt.abi3.so
./serverless-python-requirements-issue-437/bcrypt/__about__.py
./serverless-python-requirements-issue-437/cffi
./serverless-python-requirements-issue-437/cffi/_cffi_include.h
./serverless-python-requirements-issue-437/cffi/backend_ctypes.py
./serverless-python-requirements-issue-437/cffi/error.py
./serverless-python-requirements-issue-437/cffi/setuptools_ext.py
./serverless-python-requirements-issue-437/cffi/_cffi_errors.h
./serverless-python-requirements-issue-437/cffi/__init__.py
./serverless-python-requirements-issue-437/cffi/cffi_opcode.py
./serverless-python-requirements-issue-437/cffi/vengine_gen.py
./serverless-python-requirements-issue-437/cffi/pkgconfig.py
./serverless-python-requirements-issue-437/cffi/model.py
./serverless-python-requirements-issue-437/cffi/ffiplatform.py
./serverless-python-requirements-issue-437/cffi/api.py
./serverless-python-requirements-issue-437/cffi/vengine_cpy.py
./serverless-python-requirements-issue-437/cffi/_embedding.h
./serverless-python-requirements-issue-437/cffi/commontypes.py
./serverless-python-requirements-issue-437/cffi/lock.py
./serverless-python-requirements-issue-437/cffi/recompiler.py
./serverless-python-requirements-issue-437/cffi/cparser.py
./serverless-python-requirements-issue-437/cffi/verifier.py
./serverless-python-requirements-issue-437/cffi/parse_c_type.h
./serverless-python-requirements-issue-437/PyGithub-1.51.dist-info
./serverless-python-requirements-issue-437/idna
./serverless-python-requirements-issue-437/idna/intranges.py
./serverless-python-requirements-issue-437/idna/package_data.py
./serverless-python-requirements-issue-437/idna/compat.py
./serverless-python-requirements-issue-437/idna/idnadata.py
./serverless-python-requirements-issue-437/idna/__init__.py
./serverless-python-requirements-issue-437/idna/core.py
./serverless-python-requirements-issue-437/idna/codec.py
./serverless-python-requirements-issue-437/idna/uts46data.py
./serverless-python-requirements-issue-437/docs
./serverless-python-requirements-issue-437/docs/tutorial
./serverless-python-requirements-issue-437/docs/tutorial/object-store.txt
./serverless-python-requirements-issue-437/docs/tutorial/porcelain.txt
./serverless-python-requirements-issue-437/docs/tutorial/tag.txt
./serverless-python-requirements-issue-437/docs/tutorial/remote.txt
./serverless-python-requirements-issue-437/docs/tutorial/encoding.txt
./serverless-python-requirements-issue-437/docs/tutorial/index.txt
./serverless-python-requirements-issue-437/docs/tutorial/conclusion.txt
./serverless-python-requirements-issue-437/docs/tutorial/repo.txt
./serverless-python-requirements-issue-437/docs/tutorial/introduction.txt
./serverless-python-requirements-issue-437/docs/tutorial/file-format.txt
./serverless-python-requirements-issue-437/PyMySQL-0.10.0.dist-info
./serverless-python-requirements-issue-437/Deprecated-1.2.10.dist-info
./serverless-python-requirements-issue-437/wrapt
./serverless-python-requirements-issue-437/wrapt/importer.py
./serverless-python-requirements-issue-437/wrapt/_wrappers.cpython-38-x86_64-linux-gnu.so
./serverless-python-requirements-issue-437/wrapt/__init__.py
./serverless-python-requirements-issue-437/wrapt/wrappers.py
./serverless-python-requirements-issue-437/wrapt/decorators.py
./serverless-python-requirements-issue-437/requests
./serverless-python-requirements-issue-437/requests/cookies.py
./serverless-python-requirements-issue-437/requests/auth.py
./serverless-python-requirements-issue-437/requests/sessions.py
./serverless-python-requirements-issue-437/requests/hooks.py
./serverless-python-requirements-issue-437/requests/compat.py
./serverless-python-requirements-issue-437/requests/models.py
./serverless-python-requirements-issue-437/requests/certs.py
./serverless-python-requirements-issue-437/requests/__init__.py
./serverless-python-requirements-issue-437/requests/status_codes.py
./serverless-python-requirements-issue-437/requests/packages.py
./serverless-python-requirements-issue-437/requests/__version__.py
./serverless-python-requirements-issue-437/requests/api.py
./serverless-python-requirements-issue-437/requests/_internal_utils.py
./serverless-python-requirements-issue-437/requests/utils.py
./serverless-python-requirements-issue-437/requests/exceptions.py
./serverless-python-requirements-issue-437/requests/structures.py
./serverless-python-requirements-issue-437/requests/help.py
./serverless-python-requirements-issue-437/requests/adapters.py
./serverless-python-requirements-issue-437/PyNaCl-1.4.0.dist-info
./serverless-python-requirements-issue-437/requirements.zip
./serverless-python-requirements-issue-437/pypika
./serverless-python-requirements-issue-437/pypika/terms.py
./serverless-python-requirements-issue-437/pypika/functions.py
./serverless-python-requirements-issue-437/pypika/clickhouse
./serverless-python-requirements-issue-437/pypika/clickhouse/search_string.py
./serverless-python-requirements-issue-437/pypika/clickhouse/__init__.py
./serverless-python-requirements-issue-437/pypika/clickhouse/type_conversion.py
./serverless-python-requirements-issue-437/pypika/clickhouse/condition.py
./serverless-python-requirements-issue-437/pypika/clickhouse/dates_and_times.py
./serverless-python-requirements-issue-437/pypika/clickhouse/nullable_arg.py
./serverless-python-requirements-issue-437/pypika/clickhouse/array.py
./serverless-python-requirements-issue-437/pypika/enums.py
./serverless-python-requirements-issue-437/pypika/__init__.py
./serverless-python-requirements-issue-437/pypika/utils.py
./serverless-python-requirements-issue-437/pypika/dialects.py
./serverless-python-requirements-issue-437/pypika/queries.py
./serverless-python-requirements-issue-437/pypika/analytics.py
./serverless-python-requirements-issue-437/pypika/pseudocolumns.py
./serverless-python-requirements-issue-437/certifi
./serverless-python-requirements-issue-437/certifi/__init__.py
./serverless-python-requirements-issue-437/certifi/core.py
./serverless-python-requirements-issue-437/certifi/cacert.pem
./serverless-python-requirements-issue-437/certifi/__main__.py
./serverless-python-requirements-issue-437/requests-2.24.0.dist-info
./serverless-python-requirements-issue-437/github
./serverless-python-requirements-issue-437/github/TimelineEvent.py
./serverless-python-requirements-issue-437/github/Gist.pyi
./serverless-python-requirements-issue-437/github/Referrer.py
./serverless-python-requirements-issue-437/github/NotificationSubject.pyi
./serverless-python-requirements-issue-437/github/GitTree.pyi
./serverless-python-requirements-issue-437/github/PullRequestReview.py
./serverless-python-requirements-issue-437/github/CommitCombinedStatus.py
./serverless-python-requirements-issue-437/github/Plan.py
./serverless-python-requirements-issue-437/github/TeamDiscussion.pyi
./serverless-python-requirements-issue-437/github/StatsCodeFrequency.pyi
./serverless-python-requirements-issue-437/github/RequiredPullRequestReviews.pyi
./serverless-python-requirements-issue-437/github/View.pyi
./serverless-python-requirements-issue-437/github/PullRequestComment.py
./serverless-python-requirements-issue-437/github/CommitStatus.py
./serverless-python-requirements-issue-437/github/Membership.pyi
./serverless-python-requirements-issue-437/github/StatsParticipation.pyi
./serverless-python-requirements-issue-437/github/Event.py
./serverless-python-requirements-issue-437/github/Rate.pyi
./serverless-python-requirements-issue-437/github/GitRef.py
./serverless-python-requirements-issue-437/github/GitReleaseAsset.py
./serverless-python-requirements-issue-437/github/IssueEvent.pyi
./serverless-python-requirements-issue-437/github/AuthorizationApplication.py
./serverless-python-requirements-issue-437/github/License.pyi
./serverless-python-requirements-issue-437/github/GitObject.py
./serverless-python-requirements-issue-437/github/Clones.py
./serverless-python-requirements-issue-437/github/Branch.pyi
./serverless-python-requirements-issue-437/github/IssuePullRequest.pyi
./serverless-python-requirements-issue-437/github/GitRef.pyi
./serverless-python-requirements-issue-437/github/HookDescription.py
./serverless-python-requirements-issue-437/github/PaginatedList.pyi
./serverless-python-requirements-issue-437/github/AuthorizationApplication.pyi
./serverless-python-requirements-issue-437/github/GitBlob.pyi
./serverless-python-requirements-issue-437/github/Project.pyi
./serverless-python-requirements-issue-437/github/PullRequest.py
./serverless-python-requirements-issue-437/github/GitignoreTemplate.py
./serverless-python-requirements-issue-437/github/Installation.pyi
./serverless-python-requirements-issue-437/github/StatsPunchCard.pyi
./serverless-python-requirements-issue-437/github/NamedUser.py
./serverless-python-requirements-issue-437/github/Deployment.py
./serverless-python-requirements-issue-437/github/IssueEvent.py
./serverless-python-requirements-issue-437/github/__init__.pyi
./serverless-python-requirements-issue-437/github/GistComment.py
./serverless-python-requirements-issue-437/github/TeamDiscussion.py
./serverless-python-requirements-issue-437/github/GithubException.py
./serverless-python-requirements-issue-437/github/StatsPunchCard.py
./serverless-python-requirements-issue-437/github/Repository.pyi
./serverless-python-requirements-issue-437/github/GitTag.py
./serverless-python-requirements-issue-437/github/NamedUser.pyi
./serverless-python-requirements-issue-437/github/GithubObject.pyi
./serverless-python-requirements-issue-437/github/ContentFile.pyi
./serverless-python-requirements-issue-437/github/Organization.py
./serverless-python-requirements-issue-437/github/PullRequestMergeStatus.py
./serverless-python-requirements-issue-437/github/Stargazer.pyi
./serverless-python-requirements-issue-437/github/Rate.py
./serverless-python-requirements-issue-437/github/Notification.py
./serverless-python-requirements-issue-437/github/Organization.pyi
./serverless-python-requirements-issue-437/github/GistFile.py
./serverless-python-requirements-issue-437/github/Installation.py
./serverless-python-requirements-issue-437/github/UserKey.py
./serverless-python-requirements-issue-437/github/CommitComment.py
./serverless-python-requirements-issue-437/github/Plan.pyi
./serverless-python-requirements-issue-437/github/Download.py
./serverless-python-requirements-issue-437/github/PullRequestComment.pyi
./serverless-python-requirements-issue-437/github/Migration.pyi
./serverless-python-requirements-issue-437/github/CommitStatus.pyi
./serverless-python-requirements-issue-437/github/Deployment.pyi
./serverless-python-requirements-issue-437/github/ProjectColumn.py
./serverless-python-requirements-issue-437/github/TimelineEventSource.pyi
./serverless-python-requirements-issue-437/github/PullRequest.pyi
./serverless-python-requirements-issue-437/github/Notification.pyi
./serverless-python-requirements-issue-437/github/GithubException.pyi
./serverless-python-requirements-issue-437/github/Invitation.pyi
./serverless-python-requirements-issue-437/github/ProjectCard.py
./serverless-python-requirements-issue-437/github/PullRequestMergeStatus.pyi
./serverless-python-requirements-issue-437/github/InputGitAuthor.pyi
./serverless-python-requirements-issue-437/github/Commit.py
./serverless-python-requirements-issue-437/github/Stargazer.py
./serverless-python-requirements-issue-437/github/InputFileContent.py
./serverless-python-requirements-issue-437/github/GitTree.py
./serverless-python-requirements-issue-437/github/Hook.py
./serverless-python-requirements-issue-437/github/__init__.py
./serverless-python-requirements-issue-437/github/GitTreeElement.py
./serverless-python-requirements-issue-437/github/GistFile.pyi
./serverless-python-requirements-issue-437/github/GitCommit.pyi
./serverless-python-requirements-issue-437/github/PullRequestPart.py
./serverless-python-requirements-issue-437/github/Branch.py
./serverless-python-requirements-issue-437/github/RateLimit.pyi
./serverless-python-requirements-issue-437/github/RepositoryKey.pyi
./serverless-python-requirements-issue-437/github/Requester.py
./serverless-python-requirements-issue-437/github/AuthenticatedUser.py
./serverless-python-requirements-issue-437/github/RequiredPullRequestReviews.py
./serverless-python-requirements-issue-437/github/RateLimit.py
./serverless-python-requirements-issue-437/github/Authorization.pyi
./serverless-python-requirements-issue-437/github/GitCommit.py
./serverless-python-requirements-issue-437/github/InstallationAuthorization.py
./serverless-python-requirements-issue-437/github/Team.py
./serverless-python-requirements-issue-437/github/GitAuthor.py
./serverless-python-requirements-issue-437/github/GistHistoryState.py
./serverless-python-requirements-issue-437/github/Topic.pyi
./serverless-python-requirements-issue-437/github/Consts.py
./serverless-python-requirements-issue-437/github/GitObject.pyi
./serverless-python-requirements-issue-437/github/Comparison.py
./serverless-python-requirements-issue-437/github/RequiredStatusChecks.pyi
./serverless-python-requirements-issue-437/github/StatsContributor.pyi
./serverless-python-requirements-issue-437/github/File.py
./serverless-python-requirements-issue-437/github/Authorization.py
./serverless-python-requirements-issue-437/github/InputFileContent.pyi
./serverless-python-requirements-issue-437/github/GitRelease.py
./serverless-python-requirements-issue-437/github/StatsCommitActivity.pyi
./serverless-python-requirements-issue-437/github/TimelineEventSource.py
./serverless-python-requirements-issue-437/github/View.py
./serverless-python-requirements-issue-437/github/TimelineEvent.pyi
./serverless-python-requirements-issue-437/github/SourceImport.pyi
./serverless-python-requirements-issue-437/github/GitTag.pyi
./serverless-python-requirements-issue-437/github/Download.pyi
./serverless-python-requirements-issue-437/github/GitBlob.py
./serverless-python-requirements-issue-437/github/Gist.py
./serverless-python-requirements-issue-437/github/BranchProtection.py
./serverless-python-requirements-issue-437/github/Referrer.pyi
./serverless-python-requirements-issue-437/github/Label.py
./serverless-python-requirements-issue-437/github/Reaction.pyi
./serverless-python-requirements-issue-437/github/Event.pyi
./serverless-python-requirements-issue-437/github/GistHistoryState.pyi
./serverless-python-requirements-issue-437/github/GithubObject.py
./serverless-python-requirements-issue-437/github/AuthenticatedUser.pyi
./serverless-python-requirements-issue-437/github/HookResponse.py
./serverless-python-requirements-issue-437/github/CommitStats.py
./serverless-python-requirements-issue-437/github/Milestone.pyi
./serverless-python-requirements-issue-437/github/HookDescription.pyi
./serverless-python-requirements-issue-437/github/Topic.py
./serverless-python-requirements-issue-437/github/CommitCombinedStatus.pyi
./serverless-python-requirements-issue-437/github/ContentFile.py
./serverless-python-requirements-issue-437/github/StatsContributor.py
./serverless-python-requirements-issue-437/github/Permissions.py
./serverless-python-requirements-issue-437/github/py.typed
./serverless-python-requirements-issue-437/github/RepositoryKey.py
./serverless-python-requirements-issue-437/github/GistComment.pyi
./serverless-python-requirements-issue-437/github/GitReleaseAsset.pyi
./serverless-python-requirements-issue-437/github/CommitComment.pyi
./serverless-python-requirements-issue-437/github/StatsCodeFrequency.py
./serverless-python-requirements-issue-437/github/PullRequestPart.pyi
./serverless-python-requirements-issue-437/github/Team.pyi
./serverless-python-requirements-issue-437/github/License.py
./serverless-python-requirements-issue-437/github/InstallationAuthorization.pyi
./serverless-python-requirements-issue-437/github/IssuePullRequest.py
./serverless-python-requirements-issue-437/github/SourceImport.py
./serverless-python-requirements-issue-437/github/Invitation.py
./serverless-python-requirements-issue-437/github/StatsCommitActivity.py
./serverless-python-requirements-issue-437/github/IssueComment.pyi
./serverless-python-requirements-issue-437/github/InputGitAuthor.py
./serverless-python-requirements-issue-437/github/Clones.pyi
./serverless-python-requirements-issue-437/github/PullRequestReview.pyi
./serverless-python-requirements-issue-437/github/Milestone.py
./serverless-python-requirements-issue-437/github/Comparison.pyi
./serverless-python-requirements-issue-437/github/Issue.py
./serverless-python-requirements-issue-437/github/ProjectColumn.pyi
./serverless-python-requirements-issue-437/github/Path.pyi
./serverless-python-requirements-issue-437/github/GitTreeElement.pyi
./serverless-python-requirements-issue-437/github/CommitStats.pyi
./serverless-python-requirements-issue-437/github/UserKey.pyi
./serverless-python-requirements-issue-437/github/InputGitTreeElement.pyi
./serverless-python-requirements-issue-437/github/Commit.pyi
./serverless-python-requirements-issue-437/github/HookResponse.pyi
./serverless-python-requirements-issue-437/github/Repository.py
./serverless-python-requirements-issue-437/github/RequiredStatusChecks.py
./serverless-python-requirements-issue-437/github/Migration.py
./serverless-python-requirements-issue-437/github/Membership.py
./serverless-python-requirements-issue-437/github/MainClass.pyi
./serverless-python-requirements-issue-437/github/Path.py
./serverless-python-requirements-issue-437/github/Tag.pyi
./serverless-python-requirements-issue-437/github/NotificationSubject.py
./serverless-python-requirements-issue-437/github/Issue.pyi
./serverless-python-requirements-issue-437/github/GitAuthor.pyi
./serverless-python-requirements-issue-437/github/IssueComment.py
./serverless-python-requirements-issue-437/github/Project.py
./serverless-python-requirements-issue-437/github/Tag.py
./serverless-python-requirements-issue-437/github/File.pyi
./serverless-python-requirements-issue-437/github/StatsParticipation.py
./serverless-python-requirements-issue-437/github/BranchProtection.pyi
./serverless-python-requirements-issue-437/github/ProjectCard.pyi
./serverless-python-requirements-issue-437/github/Label.pyi
./serverless-python-requirements-issue-437/github/GitignoreTemplate.pyi
./serverless-python-requirements-issue-437/github/Reaction.py
./serverless-python-requirements-issue-437/github/PaginatedList.py
./serverless-python-requirements-issue-437/github/Requester.pyi
./serverless-python-requirements-issue-437/github/Hook.pyi
./serverless-python-requirements-issue-437/github/InputGitTreeElement.py
./serverless-python-requirements-issue-437/github/Permissions.pyi
./serverless-python-requirements-issue-437/github/GitRelease.pyi
./serverless-python-requirements-issue-437/github/MainClass.py
./serverless-python-requirements-issue-437/PyJWT-1.7.1.dist-info
./serverless-python-requirements-issue-437/bcrypt-3.1.7.dist-info
./serverless-python-requirements-issue-437/nacl
./serverless-python-requirements-issue-437/nacl/signing.py
./serverless-python-requirements-issue-437/nacl/public.py
./serverless-python-requirements-issue-437/nacl/encoding.py
./serverless-python-requirements-issue-437/nacl/hashlib.py
./serverless-python-requirements-issue-437/nacl/__init__.py
./serverless-python-requirements-issue-437/nacl/hash.py
./serverless-python-requirements-issue-437/nacl/secret.py
./serverless-python-requirements-issue-437/nacl/utils.py
./serverless-python-requirements-issue-437/nacl/exceptions.py
./serverless-python-requirements-issue-437/nacl/bindings
./serverless-python-requirements-issue-437/nacl/bindings/crypto_hash.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_generichash.py
./serverless-python-requirements-issue-437/nacl/bindings/sodium_core.py
./serverless-python-requirements-issue-437/nacl/bindings/randombytes.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_kx.py
./serverless-python-requirements-issue-437/nacl/bindings/__init__.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_sign.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_secretstream.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_aead.py
./serverless-python-requirements-issue-437/nacl/bindings/utils.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_scalarmult.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_box.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_secretbox.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_pwhash.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_core.py
./serverless-python-requirements-issue-437/nacl/bindings/crypto_shorthash.py
./serverless-python-requirements-issue-437/nacl/pwhash
./serverless-python-requirements-issue-437/nacl/pwhash/__init__.py
./serverless-python-requirements-issue-437/nacl/pwhash/argon2i.py
./serverless-python-requirements-issue-437/nacl/pwhash/scrypt.py
./serverless-python-requirements-issue-437/nacl/pwhash/_argon2.py
./serverless-python-requirements-issue-437/nacl/pwhash/argon2id.py
./serverless-python-requirements-issue-437/nacl/_sodium.abi3.so
./serverless-python-requirements-issue-437/six.py
./serverless-python-requirements-issue-437/urllib3
./serverless-python-requirements-issue-437/urllib3/filepost.py
./serverless-python-requirements-issue-437/urllib3/fields.py
./serverless-python-requirements-issue-437/urllib3/util
./serverless-python-requirements-issue-437/urllib3/util/queue.py
./serverless-python-requirements-issue-437/urllib3/util/wait.py
./serverless-python-requirements-issue-437/urllib3/util/request.py
./serverless-python-requirements-issue-437/urllib3/util/timeout.py
./serverless-python-requirements-issue-437/urllib3/util/__init__.py
./serverless-python-requirements-issue-437/urllib3/util/response.py
./serverless-python-requirements-issue-437/urllib3/util/ssl_.py
./serverless-python-requirements-issue-437/urllib3/util/retry.py
./serverless-python-requirements-issue-437/urllib3/util/url.py
./serverless-python-requirements-issue-437/urllib3/util/connection.py
./serverless-python-requirements-issue-437/urllib3/_version.py
./serverless-python-requirements-issue-437/urllib3/request.py
./serverless-python-requirements-issue-437/urllib3/__init__.py
./serverless-python-requirements-issue-437/urllib3/poolmanager.py
./serverless-python-requirements-issue-437/urllib3/response.py
./serverless-python-requirements-issue-437/urllib3/contrib
./serverless-python-requirements-issue-437/urllib3/contrib/securetransport.py
./serverless-python-requirements-issue-437/urllib3/contrib/__init__.py
./serverless-python-requirements-issue-437/urllib3/contrib/socks.py
./serverless-python-requirements-issue-437/urllib3/contrib/_appengine_environ.py
./serverless-python-requirements-issue-437/urllib3/contrib/pyopenssl.py
./serverless-python-requirements-issue-437/urllib3/contrib/appengine.py
./serverless-python-requirements-issue-437/urllib3/contrib/_securetransport
./serverless-python-requirements-issue-437/urllib3/contrib/_securetransport/__init__.py
./serverless-python-requirements-issue-437/urllib3/contrib/_securetransport/low_level.py
./serverless-python-requirements-issue-437/urllib3/contrib/_securetransport/bindings.py
./serverless-python-requirements-issue-437/urllib3/contrib/ntlmpool.py
./serverless-python-requirements-issue-437/urllib3/connection.py
./serverless-python-requirements-issue-437/urllib3/_collections.py
./serverless-python-requirements-issue-437/urllib3/packages
./serverless-python-requirements-issue-437/urllib3/packages/__init__.py
./serverless-python-requirements-issue-437/urllib3/packages/backports
./serverless-python-requirements-issue-437/urllib3/packages/backports/__init__.py
./serverless-python-requirements-issue-437/urllib3/packages/backports/makefile.py
./serverless-python-requirements-issue-437/urllib3/packages/six.py
./serverless-python-requirements-issue-437/urllib3/packages/ssl_match_hostname
./serverless-python-requirements-issue-437/urllib3/packages/ssl_match_hostname/__init__.py
./serverless-python-requirements-issue-437/urllib3/packages/ssl_match_hostname/_implementation.py
./serverless-python-requirements-issue-437/urllib3/exceptions.py
./serverless-python-requirements-issue-437/urllib3/connectionpool.py
./serverless-python-requirements-issue-437/cffi.libs
./serverless-python-requirements-issue-437/cffi.libs/libffi-806b1a9d.so.6.0.4
./serverless-python-requirements-issue-437/cryptography-3.0.dist-info
./serverless-python-requirements-issue-437/deprecated
./serverless-python-requirements-issue-437/deprecated/sphinx.py
./serverless-python-requirements-issue-437/deprecated/__init__.py
./serverless-python-requirements-issue-437/deprecated/classic.py
./serverless-python-requirements-issue-437/dulwich
./serverless-python-requirements-issue-437/dulwich/pack.py
./serverless-python-requirements-issue-437/dulwich/patch.py
./serverless-python-requirements-issue-437/dulwich/objectspec.py
./serverless-python-requirements-issue-437/dulwich/lru_cache.py
./serverless-python-requirements-issue-437/dulwich/hooks.py
./serverless-python-requirements-issue-437/dulwich/server.py
./serverless-python-requirements-issue-437/dulwich/reflog.py
./serverless-python-requirements-issue-437/dulwich/web.py
./serverless-python-requirements-issue-437/dulwich/config.py
./serverless-python-requirements-issue-437/dulwich/mailmap.py
./serverless-python-requirements-issue-437/dulwich/diff_tree.py
./serverless-python-requirements-issue-437/dulwich/index.py
./serverless-python-requirements-issue-437/dulwich/log_utils.py
./serverless-python-requirements-issue-437/dulwich/protocol.py
./serverless-python-requirements-issue-437/dulwich/client.py
./serverless-python-requirements-issue-437/dulwich/tests
./serverless-python-requirements-issue-437/dulwich/__init__.py
./serverless-python-requirements-issue-437/dulwich/stash.py
./serverless-python-requirements-issue-437/dulwich/contrib
./serverless-python-requirements-issue-437/dulwich/contrib/test_swift.py
./serverless-python-requirements-issue-437/dulwich/contrib/test_swift_smoke.py
./serverless-python-requirements-issue-437/dulwich/contrib/__init__.py
./serverless-python-requirements-issue-437/dulwich/contrib/paramiko_vendor.py
./serverless-python-requirements-issue-437/dulwich/contrib/test_release_robot.py
./serverless-python-requirements-issue-437/dulwich/contrib/release_robot.py
./serverless-python-requirements-issue-437/dulwich/contrib/swift.py
./serverless-python-requirements-issue-437/dulwich/porcelain.py
./serverless-python-requirements-issue-437/dulwich/ignore.py
./serverless-python-requirements-issue-437/dulwich/fastexport.py
./serverless-python-requirements-issue-437/dulwich/walk.py
./serverless-python-requirements-issue-437/dulwich/file.py
./serverless-python-requirements-issue-437/dulwich/repo.py
./serverless-python-requirements-issue-437/dulwich/archive.py
./serverless-python-requirements-issue-437/dulwich/refs.py
./serverless-python-requirements-issue-437/dulwich/errors.py
./serverless-python-requirements-issue-437/dulwich/greenthreads.py
./serverless-python-requirements-issue-437/dulwich/objects.py
./serverless-python-requirements-issue-437/dulwich/stdint.h
./serverless-python-requirements-issue-437/dulwich/line_ending.py
./serverless-python-requirements-issue-437/dulwich/object_store.py
I am also hitting this issue. I narrowed it down considerably. It appears that pymysql is causing the package to not slim. I have:
pythonRequirements:
slim: true
usePoetry: true
strip: false
Narrowed it down:
"slim: true" fails on pymysql unless "useStaticCache: false."
@bsamuel-ui
I am also hitting this issue. I don't know if it helps but can describe how it happened:
custom:
pythonRequirements:
dockerizePip: non-linux
layer: true
And this point everything is working fine 🚀
slim: true
):custom:
pythonRequirements:
dockerizePip: non-linux
layer: true
slim: true
And I noticed that I don't have Docker running anymore (I am using macOS + dockerizePip: non-linux
) and also useless files don't get removed from the ZIP according to the documentation of slim: true
option.
serverless-python-requirements
plugin looks at changes in requirements.txt
and makes a decision to use a cached version from the previous deployment or not. And this is incorrect because it completely ignores any changes to config in serverless.yml
.Exactly this command helped me (and I have to do it every time I change config of the plugin): serverless requirements cleanCache
. Docker got running and also useless files got removed by slim: true
option and made my pythonRequirements.zip
file 5 MB
lighter 👍
Also, it's a pity that this command isn't documented in README.md... I found it wandering in the source code.
@AndrewFarley Maybe because you didn't have cache on your machine for that project you couldn't reproduce the issue here
Thanks @GarrisonD, serverless requirements cleanCache
did the trick!
serverless requirements cleanCache
definitely should be mentioned in the README. without this command slim
didn't worked for me and my several teammates. so we just never used slim
at all...
useStaticCache: false
or serverless requirements cleanCache
have done the trick for me.
@AndrewFarley Would it be possible to use a hash of the slimPatterns
array in the name of the cache file to determine if it needs regeneration? That being said, I haven't looked into how the cache busting works in serverless, so I'm making assumptions here.
@AndrewFarley I mentioned in #794 but I'll repeat here, the python runtime version should be included in the hash of the cache name too?
I had the inverse of this issue show its ugly head. I was using slim: true and it was removing the dist-info directories I needed because Langchain in their newer version used a new version of metadata package that relies on the .dist-info directories.
See issue #441 and Freek Wiekmeijer comments at the bottom.
Despite the new changes to exclude the .dist-info directories from being removed, this kept excluding them due to the cached dependencies this was leaning on. Running serverless requirements cleanCache
if I make any requirements.txt changes has helped thus far. It does take a lot longer to run deployment but it has solved my issue thus far. Thanks @GarrisonD !!!
I hope this information helps someone save time. Time wasted: 11 hours. (Mostly waiting on serverless deploy to do its thing.)
This was my exact error
[ERROR] PackageNotFoundError: No package metadata was found for openai
Traceback (most recent call last):
File "/var/task/serverless_sdk/__init__.py", line 144, in wrapped_handler return user_handler(event, context)
File "/var/task/lib/handler.py", line 236, in main chat = ChatOpenAI(
File "/var/task/langchain/load/serializable.py", line 97, in __init__ super().__init__(**kwargs)
File "pydantic/main.py", line 339, in pydantic.main.BaseModel.__init__ values, fields_set, validation_error = validate_model(__pydantic_self__.__class__, data)
File "pydantic/main.py", line 1102, in pydantic.main.validate_model values = validator(cls_, values)
File "/var/task/langchain/chat_models/openai.py", line 298, in validate_environment if is_openai_v1():
File "/var/task/langchain/utils/openai.py", line 9, in is_openai_v1 _version = parse(version("openai"))
File "/var/lang/lib/python3.10/importlib/metadata/__init__.py", line 996, in version return distribution(distribution_name).version
File "/var/lang/lib/python3.10/importlib/metadata/__init__.py", line 969, in distribution return Distribution.from_name(distribution_name)
File "/var/lang/lib/python3.10/importlib/metadata/__init__.py", line 548, in from_name
raise PackageNotFoundError(name)
Thanks for pointing out this solution @ralliart2004. This configuration solve the error "No package metadata was found for openai"
pythonRequirements: useDownloadCache: false useStaticCache: false slim: true slimPatternsAppendDefaults: false slimPatterns:
It appears that the serverless-python-requirements plugin is exhibiting some odd behavior. It doesn't appear to be slimming the contents of the package that's deployed to Lambda, and includes the entire contents of the venv directory in the package, irrespective of whether or not athe zip option was selected.
Here's what our serverless.yml looks like:
The reason for the slimPatterns is the following comment:
Okay fine, but even that doesn't seem to work. Now with the zip: true above, I do get the .requirements.zip. Woo hoo! It's ~59 megs. BUT, here's my Serverless package:
And why is it so huge?
So basically, the plugin is including the venv directory anyway, .pyc and all. Using
dockerizePip: true
, this is the result on OSX:Again, that train-model.zip file was chock full of .pyc files. I've tried with and without the
slimPatterns
, with and withoutzip: true
, but no matter what, the end result is a massive lambda zip that's full of .pyc files.