{ "info": { "author": "William Richard", "author_email": "william.richard.no.s@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: System :: Distributed Computing" ], "description": ".. chili-pepper documentation master file, created by\n sphinx-quickstart on Sat May 4 07:54:07 2019.\n You can adapt this file completely to your liking, but it should at least\n contain the root `toctree` directive.\n\n****************************************\nchili-pepper\n****************************************\n\n**Asynchronous Serverless Task Execution**\n\nChili-Pepper is a simple framework that makes it easy to execute\ntasks without interrupting the main flow of your application.\nIt handles serverless deployment and task execution.\nIt allows you to run important functions in parallel with\nyour main application with\n**zero downtime, zero maintenance and infinite scaling**.\n\n\n.. image:: https://badge.fury.io/py/chili-pepper.svg\n :target: https://badge.fury.io/py/chili-pepper\n\n.. image:: https://readthedocs.org/projects/chili-pepper/badge/?version=latest\n :target: https://chili-pepper.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://img.shields.io/pypi/l/chili-pepper.svg\n :alt: PyPI - License\n\n.. image:: https://img.shields.io/pypi/pyversions/chili-pepper.svg\n :alt: PyPI - Python Version\n\n|\n\n.. image:: https://gitlab.com/william-richard/chili-pepper/badges/master/pipeline.svg\n :target: https://gitlab.com/william-richard/chili-pepper/commits/master\n :alt: Pipeline Status\n\n.. image:: https://gitlab.com/william-richard/chili-pepper/badges/master/coverage.svg\n :target: https://gitlab.com/william-richard/chili-pepper/commits/master\n :alt: Coverage report\n\n.. image:: https://img.shields.io/librariesio/release/pypi/chili-pepper.svg\n :alt: Libraries.io dependency status for latest release\n\n|\n\n.. image:: https://c5.patreon.com/external/logo/become_a_patron_button.png\n :alt: Become a Supporter of Chili-Pepper\n :target: https://www.patreon.com/chili_pepper\n :height: 30px\n\nCommand\n=======\n\n.. code-block:: bash\n\n usage: chili [-h] [--app APP] {deploy} ...\n\n Serverless asynchronous tasks\n\n positional arguments:\n {deploy} Chili-Pepper commands\n deploy Deploy functions to serverless provider\n\n optional arguments:\n -h, --help show this help message and exit\n --app APP, -A APP The Chili-Pepper application location\n\n\nGetting Started\n===============\n\nInstalling Chili-Pepper\n-----------------------\n\n.. code-block:: bash\n\n pip install chili-pepper\n\nServerless Provider\n-------------------\n\nNext, you need to configure your serverless provider credentials.\n\nAmazon Web Services (AWS)\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\nYou can provide AWS credentials in many ways, including environment variables, your aws credentials file, or a server role. See `the boto3 documentation about credential configuration `_ for details.\n\nThese credentials need to be allowed to create, execute and delete\nAWS Lambda functions and IAM roles.\n\nYou will also need an S3 bucket (with versioning enabled).\n\nAzure\n^^^^^\n\nMicrosoft Azure Cloud is not supported at this time,\nbut there are plans to support it in the future.\n\nGoogle Cloud\n^^^^^^^^^^^^\n\nGoogle Cloud is not supported at this time,\nbut there are plans to support it in the future.\n\nCreating the Chili-Pepper App\n-----------------------------\n\nThe Chili-Pepper app will be used to identify and deploy your functions\nto the serverless cloud provider.\n\n.. code-block:: python\n\n app = ChiliPepper(app_name=\"demo\")\n\n\nOf course, the ``app`` variable can have any name -\nwe'll be calling it ``app`` in these examples.\n\nAWS Configuration\n^^^^^^^^^^^^^^^^^\n\nYou need to pass these required AWS specific configs to the app.\nFor a full list of AWS configuration options, see `Aws Configuration `_.\n\nBucket\n\"\"\"\"\"\"\n\n.. code-block:: python\n\n app.conf[\"aws\"][\"bucket_name\"] = \"my-chili-pepper-bucket\"\n\nThis bucket will be used for storing AWS Lambda deployment packages.\nYou should enable versioning on the bucket.\n\nRuntime\n\"\"\"\"\"\"\"\n\n.. code-block:: python\n\n app.conf[\"aws\"][\"runtime\"] = \"python3.7\"\n\nAWS Lambda supports several python runtimes. See `the lambda runtime documentation `_ for a full list. You must pass the \"Identifier\" for the runtime of your choice to the Chili-Pepper app config.\n\nCreating a Task\n---------------\n\nYou can use the Chili-Pepper app to identify tasks that should be run.\n\n.. code-block:: python\n\n @app.task()\n def my_task(event, context):\n return f\"Hello {event['name']}!\"\n\nDeploying\n---------\n\nBefore you can asynchronously call your task,\nyou must deploy it to your cloud provider.\n\n.. code-block:: bash\n\n chili deploy --app my_module.tasks.app\n\nAWS Deployment\n^^^^^^^^^^^^^^\n\nCalling deploy will create a zipfile containing your code\nas well as any python dependencies.\nChili-Pepper will then use upload that zipfile to your S3 bucket,\nand use Cloudformation to create an AWS Lambda function\nfor each of the tasks you identified with the `app.task()` decorator.\n\nCalling your task\n-----------------\n\nNow that you've deployed your tasks to the cloud,\nyou can call them asynchronously.\n\n.. code-block:: python\n\n task_result = my_task.delay({\"name\": \"Jalapeno\"})\n print(task_result.get())\n\nThis will print ``Hello Jalapeno!``,\nafter executing `my_task` in a serverless function.\n\nSupport\n=======\n\nChili-Pepper is built by a 1 person team supported by\n`these awesome backers, supporters and sponsors `_.\nIf you use Chili-Pepper, I would love to hear from you!\nAnd, if I have earned your support, please consider backing me `on Patreon `_.\n\n.. image:: https://c5.patreon.com/external/logo/become_a_patron_button.png\n :alt: Become a Supporter of Chili-Pepper\n :target: https://www.patreon.com/chili_pepper\n :height: 40px\n\n\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/william-richard/chili-pepper", "keywords": "cloud serverless task job queue distributed", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "chili-pepper", "package_url": "https://pypi.org/project/chili-pepper/", "platform": "", "project_url": "https://pypi.org/project/chili-pepper/", "project_urls": { "Documentation": "https://chili-pepper.readthedocs.io/en/stable/", "Homepage": "https://gitlab.com/william-richard/chili-pepper", "Source": "https://gitlab.com/william-richard/chili-pepper", "Support": "https://www.patreon.com/chili_pepper" }, "release_url": "https://pypi.org/project/chili-pepper/0.0.3/", "requires_dist": [ "awacs", "boto3", "pathlib2", "troposphere" ], "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "summary": "Serverless asynchronous task execution", "version": "0.0.3" }, "last_serial": 5375161, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "61eb30008a40fad14b8ffc6038540421", "sha256": "323a58c2f608b956c9f3396a86742b778f29381285cf251a118fd3501e739491" }, "downloads": -1, "filename": "chili_pepper-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "61eb30008a40fad14b8ffc6038540421", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 12268, "upload_time": "2019-04-20T23:05:24", "url": "https://files.pythonhosted.org/packages/4d/38/aedf8c2058f5ec4e9f3b6c2d7f5e029697031eca3fa9e5f49c0c8ed37348/chili_pepper-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cac3669c5ae267b8a9010d71f97161b6", "sha256": "b6308ba1c63c2b9c1b74c68e451943058447f13787672bfea5ca975712704ecf" }, "downloads": -1, "filename": "chili_pepper-0.0.1.tar.gz", "has_sig": false, "md5_digest": "cac3669c5ae267b8a9010d71f97161b6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 7080, "upload_time": "2019-04-20T23:05:26", "url": "https://files.pythonhosted.org/packages/a8/f6/1cfa690f44ebcf6417a52ad16729cf7c108cad096511f7a7a968e5d37962/chili_pepper-0.0.1.tar.gz" } ], "0.0.1.post1": [ { "comment_text": "", "digests": { "md5": "5b3a8653179992181e4e928d810b120e", "sha256": "4249ef137b3965f52f1e2cb487e3b94dd7101f8dddc0b84a02307e5ac337c58c" }, "downloads": -1, "filename": "chili_pepper-0.0.1.post1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5b3a8653179992181e4e928d810b120e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 12336, "upload_time": "2019-04-21T14:08:07", "url": "https://files.pythonhosted.org/packages/52/c0/3d950072e498aff62a4a9f37893c1a4a844f81314f80b0d9ba32c2eb6912/chili_pepper-0.0.1.post1-py2.py3-none-any.whl" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "d70f892c90fcf8cbc345371d0541c93c", "sha256": "b635d6286d2b687bbd148e017c3a4501d3d8c816cc706bd13a9d52d0e26c9f6d" }, "downloads": -1, "filename": "chili_pepper-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d70f892c90fcf8cbc345371d0541c93c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 12385, "upload_time": "2019-05-04T15:49:04", "url": "https://files.pythonhosted.org/packages/86/f8/987cebb0ad2b125cd07d60c518f8086acb70d7097253586a9ce2a2488ae4/chili_pepper-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f300aa6b1cf2551ee22db91399bbac8b", "sha256": "14ddc42f444c97b75987362d40352417519a970ce345e5800d47abc03c58f69c" }, "downloads": -1, "filename": "chili_pepper-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f300aa6b1cf2551ee22db91399bbac8b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 13611, "upload_time": "2019-05-04T15:49:05", "url": "https://files.pythonhosted.org/packages/3c/13/0f0bd398462cc1e487873837fa4e61735fa14b9f510cc1e8a9b08b142b09/chili_pepper-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b99aa77da4705ffd275902674292b86b", "sha256": "5b994c14ed3ba75d08f0e951ffe654d043d1b9793165599bdfb75f6ddc43daa5" }, "downloads": -1, "filename": "chili_pepper-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b99aa77da4705ffd275902674292b86b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 18735, "upload_time": "2019-06-08T11:14:38", "url": "https://files.pythonhosted.org/packages/b5/45/6a3d39efc24f9f1e5161a9882deab5e8dbbf3d951d39868311356ef65254/chili_pepper-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60659fe6f685e3656c8da7961779f1b3", "sha256": "24743aeb7cecd814d4f9c07f7ed57226826221d1a57dc49d55018df570107bb4" }, "downloads": -1, "filename": "chili_pepper-0.0.3.tar.gz", "has_sig": false, "md5_digest": "60659fe6f685e3656c8da7961779f1b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 23305, "upload_time": "2019-06-08T11:14:39", "url": "https://files.pythonhosted.org/packages/70/36/c886076dba1498d0cded581aee92d2bce60b149c7ec9e212732841cc8540/chili_pepper-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b99aa77da4705ffd275902674292b86b", "sha256": "5b994c14ed3ba75d08f0e951ffe654d043d1b9793165599bdfb75f6ddc43daa5" }, "downloads": -1, "filename": "chili_pepper-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b99aa77da4705ffd275902674292b86b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 18735, "upload_time": "2019-06-08T11:14:38", "url": "https://files.pythonhosted.org/packages/b5/45/6a3d39efc24f9f1e5161a9882deab5e8dbbf3d951d39868311356ef65254/chili_pepper-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "60659fe6f685e3656c8da7961779f1b3", "sha256": "24743aeb7cecd814d4f9c07f7ed57226826221d1a57dc49d55018df570107bb4" }, "downloads": -1, "filename": "chili_pepper-0.0.3.tar.gz", "has_sig": false, "md5_digest": "60659fe6f685e3656c8da7961779f1b3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, <4", "size": 23305, "upload_time": "2019-06-08T11:14:39", "url": "https://files.pythonhosted.org/packages/70/36/c886076dba1498d0cded581aee92d2bce60b149c7ec9e212732841cc8540/chili_pepper-0.0.3.tar.gz" } ] }