{ "info": { "author": "James Veitch", "author_email": "james@jamesveitch.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Python Lambda Logistics\n=======================\n\nThe Python Lambda Logistics (``pll``) library is designed to assist with\nan automated deployment for ``Python 3`` AWS Lambda functions.\n\nAs you will no doubt discover, as soon as you require more than the\nbasic libraries, you need to start creating what are known as\n'deployment packages' (zip files with all dependencies) for pushing even\nbasic scripts up to AWS.\n\nThese packages require that the libraries are compiled for amazon's\nversion of linux (which is executing the code on your behalf).\n\nNot helpful if, like me, your development machine isn't running AWS\nLinux...\n\nSome of the main libraries this has helped me so far with packaging:\n\n- SQLAlchemy\n- Pandas\n- NumPy\n\nUnderlying Process\n------------------\n\n``pll`` aims to simplify the above by automating the build of your\n``requirements.txt`` file in a ``Docker`` image of ``awslinux``.\n\n1. Create working directories in your current project\n\n - ``Build`` -- contains compiled ``site-packages`` for future re-use\n - ``Dist`` -- outputted lambda ``zip`` for upload to AWS\n\n2. Check for a local docker image of ``saracen9/python-lambda`` or pull\n down\n3. Mount the following locations into the docker image\n\n - ``Build`` --> /tmp/app/psite-packages\n - ``Dist`` --> /tmp/app/zipped-package\n - YourAppplicationRoot --> /app\n\n4. Run the container and compile\n5. Shutdown and \u00a3profit\n6. (Opt) push code to AWS (Coming soon)\n\nThe original Dockerfile used to create the image is contained within the\npackage source code for those who want to hack their own.\n\nUsage\n-----\n\nTo manually run and configure the docker container use the below\ncommand.\n\n.. code:: bash\n\n docker run --rm --name py-lamb-compiler \\\n -v ~/my/app:/app \\\n -v ~/my/app/dist:/tmp/app/dist \\\n -v ~/my/app/build:/tmp/app/build \\\n saracen9/python-lambda\n\nAlternatively install the library and put a ``pll.yaml`` in the root of\nyour application.\n\n.. code:: yaml\n\n packaging:\n app_root: '/my/app'\n build_path: '/my/app/build'\n dist_path: '/my/app/dist'\n\nYou can then run ``python -m pll`` and package the application from any\nscript. As an additional option pass in the ``--config`` switch to\ndefine your own config file.\n\nIn addition, relative paths to the ``cwd`` are accepted. These are then\nconverted to absolute paths at runtime E.g.\n\n.. code:: yaml\n\n packaging:\n app_root: '' # current directory\n build_path: 'build/' # current directory/build\n dist_path: 'dist/' # current directory/dist\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/darth-veitcher/python-lambda-logistics", "keywords": "python lambda local docker deploy compile", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "Python-Lambda-Logistics", "package_url": "https://pypi.org/project/Python-Lambda-Logistics/", "platform": "any", "project_url": "https://pypi.org/project/Python-Lambda-Logistics/", "project_urls": { "Homepage": "https://github.com/darth-veitcher/python-lambda-logistics" }, "release_url": "https://pypi.org/project/Python-Lambda-Logistics/0.0.2b0/", "requires_dist": [ "pyaml", "jinja2" ], "requires_python": ">=3.6", "summary": "Automation for Python 3 packaging and deployment on AWS Lambda", "version": "0.0.2b0" }, "last_serial": 3878966, "releases": { "0.0.2a0": [ { "comment_text": "", "digests": { "md5": "001e381179125b14066b88e185e59a43", "sha256": "b972a8b1f5a45bba909560434f78cb2009b22ee06b6b93e5644c351b10d5221d" }, "downloads": -1, "filename": "Python_Lambda_Logistics-0.0.2a0-py3-none-any.whl", "has_sig": false, "md5_digest": "001e381179125b14066b88e185e59a43", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4255, "upload_time": "2018-05-19T13:20:15", "url": "https://files.pythonhosted.org/packages/3e/5d/bf05406aa89541234884091a2fb39462456af10d8cb4077e2d609be4c598/Python_Lambda_Logistics-0.0.2a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43bc8be96c324504973e93309e4c85c6", "sha256": "175225b612b7aab86bccd769ed3a753f7fc6cd338c48034cc78e0bc470e69a03" }, "downloads": -1, "filename": "Python Lambda Logistics-0.0.2a0.tar.gz", "has_sig": true, "md5_digest": "43bc8be96c324504973e93309e4c85c6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3998, "upload_time": "2018-05-19T13:20:17", "url": "https://files.pythonhosted.org/packages/a0/5e/420a376fccd62835924b2b2d3de99cd30ca16dc7760d1e0f0e3745ec87f4/Python%20Lambda%20Logistics-0.0.2a0.tar.gz" } ], "0.0.2b0": [ { "comment_text": "", "digests": { "md5": "eb86eb8e3bad060f3f6f0f3d0bcaa0e2", "sha256": "a7edcac83c8424abc29999585de51b479d0c9f815305387fcb0dfc5bc7abadd4" }, "downloads": -1, "filename": "Python_Lambda_Logistics-0.0.2b0-py3-none-any.whl", "has_sig": false, "md5_digest": "eb86eb8e3bad060f3f6f0f3d0bcaa0e2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4280, "upload_time": "2018-05-19T13:33:20", "url": "https://files.pythonhosted.org/packages/76/44/01d00fddd3440458adf428c7dea9e0aa60b43ec106a39fb029439b423087/Python_Lambda_Logistics-0.0.2b0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a88935aa54f7b2809575225c97c51ec1", "sha256": "c016756f1b61cc3368a31e3b4748cac62d37181c7b029bd3d5a2ec7ddf6bf05b" }, "downloads": -1, "filename": "Python Lambda Logistics-0.0.2b0.tar.gz", "has_sig": true, "md5_digest": "a88935aa54f7b2809575225c97c51ec1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4059, "upload_time": "2018-05-19T13:33:22", "url": "https://files.pythonhosted.org/packages/99/f4/852c30ea614e436fe870f4834f76c03516600c89e447d56fb9942c1b59a0/Python%20Lambda%20Logistics-0.0.2b0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "eb86eb8e3bad060f3f6f0f3d0bcaa0e2", "sha256": "a7edcac83c8424abc29999585de51b479d0c9f815305387fcb0dfc5bc7abadd4" }, "downloads": -1, "filename": "Python_Lambda_Logistics-0.0.2b0-py3-none-any.whl", "has_sig": false, "md5_digest": "eb86eb8e3bad060f3f6f0f3d0bcaa0e2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4280, "upload_time": "2018-05-19T13:33:20", "url": "https://files.pythonhosted.org/packages/76/44/01d00fddd3440458adf428c7dea9e0aa60b43ec106a39fb029439b423087/Python_Lambda_Logistics-0.0.2b0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a88935aa54f7b2809575225c97c51ec1", "sha256": "c016756f1b61cc3368a31e3b4748cac62d37181c7b029bd3d5a2ec7ddf6bf05b" }, "downloads": -1, "filename": "Python Lambda Logistics-0.0.2b0.tar.gz", "has_sig": true, "md5_digest": "a88935aa54f7b2809575225c97c51ec1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4059, "upload_time": "2018-05-19T13:33:22", "url": "https://files.pythonhosted.org/packages/99/f4/852c30ea614e436fe870f4834f76c03516600c89e447d56fb9942c1b59a0/Python%20Lambda%20Logistics-0.0.2b0.tar.gz" } ] }