{ "info": { "author": "Joel Colucci", "author_email": "joelcolucci@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# Parature Gmail Feed\n## Description\nThe Parature Gmail Feed:\n* Retrieves emails cc'd to a Gmail account originating from Parature\n* Extracts Parature specific content from each email\n* Creates a record from the extracted content\n* Loads the record to a MongoDB database\n\n\n## Installation\nInstall with pip\n```\npip install paraturegmailfeed\n```\n\n**Project requires MongoDB**\n\n[See MongoDB documentation for installation instructions](https://docs.mongodb.org/manual/installation/)\n\n## Getting Started\n### Setting up your config file\n\nCreate a new .py file. For example `my_config.py`\n```\n# Gmail API Variables\nCLIENT_SECRET_FILE = 'Exported from your Google application account'\nSCOPES = 'Scopes for your Google application'\nAPPLICATION_NAME = 'Name of your application'\n\nUSER_ID = 'YOUR EMAIL ACCOUNT USER ID'\n\nTARGET_LABEL_QUERY = 'The label name '\n\n# MongoDB Variables\nMONGO_URI = 'YOUR DB URI'\nDB_NAME = 'YOUR DB NAME'\n```\n\n### Example of usage:\n```\nfrom paraturegmailfeed import ParatureGmailFeed\n\n\ndef main():\n feed = ParatureGmailFeed('my_config.py')\n feed.run()\n\nmain()\n```\n### Running for the first time\nBe sure to have `mongod` running.\n\nYou will be prompted to authorize the application to access your Gmail account.\nAfter accepting, the application will run automatically.\n\n[See official documentation for assistance](https://developers.google.com/gmail/api/quickstart/python)\n\n## Design Decisions\n### Why MongoDB?\n* Flexible schema. As requirement grow/change the data schema can to!\n* Native functionality. Simple upserts (unlike most SQL databses).\n\n### How are duplicate records prevented?\n* Gmail API message query is restricted to all messages that do NOT have the \"Processed\" label.\n* The pymongo `update_one` method is used with the `upsert` option. This means that if a record already exists based on the composite key (ticket number and timestamp) the action will simply update the record (essentially do nothing).\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/joelcolucci/paraturegmailfeed", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "paraturegmailfeed", "package_url": "https://pypi.org/project/paraturegmailfeed/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/paraturegmailfeed/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/joelcolucci/paraturegmailfeed" }, "release_url": "https://pypi.org/project/paraturegmailfeed/0.65/", "requires_dist": null, "requires_python": null, "summary": "ETL for Parature emails routed to Gmail account", "version": "0.65" }, "last_serial": 2081667, "releases": { "0.10": [ { "comment_text": "", "digests": { "md5": "ee79eab07efe422c9a599e0e62b7279b", "sha256": "ab2894c3b3d7b0caf9435a0964cc10b1bffe4e4c00b266767ced99f128e3d6be" }, "downloads": -1, "filename": "paraturegmailfeed-0.10.tar.gz", "has_sig": false, "md5_digest": "ee79eab07efe422c9a599e0e62b7279b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7568, "upload_time": "2016-02-02T04:02:41", "url": "https://files.pythonhosted.org/packages/26/ed/fd2ecd20f108eb666597d6388e956c8ab2586e8fa457120529c1b262b903/paraturegmailfeed-0.10.tar.gz" } ], "0.15": [ { "comment_text": "", "digests": { "md5": "4e3668f665f0627e0fa5fa905e8de41e", "sha256": "d8b80d26f86419b7632ec2a8b9e0e61b24ad90b41d40de63d69f329fa85a195c" }, "downloads": -1, "filename": "paraturegmailfeed-0.15.tar.gz", "has_sig": false, "md5_digest": "4e3668f665f0627e0fa5fa905e8de41e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7502, "upload_time": "2016-02-02T04:25:58", "url": "https://files.pythonhosted.org/packages/64/8b/99ef6ccb6b78cddba048ff01ade3584beaca05efad755df94340e294d37f/paraturegmailfeed-0.15.tar.gz" } ], "0.50": [ { "comment_text": "", "digests": { "md5": "c46a3158308fbb90ba34fbc0a28306bc", "sha256": "b2d9892dc9670763b5f4666998605f762462d8d9748b40e8318a74d66100d636" }, "downloads": -1, "filename": "paraturegmailfeed-0.50.tar.gz", "has_sig": false, "md5_digest": "c46a3158308fbb90ba34fbc0a28306bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7636, "upload_time": "2016-02-08T00:58:55", "url": "https://files.pythonhosted.org/packages/1d/dc/4917c9572cf25350ae9fa726905ef397a1e6df1ccf61ffa7bb80fe6e1084/paraturegmailfeed-0.50.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "5ab1105ddf20bc5f3245f38a1179a95f", "sha256": "530455c17847fc8e1338a7f54af4ef77c9b4336cf6b12f157e918089c7eb8ce2" }, "downloads": -1, "filename": "paraturegmailfeed-0.6.6.tar.gz", "has_sig": false, "md5_digest": "5ab1105ddf20bc5f3245f38a1179a95f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5740, "upload_time": "2016-04-24T21:06:00", "url": "https://files.pythonhosted.org/packages/65/12/68b7ab2bd1283469fdc25f9504f944974067f9b39e2af4e7c43bbc40948b/paraturegmailfeed-0.6.6.tar.gz" } ], "0.60": [ { "comment_text": "", "digests": { "md5": "e7bfd37c7f68db66943f050a961017c6", "sha256": "90152b3da730a0061d348cb3e477c5ca46cb7e33bd45f3302130ba3e570ed39f" }, "downloads": -1, "filename": "paraturegmailfeed-0.60.tar.gz", "has_sig": false, "md5_digest": "e7bfd37c7f68db66943f050a961017c6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5678, "upload_time": "2016-02-12T01:56:26", "url": "https://files.pythonhosted.org/packages/62/52/004fbc15864786b4460d0c4836a103bb27af34e177aaf762b50ca637dd93/paraturegmailfeed-0.60.tar.gz" } ], "0.65": [ { "comment_text": "", "digests": { "md5": "285e965c9156d1c2442a321190ccc276", "sha256": "3690f37abd9517dabe3f0a495b876c99d7b1d6c46ce98fa0dc925d377d8d1324" }, "downloads": -1, "filename": "paraturegmailfeed-0.65.tar.gz", "has_sig": false, "md5_digest": "285e965c9156d1c2442a321190ccc276", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5670, "upload_time": "2016-02-12T02:00:40", "url": "https://files.pythonhosted.org/packages/43/db/348dee8d466c9c1d08d5ac8b503eb27158ba0f64ebe7a8a017ed257c70eb/paraturegmailfeed-0.65.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "285e965c9156d1c2442a321190ccc276", "sha256": "3690f37abd9517dabe3f0a495b876c99d7b1d6c46ce98fa0dc925d377d8d1324" }, "downloads": -1, "filename": "paraturegmailfeed-0.65.tar.gz", "has_sig": false, "md5_digest": "285e965c9156d1c2442a321190ccc276", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5670, "upload_time": "2016-02-12T02:00:40", "url": "https://files.pythonhosted.org/packages/43/db/348dee8d466c9c1d08d5ac8b503eb27158ba0f64ebe7a8a017ed257c70eb/paraturegmailfeed-0.65.tar.gz" } ] }