python-lambda-local
python-lambda-local copied to clipboard
Support for Python 3 relative imports?
We're currently running multi-package code on AWS Lambda, eg:
package_one/
handler.py
utils.py
package_two/
other.py
On AWS Lambda, we're able to use:
from . import utils
from package_two import other
These imports don't work locally, presumably due to the way that python-lambda-local
calls the handler as a function directly? So locally, we're using the following boilerplate in each handler we need to directly call:
if __name__[:8] in ['__main__', 'request-'] and not __package__:
import os
import sys
__package__ = 'package_one'
sys.path.append(...)
Are we missing something obvious here, or would a PR be welcomed to either inject this boilerplate automatically, or have python-lamba-local
call the handler from within a package as AWS Lambda does itself?
PR is welcomed. Thanks!