{ "info": { "author": "Rewati Raman", "author_email": "rewati.raman@allergan.com", "bugtrack_url": null, "classifiers": [ "Operating System :: OS Independent", "Programming Language :: Python :: 3.7" ], "description": "*ohmylamb* \n\nA simple library to use AWS resources. And speedup development for lambda projects.\n\n***To install***\n```\npip install ohmylamb \n```\n\n***To Configure***\n\nTo configure define team name, application name and environment name in app.ini file.\n```\necho \"[app]\" >> app.ini\necho \"name = adl-common-pytools\" >> app.ini\necho \"team = adl-dse\" >> app.ini\necho \"env = dev\" >> app.ini\n\n```\n\n***To import into code add following***\n```\nfrom ohmylamb import ohmylamb as oml\n\n```\n\n***Configuration handling***\n\nConfiguration management has been split into two areas.\n\n- Application configuration. This comes from aap.ini file. This configuration can be accessed using following code.\n ```\n >>> oml.app_configuration(\"team\")\n 'adl-dse'\n ```\n- Infrastructure resources configurations. This comes from aws secret manager. In secret manager resource configuration are stored as key value pair under a key. Key convention: {team}/{env}/{resourcename}. Now team and env come from application configuration. And resource is the name of resource. Example:\n ```\n >>> oml.app_resource_conf(\"snowflake\")\n (None, {'url': '****************', 'username': '******', 'password': '*****', 'account': '****************', 'account_region': 'us-east-1', 'adm_warehouse_db_schema': '*****************', 'bd_warehouse_db_schema': '*************'}) \n ```\n For this to work user running above code should have access to the secret manager key.\n The above can also be fetched by following:\n ```\n @oml.AppResourceConfValue(\"snowflake\")\n def getSnoflakeCredential():\n pass\n print(getSnoflakeCredential)\n (None, {'url': '****************', 'username': '******', 'password': '********', 'account': '****************', 'account_region': 'us-east-1', 'adm_warehouse_db_schema': '***********', 'bd_warehouse_db_schema': '*************'})\n\n ```\n\n***AWS Secret Manager***\n\n```\n>>> oml.aws_secret_manager_secrets_map(\"adl-dse/dev/adl-common-pytools\")\n(None, {'test1': 'value1', 'test2': 'value2', 'comment': 'This is a test configuration'})\n```\n***AWS S3***\n\nFunctions for S3\n\n- oml.aws_s3_download_file(bucket, key, local_file_path) : will download file to local file path\n- oml.aws_s3_upload_file(bucket, key, local_file_path) : Will upload local file to s3\n\n***SMS Services***\n\nSMS notification can be set to one number or multiple by annotating a message:\n\n```\n@oml.SMSNotifier(['+1949*******'])\ndef notifyRaman(msg):\n return msg\n\nnotifyRaman(\"This is a test message\")\n```\nSMS notification can be set to predefined group managed through git [here](https://gitlab.com/allergan_datalab/operation-notification-groups).\n\n```\n@oml.SMSGroupNotifier(\"data_engineering\")\ndef notifyProductionIssue(msg):\n return msg\n\nnotifyProductionIssue(\"Test failed\")\n\n```\nSMS notification can be sent to individual by using their email id. Contact info is predefined individuals.csv file managed through git [here](https://gitlab.com/allergan_datalab/operation-notification-groups).\n\n```\n@oml.SMSIndividualNotifier(\"****@gmail.com\")\ndef notifyRaman(msg):\n return msg\n\nnotifyRaman(\"This is a test message\")\n```\n\n***Lambda Function Development***\n\nFor lambda development create a main.py file with following content.\n\n```\nimport os\nimport ohmylamb.ohmylamb as oml\n\n# Your code goes here\ndef handler():\n pass\n\n# Keep this at the end of the file\ndef lambda_handler(event, context):\n handler(event,context)\n\n```\nAll that is need to be done is to be done in handler function. \nAnnotate the function for type of trigger. Example if its a cron jon annotate it with aws_lambda_cronJobHandler or if its s3 event job then annotate it with aws_lambda_s3EventHandler. Example:\n\n```\nimport os\nimport ohmylamb.ohmylamb as oml\n\n# Your code goes here\n@oml.aws_lambda_s3EventHandler\ndef handler():\n print(\"I will shout when time comes\")\n\n# Keep this at the end of the file\ndef lambda_handler(event, context):\n handler(event,context)\n\n```\n\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/rewatiraman/ohmylamb/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "ohmylamb", "package_url": "https://pypi.org/project/ohmylamb/", "platform": "", "project_url": "https://pypi.org/project/ohmylamb/", "project_urls": { "Homepage": "https://gitlab.com/rewatiraman/ohmylamb/" }, "release_url": "https://pypi.org/project/ohmylamb/1.0.1/", "requires_dist": [ "snowflake-connector-python", "boto3", "pandas" ], "requires_python": "", "summary": "A simple library to use AWS resources. And speedup development for lambda projects.", "version": "1.0.1" }, "last_serial": 5293708, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "94f5b9b128053744beffe916013ecccc", "sha256": "b2c754e3ecaa12b4b405beb52a44239c1edeca84f75be78a35c6a86b029ae566" }, "downloads": -1, "filename": "ohmylamb-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "94f5b9b128053744beffe916013ecccc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3517, "upload_time": "2019-05-19T21:06:41", "url": "https://files.pythonhosted.org/packages/ef/6a/5311436ea0f7e06060fd1884a35a5b9c8536b5c2c1eb05181df7867d9fcb/ohmylamb-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8e2a594180a8550ac727fb0ec00a9830", "sha256": "5af1156efe3554a8ac72555dcab1999046a9c917453117494d5f4191691c503e" }, "downloads": -1, "filename": "ohmylamb-0.0.1.tar.gz", "has_sig": false, "md5_digest": "8e2a594180a8550ac727fb0ec00a9830", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3152, "upload_time": "2019-05-19T21:06:43", "url": "https://files.pythonhosted.org/packages/6b/b5/a0a50d099640afee7ccafe3e899daf8b4b6a761c5240f24c1be6e4929d12/ohmylamb-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2cfd966fd4df71e2ab9043a02a7feea1", "sha256": "0ceea5c53cb6544b8bd955d2d7224981e967b4bb6ad28311dcfd50a26cdf94b0" }, "downloads": -1, "filename": "ohmylamb-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2cfd966fd4df71e2ab9043a02a7feea1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3477, "upload_time": "2019-05-19T21:27:57", "url": "https://files.pythonhosted.org/packages/db/42/c5d1b290effc10e3142cd24ca70dcf1c29cab1aa012490507132dcba105e/ohmylamb-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "120ff36d628b259e42c9b7a2cfc4398f", "sha256": "4d82c99da570c9eca983a14a40afc605bbda821b8d85535952cc6867a8796106" }, "downloads": -1, "filename": "ohmylamb-0.0.2.tar.gz", "has_sig": false, "md5_digest": "120ff36d628b259e42c9b7a2cfc4398f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3098, "upload_time": "2019-05-19T21:27:58", "url": "https://files.pythonhosted.org/packages/ed/a0/d39bf04b0f89c620efa7f53e0499c6a96cf9f4d83ea2269975ca3eb083e0/ohmylamb-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "e6cb074649270d21b601bd755049e9d9", "sha256": "1477b730daa308dc044c7da5f522eeca7d891f9ae47f95c998edbd1f6f168cfb" }, "downloads": -1, "filename": "ohmylamb-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "e6cb074649270d21b601bd755049e9d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3696, "upload_time": "2019-05-20T01:27:29", "url": "https://files.pythonhosted.org/packages/cf/4d/e762db22e02dafeab95b343cc08970efd687c36b5e6b4fc1c652f383caf3/ohmylamb-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "997e0852fdc3297c723dd9cbece88798", "sha256": "f7adbcbde38a7289348831fccb5c371f67caf9e28040d22bc5766a728ca65bd1" }, "downloads": -1, "filename": "ohmylamb-0.0.3.tar.gz", "has_sig": false, "md5_digest": "997e0852fdc3297c723dd9cbece88798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3354, "upload_time": "2019-05-20T01:27:30", "url": "https://files.pythonhosted.org/packages/e9/e2/00e6a292e182d668c053741119187019f0b4132f2779204e50fdd91e7ed6/ohmylamb-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "26496376d13cb4edde511ecd6b52f2ab", "sha256": "4465da2ee554d8a56c33cbcdcc9919e4bce0e38d7d53a3e7bb0ad236632f2b04" }, "downloads": -1, "filename": "ohmylamb-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "26496376d13cb4edde511ecd6b52f2ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3935, "upload_time": "2019-05-20T05:10:27", "url": "https://files.pythonhosted.org/packages/36/a1/53d2963ba061a4b24468c5b6f01af0dba8bf80567f7c1e8e724ceca81497/ohmylamb-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ff6bc22bdac5c18f3fe29256c8a0b89f", "sha256": "fe8e51d51f5cf7ce918699cd0a4c381ab2418b30d79cf7343b94316da2fca5ee" }, "downloads": -1, "filename": "ohmylamb-0.0.4.tar.gz", "has_sig": false, "md5_digest": "ff6bc22bdac5c18f3fe29256c8a0b89f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3556, "upload_time": "2019-05-20T05:10:28", "url": "https://files.pythonhosted.org/packages/4c/7e/54595d826b4056b779aadd22c50c1877239080cea8de6adbe542de686bec/ohmylamb-0.0.4.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "f1a7a581a130d78e1a9f24861514ec9e", "sha256": "2779c91485f81ae15e59cffdead3cbd81498804fbbac302b08638bab6e095798" }, "downloads": -1, "filename": "ohmylamb-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f1a7a581a130d78e1a9f24861514ec9e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4907, "upload_time": "2019-05-20T16:08:44", "url": "https://files.pythonhosted.org/packages/74/fb/d8f93f97015c7acf4b60c448acba6ae9ece61900bc9ab61b79d50360721b/ohmylamb-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b36abf449518c40281edfeb131f1303", "sha256": "b116cc48b06d49c6f350e02af3e653d4d015be7b17c4c01234448f15dec401c0" }, "downloads": -1, "filename": "ohmylamb-1.0.0.tar.gz", "has_sig": false, "md5_digest": "6b36abf449518c40281edfeb131f1303", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4668, "upload_time": "2019-05-20T16:08:45", "url": "https://files.pythonhosted.org/packages/02/2b/c02ccce57fc938fb8bd87cbdd6177d98ea91c327b75068af5d2f3daeed3b/ohmylamb-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "f2523ac99b92b80e3166f83c711a3629", "sha256": "65c68a80881dd61366b6eb000da86f490f012a952355f7c81a15e4b4da25f9de" }, "downloads": -1, "filename": "ohmylamb-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f2523ac99b92b80e3166f83c711a3629", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4877, "upload_time": "2019-05-20T18:37:18", "url": "https://files.pythonhosted.org/packages/6a/75/5adfc524acf2d624ea6c53d4d8c0dc5bcef99a2b14479876e5885f4efba7/ohmylamb-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0659303153f6482642119009d762a323", "sha256": "19e732eb9b0068b0f24fb24fbf288a0ed29a504cc42c6dcae8e42b4ff5728371" }, "downloads": -1, "filename": "ohmylamb-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0659303153f6482642119009d762a323", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4651, "upload_time": "2019-05-20T18:37:19", "url": "https://files.pythonhosted.org/packages/26/9e/07a21befcfba1f1173f43b07b907a55c743310769049ae39065df7e5faf8/ohmylamb-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f2523ac99b92b80e3166f83c711a3629", "sha256": "65c68a80881dd61366b6eb000da86f490f012a952355f7c81a15e4b4da25f9de" }, "downloads": -1, "filename": "ohmylamb-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "f2523ac99b92b80e3166f83c711a3629", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4877, "upload_time": "2019-05-20T18:37:18", "url": "https://files.pythonhosted.org/packages/6a/75/5adfc524acf2d624ea6c53d4d8c0dc5bcef99a2b14479876e5885f4efba7/ohmylamb-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0659303153f6482642119009d762a323", "sha256": "19e732eb9b0068b0f24fb24fbf288a0ed29a504cc42c6dcae8e42b4ff5728371" }, "downloads": -1, "filename": "ohmylamb-1.0.1.tar.gz", "has_sig": false, "md5_digest": "0659303153f6482642119009d762a323", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4651, "upload_time": "2019-05-20T18:37:19", "url": "https://files.pythonhosted.org/packages/26/9e/07a21befcfba1f1173f43b07b907a55c743310769049ae39065df7e5faf8/ohmylamb-1.0.1.tar.gz" } ] }