{ "info": { "author": "Alex Levy", "author_email": "mesozoic@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# gmail-yaml-filters\n\n[![Build Status](https://travis-ci.org/mesozoic/gmail-yaml-filters.svg?branch=master)](https://travis-ci.org/mesozoic/gmail-yaml-filters)\n\nA quick tool for generating Gmail filters from YAML rules.\n\nInterested in helping? See [CONTRIBUTING.md](CONTRIBUTING.md) for a few guidelines.\n\n## Getting Started\n\nBy default, the command line script will generate XML to stdout, which\nyou can then upload to Gmail yourself:\n\n```bash\n$ pip install gmail-yaml-filters\n$ gmail-yaml-filters my-filters.yaml > my-filters.xml\n```\n\n## Synchronization via Gmail API\n\nIf you are the trusting type, you can authorize the script to\nupload new filters (and remove any obsolete filters) via Gmail's API.\n\n```bash\n# Upload all filters (and create new labels) from the configuration file\n$ gmail-yaml-filters --upload my-filters.yaml\n\n# Delete any filters that aren't defined in the configuration file\n$ gmail-yaml-filters --prune my-filters.yaml\n\n# Do both of these steps at once.\n$ gmail-yaml-filters --sync my-filters.yaml\n\n# See what would happen but don't apply any changes.\n$ gmail-yaml-filters --dry-run --sync my-filters.yaml\n```\n\n## Sample Configuration\n\n```yaml\n# Simple example\n-\n from: googlealerts-noreply@google.com\n label: news\n not_important: true\n\n# Boolean conditions\n-\n from:\n any:\n - alice\n - bob\n - carol\n to:\n all: [me, -MyBoss]\n label: conspiracy\n\n# Nested conditions\n-\n from: lever.co\n label: hiring\n more:\n -\n has: 'completed feedback'\n archive: true\n -\n has: 'what is your feedback'\n star: true\n important: true\n\n# Foreach loops\n-\n for_each:\n - list1\n - list2\n - list3\n rule:\n to: \"{item}@mycompany.com\"\n label: \"{item}\"\n\n# Foreach loops with complex structures\n-\n for_each:\n - [mailing-list-1a, list1]\n - [mailing-list-1b, list1]\n - [mailing-list-1c, list1]\n - [mailing-list-2a, list2]\n - [mailing-list-2b, list2]\n rule:\n to: \"{item[0]}@mycompany.com\"\n label: \"{item[1]}\"\n-\n for_each:\n - {list: list1, domain: example.com}\n - {list: list2, domain: whatever.com}\n rule:\n to: \"{list}@{domain}\"\n label: \"{list}\"\n```\n\n## Configuration\n\nSupported conditions:\n\n* `has` (also `match`)\n* `does_not_have` (also `missing`, `no_match`)\n* `subject`\n* `list`\n* `labeled`\n* `from`, `to`, `cc`, and `bcc`\n* `category`\n* `deliveredto`\n* `filename`\n* `larger`\n* `smaller`\n* `size`\n* `rfc822msgid`\n* `is` and `has` work like [Gmail's search operators](https://support.google.com/mail/answer/7190?hl=en), for example:\n * `has: attachment` is translated to `match: \"has:attachment\"`\n * `is: -snoozed` is translated to `no_match: \"is:snoozed\"`\n\nSupported actions:\n\n* `archive`\n* `forward`\n* `important` (also `mark_as_important`)\n* `label`\n* `not_important` (also `never_mark_as_important`)\n* `not_spam`\n* `read` (also `mark_as_read`)\n* `star`\n* `trash` (also `delete`)\n\nAny set of rules with `ignore: true` will be ignored and not written to XML.\n\n## Similar Projects\n\n* [gmail-britta](https://github.com/antifuchs/gmail-britta) is written in Ruby and lets you express rules with a DSL.\n* [gmail-filters](https://github.com/dimagi/gmail-filters) is written in Python and has a web frontend.\n* [google-mail-filter](https://hackage.haskell.org/package/google-mail-filters) is written in Haskell and lets you express rules with a DSL.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mesozoic/gmail-yaml-filters", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "gmail-yaml-filters", "package_url": "https://pypi.org/project/gmail-yaml-filters/", "platform": "", "project_url": "https://pypi.org/project/gmail-yaml-filters/", "project_urls": { "Homepage": "https://github.com/mesozoic/gmail-yaml-filters" }, "release_url": "https://pypi.org/project/gmail-yaml-filters/0.9.2/", "requires_dist": null, "requires_python": "", "summary": "A quick tool for generating Gmail filters from YAML rules.", "version": "0.9.2" }, "last_serial": 4591042, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "8e400d12da07443642d3eb1c52ccb20a", "sha256": "a7e9ed6d8d784248ac3c49a9a55bec241e4bfb23aad6b7511b7eb05e3601e2ee" }, "downloads": -1, "filename": "gmail_yaml_filters-0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "8e400d12da07443642d3eb1c52ccb20a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7947, "upload_time": "2017-01-16T21:37:46", "url": "https://files.pythonhosted.org/packages/ca/1a/f870c829215cec6161172c6b7f3ca2bec6fa43d970f3c05b656a7348b612/gmail_yaml_filters-0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9e07961d96383a1e51bbd94ba4e8720", "sha256": "668d485386b50ed32af210fd8862d145ebd48fe1711c377072779b9a754ec7f4" }, "downloads": -1, "filename": "gmail-yaml-filters-0.2.tar.gz", "has_sig": false, "md5_digest": "c9e07961d96383a1e51bbd94ba4e8720", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6225, "upload_time": "2017-01-16T21:37:47", "url": "https://files.pythonhosted.org/packages/71/de/11eb3f4e380585fa055f89775894b95b636f1f97b028785e34c980ff0016/gmail-yaml-filters-0.2.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "54ff478690a961c72ad820eac94cfca8", "sha256": "e5feb73c325ad3f80c010109b6afc94b4b2d05837fa88eb0ebf46b80f48cdd40" }, "downloads": -1, "filename": "gmail_yaml_filters-0.4-py2-none-any.whl", "has_sig": false, "md5_digest": "54ff478690a961c72ad820eac94cfca8", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 10688, "upload_time": "2017-01-17T00:47:38", "url": "https://files.pythonhosted.org/packages/57/ce/d0258a88963839180c8224e46c5c1981f13cc08432644a88f0b181520cee/gmail_yaml_filters-0.4-py2-none-any.whl" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "debffd5a0ea69f9cb33171b363aa42e6", "sha256": "4a5adcd79594a0df4db1088c91b59c8cfcdcce25fa43c679875eaf65331c6ed3" }, "downloads": -1, "filename": "gmail-yaml-filters-0.5.1.tar.gz", "has_sig": false, "md5_digest": "debffd5a0ea69f9cb33171b363aa42e6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8733, "upload_time": "2017-03-21T19:08:16", "url": "https://files.pythonhosted.org/packages/ce/a4/115c6ddf5e760b8cf8c4be1c24319afa25c2acdd0ac1290377283be0aec9/gmail-yaml-filters-0.5.1.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "7daff3256160a9bd66caa7788ecda6b2", "sha256": "49d3575615552fb8dd33b33474b91f0b2560f0b4ae99ec1aaed37c6076c2bf2b" }, "downloads": -1, "filename": "gmail-yaml-filters-0.6.tar.gz", "has_sig": false, "md5_digest": "7daff3256160a9bd66caa7788ecda6b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9077, "upload_time": "2017-03-21T19:51:53", "url": "https://files.pythonhosted.org/packages/73/74/fcafbc67499d2f8a7a4d430a2409c564b598833e441517c52da9607b576d/gmail-yaml-filters-0.6.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "1fdac103aa521de4e20b097fbf0cf09b", "sha256": "105206ff4863a19354ca6d62a3f65fffd2c1e6e9c08eedaaff7719aeba2e6890" }, "downloads": -1, "filename": "gmail-yaml-filters-0.6.1.tar.gz", "has_sig": false, "md5_digest": "1fdac103aa521de4e20b097fbf0cf09b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8973, "upload_time": "2017-03-27T08:34:24", "url": "https://files.pythonhosted.org/packages/8f/4b/0c0edc417de358719248b051f16d1ce902835569cdb8a8ea1b40c5818027/gmail-yaml-filters-0.6.1.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "1638ab9a8c75f90d24abec4558bb0620", "sha256": "68bbfc4f59f2c3f0d4487c3ac2ec0563a9f500b26a2f2c3ba92d871d7ddce58b" }, "downloads": -1, "filename": "gmail-yaml-filters-0.6.2.tar.gz", "has_sig": false, "md5_digest": "1638ab9a8c75f90d24abec4558bb0620", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8974, "upload_time": "2017-10-10T01:51:35", "url": "https://files.pythonhosted.org/packages/2e/41/5dbc8bba0d6036e82cd9fc7adef6d3db7da74d7284ab82b5b092dfda9811/gmail-yaml-filters-0.6.2.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "729d911de8f88bf4c723944253b302b0", "sha256": "fa4716171f13565eee867b073bf6b4d438de8c172d2a3dd82cef39b5bb29e4a5" }, "downloads": -1, "filename": "gmail-yaml-filters-0.7.tar.gz", "has_sig": false, "md5_digest": "729d911de8f88bf4c723944253b302b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8715, "upload_time": "2018-01-24T07:02:07", "url": "https://files.pythonhosted.org/packages/4a/2f/8c9b097e8541b3aa3c15c8aa3fcc1b9c7a73543998dc31502e33264016bf/gmail-yaml-filters-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "fd1d0f6e61008aa04d2e3761e4584b9b", "sha256": "b8b3340f4456b2d43ee7047e8e28ccb21c4bac97bd49ceb731165855189fc8f0" }, "downloads": -1, "filename": "gmail-yaml-filters-0.7.1.tar.gz", "has_sig": false, "md5_digest": "fd1d0f6e61008aa04d2e3761e4584b9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8737, "upload_time": "2018-01-24T07:31:04", "url": "https://files.pythonhosted.org/packages/05/ee/79fa0a5937c6fe159a02833f607a178be430076636215d4666076d66d76c/gmail-yaml-filters-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "8723012fa73db628e1b3f487905acb04", "sha256": "cb8dc59bb4d1cb276f278d2751c9ecbe3ca260e3f0d0ca0e1efbf26d1df4308f" }, "downloads": -1, "filename": "gmail-yaml-filters-0.7.2.tar.gz", "has_sig": false, "md5_digest": "8723012fa73db628e1b3f487905acb04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8739, "upload_time": "2018-01-25T16:45:55", "url": "https://files.pythonhosted.org/packages/34/05/6aa5a3c06e81bcfacbe21cea7dbda9a69f69042a7f8d6e021581bc541aa9/gmail-yaml-filters-0.7.2.tar.gz" } ], "0.7.4": [ { "comment_text": "", "digests": { "md5": "20bdccdfe093bff9c91d48705a119376", "sha256": "461e3dfb1ff34613eeabed41a88269c57683a08057ff57a01cf205c726e0df74" }, "downloads": -1, "filename": "gmail-yaml-filters-0.7.4.tar.gz", "has_sig": false, "md5_digest": "20bdccdfe093bff9c91d48705a119376", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10044, "upload_time": "2018-09-05T22:02:53", "url": "https://files.pythonhosted.org/packages/6c/80/b32ed3d084194c572ed0ab56ae3e514d3f368d09abdc7e82d76e949520f6/gmail-yaml-filters-0.7.4.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "19efd49d707ea10f2c2f4fabaf3849bb", "sha256": "a3c0dfb41050321c78d5c1ffacd135e21a91c273771e999d9d4939403b36dda2" }, "downloads": -1, "filename": "gmail-yaml-filters-0.8.tar.gz", "has_sig": false, "md5_digest": "19efd49d707ea10f2c2f4fabaf3849bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10248, "upload_time": "2018-09-27T14:59:11", "url": "https://files.pythonhosted.org/packages/d4/da/d84784ba6131a38a624e75832d7d0a7fb98af790989244f681bea3b163d8/gmail-yaml-filters-0.8.tar.gz" } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "d79261f0284538490cbe2ed14d1ed450", "sha256": "d88aef62bc993905631b03b381eceaa00f1ebe649bd62b071ad264415ef36eec" }, "downloads": -1, "filename": "gmail-yaml-filters-0.8.1.tar.gz", "has_sig": false, "md5_digest": "d79261f0284538490cbe2ed14d1ed450", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10248, "upload_time": "2018-09-27T15:45:15", "url": "https://files.pythonhosted.org/packages/f9/58/ab0096dd20e7e99f684e97893b761c99b1e09227ec1644b56246edee783a/gmail-yaml-filters-0.8.1.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "d34d86307f6cc86fe93aa9da129c4687", "sha256": "8333def58d3aa15daaa3d65f41f013441acbece59900354ab60d512abd1131a0" }, "downloads": -1, "filename": "gmail-yaml-filters-0.9.tar.gz", "has_sig": false, "md5_digest": "d34d86307f6cc86fe93aa9da129c4687", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10582, "upload_time": "2018-11-13T10:46:42", "url": "https://files.pythonhosted.org/packages/52/83/145e03e7c117f946dacae8032afc87ddc208b5ec3d53fdb7dcaf3e5ea9b7/gmail-yaml-filters-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "88cf262317f80a7fa3a52cb16f34e5ec", "sha256": "be33212a9fbc818728760f8fa7b292d958b8716ab8c0211af51cfe0aac3466e4" }, "downloads": -1, "filename": "gmail-yaml-filters-0.9.1.tar.gz", "has_sig": false, "md5_digest": "88cf262317f80a7fa3a52cb16f34e5ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10618, "upload_time": "2018-12-11T07:20:17", "url": "https://files.pythonhosted.org/packages/fd/b6/69b5741edc12ae6c21a2869efc2fdd7342840c23701607f70f85d35a8eba/gmail-yaml-filters-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "4896561c963e27407f7b059e99da7a11", "sha256": "cb87f776de74e3db81042ddefca3425499d9f7a68ebaf345fdf85b59d6a11268" }, "downloads": -1, "filename": "gmail-yaml-filters-0.9.2.tar.gz", "has_sig": false, "md5_digest": "4896561c963e27407f7b059e99da7a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11309, "upload_time": "2018-12-12T17:41:40", "url": "https://files.pythonhosted.org/packages/8b/4d/04b355ee96e3549f05f94febaa5f9a73e6ab6a021b5168d7d1a0b5e7d3a6/gmail-yaml-filters-0.9.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4896561c963e27407f7b059e99da7a11", "sha256": "cb87f776de74e3db81042ddefca3425499d9f7a68ebaf345fdf85b59d6a11268" }, "downloads": -1, "filename": "gmail-yaml-filters-0.9.2.tar.gz", "has_sig": false, "md5_digest": "4896561c963e27407f7b059e99da7a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11309, "upload_time": "2018-12-12T17:41:40", "url": "https://files.pythonhosted.org/packages/8b/4d/04b355ee96e3549f05f94febaa5f9a73e6ab6a021b5168d7d1a0b5e7d3a6/gmail-yaml-filters-0.9.2.tar.gz" } ] }