{
"info": {
"author": "Mozilla Services",
"author_email": "developers@kinto-storage.org",
"bugtrack_url": null,
"classifiers": [
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.6",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: WSGI :: Application"
],
"description": "Kinto Emailer\n#############\n\n.. image:: https://img.shields.io/travis/Kinto/kinto-emailer.svg\n :target: https://travis-ci.org/Kinto/kinto-emailer\n\n.. image:: https://img.shields.io/pypi/v/kinto-emailer.svg\n :target: https://pypi.python.org/pypi/kinto-emailer\n\n.. image:: https://coveralls.io/repos/Kinto/kinto-emailer/badge.svg?branch=master\n :target: https://coveralls.io/r/Kinto/kinto-emailer\n\n\n**kinto-emailer** send emails when some events arise (e.g. new records have\nbeen created). It relies on `Pyramid Mailer `_\nfor the sending part.\n\n\nInstall\n=======\n\n::\n\n pip install kinto-emailer\n\nSetup\n=====\n\nIn the `Kinto `_ settings:\n\n.. code-block:: ini\n\n kinto.includes = kinto_emailer\n\n mail.default_sender = kinto@restmail.net\n\n # mail.host = localhost\n # mail.port = 25\n # mail.username = None\n # mail.password = None\n # mail.tls = False\n # mail.queue_path = None\n\nIf ``mail.queue_path`` is set, the emails are storage in a local Maildir queue.\n\nSee `more details about Pyramid Mailer configuration `_.\n\nValidate configuration\n----------------------\n\nThe following command will send a dummy email to the specified recipient or will fail if the configuration is not correct:\n\n::\n\n $ kinto-send-email config/kinto.ini testemailer@restmail.net\n\n\nDevelopment\n-----------\n\nUse a fake emailer that write emails files to disk:\n\n.. code-block:: ini\n\n mail.debug_mailer = true\n\n\nHow does it work?\n=================\n\nSome information \u2014 like monitored action or list of recipients \u2014 are defined in\nthe collection or the bucket metadata. When an event occurs, the plugin sends emails if one of\nthe expected condition is met.\n\n\nUsage\n=====\n\nThe metadata on the collection (or the bucket) must look like this:\n\n.. code-block:: js\n\n {\n \"kinto-emailer\": {\n \"hooks\": [{\n \"template\": \"Something happened!\",\n \"recipients\": ['Security reviewers ']\n }]\n }\n }\n\nIn the above example, every action on the collection metadata or any record in that\ncollection will trigger an email notification.\n\nThe metadata of the collection override the bucket metadata, they are not merged.\n\nOptional:\n\n* ``subject`` (e.g. ``\"An action was performed\"``)\n* ``sender`` (e.g. ``\"Kinto team \"``)\n\n\nRecipients\n----------\n\nThe list of recipients can either contain:\n\n* Email adresses (eg. ``alice@wonderland.com`` or ``\"Joe Doe \"``)\n* Group URI (eg. ``/buckets/staging/groups/reviewers``)\n\nWith group URIs, the email recipients will be expanded with the group members\nprincipals look like email addresses (eg. ``ldap:peace@world.org``).\n\n\nSelection\n---------\n\nIt is possible to define several *hooks*, and filter on some condition. For example:\n\n.. code-block:: js\n\n {\n \"kinto-emailer\": {\n \"hooks\": [{\n \"resource_name\": \"record\",\n \"action\": \"create\",\n \"template\": \"Record created!\",\n \"recipients\": ['Security reviewers ']\n }, {\n \"resource_name\": \"collection\",\n \"action\": \"updated\",\n \"template\": \"Collection updated!\",\n \"recipients\": [\"Security reviewers \"]\n }]\n }\n }\n\nThe possible filters are:\n\n* ``resource_name``: ``record`` or ``collection`` (default: all)\n* ``action``: ``create``, ``update``, ``delete`` (default: all)\n* ``collection_id`` (default: all)\n* ``record_id`` (default: all)\n* ``event``: ``kinto.core.events.AfterResourceChanged`` (default), or\n ``kinto_signer.events.ReviewRequested``, ``kinto_signer.events.ReviewApproved``,\n ``kinto_signer.events.ReviewRejected``\n\nIf a filter value starts with the special character ``^``, then the matching will consider the filter value to be a regular expression.\n\nFor example, in order to exclude a specific ``collection_id``, set the filter value to: ``^(?!normandy-recipes$)``.\n\n\nTemplate\n--------\n\nThe template string can have placeholders:\n\n* ``bucket_id``\n* ``id``: record or collection ``id``)\n* ``user_id``\n* ``resource_name``\n* ``uri``\n* ``action``\n* ``timestamp``\n* ``root_url``\n* ``client_address``\n* ``user_agent``\n\nFor example:\n\n``{user_id} has {action}d a {resource_name} in {bucket_id}.``\n\nSee `Kinto core notifications `_.\n\n\nRunning the tests\n=================\n\nTo run the unit tests::\n\n $ make tests\n\nFor the functional tests, run a Kinto instance in a separate terminal::\n\n $ make run-kinto\n\n\nAnd start the test suite::\n\n $ make functional\n\n\nChangelog\n=========\n\nThis document describes changes between each past release.\n\n1.1.0 (2019-02-20)\n------------------\n\n**New features**\n\n- Allow regexp in filters values when selecting events (#88)\n\n\n1.0.2 (2018-04-17)\n------------------\n\n**Internal changes**\n\n- Get rid of ``six``\n\n\n1.0.1 (2017-11-21)\n------------------\n\n**Bug fixes**\n\n- Don't block on Pyramid 1.8 anymore. (#46)\n\n\n1.0.0 (2017-06-28)\n------------------\n\n**Bug fixes**\n\n- Fix crash when creating bucket with ``POST /buckets`` (fixes #43)\n\n\n0.4.0 (2017-04-14)\n------------------\n\n**New features**\n\n- Add a ``validate_setup.py`` script to check that server can actually send emails\n- Add a ``kinto-send-email`` command to test the configuration (fixes #35)\n\n**Bug fixes**\n\n- Fix sending notifications by decoupling it from transactions (fixes #38)\n\n0.3.0 (2017-01-30)\n------------------\n\n**New features**\n\n- Support configuration from bucket metadata (fixes #27)\n- Send mail to local Maildir queue if ``mail.queue_path`` setting is defined (ref #3)\n\n**Bug fixes**\n\n- Fix support of batch requests (fixes #24)\n\n\n0.2.0 (2017-01-27)\n------------------\n\n**New features**\n\n- List of recipients can now contain groups URIs. The principals from the specified\n group that look like email addresses will be used as recipients (fixes #6)\n- Support new variables like server root url or client IP address in email template (fixes #22)\n- Add some validation when defining kinto-emailer settings in collections metadata (fixes #21)\n\n\n0.1.0 (2017-01-25)\n------------------\n\n**Initial version**\n\n- Use a list of hooks to configure emails bound to notifications (fixes #11)\n- Support *kinto-signer* events (fixes #14)\n\n\nContributors\n============\n\n* Alexis M\u00e9taireau \n* R\u00e9my Hubscher \n* Mathieu Leplatre ",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/Kinto/kinto-emailer",
"keywords": "web services",
"license": "Apache License (2.0)",
"maintainer": "",
"maintainer_email": "",
"name": "kinto-emailer",
"package_url": "https://pypi.org/project/kinto-emailer/",
"platform": "",
"project_url": "https://pypi.org/project/kinto-emailer/",
"project_urls": {
"Homepage": "https://github.com/Kinto/kinto-emailer"
},
"release_url": "https://pypi.org/project/kinto-emailer/1.1.0/",
"requires_dist": null,
"requires_python": "",
"summary": "Kinto emailer plugin",
"version": "1.1.0"
},
"last_serial": 4846295,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "15aaa65cf6091e2936ab3ac9f20ebc41",
"sha256": "fd078da6615a667d795495d01d011209ee1dd1f32e49c0ef4df6ad3c7b84983a"
},
"downloads": -1,
"filename": "kinto_emailer-0.1.0-py2-none-any.whl",
"has_sig": false,
"md5_digest": "15aaa65cf6091e2936ab3ac9f20ebc41",
"packagetype": "bdist_wheel",
"python_version": "py2",
"requires_python": null,
"size": 10143,
"upload_time": "2017-01-25T11:53:01",
"url": "https://files.pythonhosted.org/packages/94/5e/085ea667c0bee70b43c9748976df22b0c50153593c834e4378994ba7b830/kinto_emailer-0.1.0-py2-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7c357e3fed9befc9811ecc30040a8d0f",
"sha256": "aca79a03cdc00f684b30ea381d388e3ee0e8084d9662a0a40d55d0bedc7759bf"
},
"downloads": -1,
"filename": "kinto-emailer-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "7c357e3fed9befc9811ecc30040a8d0f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8052,
"upload_time": "2017-01-25T11:53:00",
"url": "https://files.pythonhosted.org/packages/1f/a1/b237251c8df44315ec9f84a34c440dba0f47c5fde5359f4ecfa240da9f7c/kinto-emailer-0.1.0.tar.gz"
}
],
"0.2.0": [
{
"comment_text": "",
"digests": {
"md5": "6ba053437ff83117783eed49df3ee3d3",
"sha256": "ef85e08268c8ccb981fc3f9ea6615c2b9c5041a7ae5c2e18195d8e140f8613f4"
},
"downloads": -1,
"filename": "kinto-emailer-0.2.0.tar.gz",
"has_sig": false,
"md5_digest": "6ba053437ff83117783eed49df3ee3d3",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10350,
"upload_time": "2017-01-27T09:43:46",
"url": "https://files.pythonhosted.org/packages/28/e1/889cb3aff08bba70b88e8796e6f54edb5ab8e287d1d364d1c0e3b94683cc/kinto-emailer-0.2.0.tar.gz"
}
],
"0.3.0": [
{
"comment_text": "",
"digests": {
"md5": "971a5efe6591a191f31639e4d5fbc1e1",
"sha256": "9f87c3983324b2c5210d4bb25434d234b12510efa433db931fe680a4265d8da1"
},
"downloads": -1,
"filename": "kinto-emailer-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "971a5efe6591a191f31639e4d5fbc1e1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11452,
"upload_time": "2017-01-30T10:40:39",
"url": "https://files.pythonhosted.org/packages/00/3a/4878b5d288bd83bf72b89e777105140942c281f46cb674310c240511146a/kinto-emailer-0.3.0.tar.gz"
}
],
"0.4.0": [
{
"comment_text": "",
"digests": {
"md5": "0eaaf18d04079a67a0a1d1c21c4a7ff4",
"sha256": "da6ddfb54f3a49fc70ecd5f57723787406fb3985d1293effd6f1ce806e9492b9"
},
"downloads": -1,
"filename": "kinto_emailer-0.4.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0eaaf18d04079a67a0a1d1c21c4a7ff4",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15743,
"upload_time": "2017-04-14T12:21:15",
"url": "https://files.pythonhosted.org/packages/f3/b1/a11548c8e38610f0465fb5c4e6d3d4d7a835e5ffefe8125a8cc4dc5443c3/kinto_emailer-0.4.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "7ee12070da3da61b873d37c7475fc290",
"sha256": "56fcf084082c967d562204d09020c8f453f0d85db5e7e757ae165af76d4caf7e"
},
"downloads": -1,
"filename": "kinto-emailer-0.4.0.tar.gz",
"has_sig": false,
"md5_digest": "7ee12070da3da61b873d37c7475fc290",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12162,
"upload_time": "2017-04-14T12:21:12",
"url": "https://files.pythonhosted.org/packages/16/57/88ee31c2494281fce78bf960f78bfe705779f63acfa4614a22f36338935c/kinto-emailer-0.4.0.tar.gz"
}
],
"1.0.0": [
{
"comment_text": "",
"digests": {
"md5": "8eaea7787f21e9d899b008a1bfc8c612",
"sha256": "46620285e8e99228d66971e78ec365b43811d3ff91de92838953c8afc550d9ab"
},
"downloads": -1,
"filename": "kinto_emailer-1.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8eaea7787f21e9d899b008a1bfc8c612",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15902,
"upload_time": "2017-06-28T19:19:48",
"url": "https://files.pythonhosted.org/packages/f7/6e/b2539fc7742112a59554a62b3594b395d73872fd33694185e282a704b1ca/kinto_emailer-1.0.0-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3160c3573747486547d3a2e5cd85040a",
"sha256": "53714a075c0399b5b7beec26ce0e4615be4e4e8ba773cdac6f238cca6d4a75a4"
},
"downloads": -1,
"filename": "kinto-emailer-1.0.0.tar.gz",
"has_sig": false,
"md5_digest": "3160c3573747486547d3a2e5cd85040a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12300,
"upload_time": "2017-06-28T19:19:46",
"url": "https://files.pythonhosted.org/packages/d6/3b/477fbf47df45307a28fedbc4bb5d4afba365105f0a20711b88a5fc65aab3/kinto-emailer-1.0.0.tar.gz"
}
],
"1.0.1": [
{
"comment_text": "",
"digests": {
"md5": "075a49b1f31d09efe14fbdee9b6a15ac",
"sha256": "4d66c1d4a68b68aa9df55c9d2c09b9496cf644b748967666e02db883881b66b0"
},
"downloads": -1,
"filename": "kinto_emailer-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "075a49b1f31d09efe14fbdee9b6a15ac",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 15970,
"upload_time": "2017-11-21T15:49:38",
"url": "https://files.pythonhosted.org/packages/c9/27/cd5f901d8deef2bbda73e0e724090e25e46388196e5133e89d426e6871c7/kinto_emailer-1.0.1-py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "b65c90d7df358653eb5cbccfb43b96bb",
"sha256": "aab392515ab7fc15d8788fde80121bdda45f653f5b3a647acfc5e0fb82f15ad5"
},
"downloads": -1,
"filename": "kinto-emailer-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "b65c90d7df358653eb5cbccfb43b96bb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12335,
"upload_time": "2017-11-21T15:49:40",
"url": "https://files.pythonhosted.org/packages/33/8f/7bc033754e10a71f223952436e57ebe3e76e2c6282d82747d4bbc1b0bb6d/kinto-emailer-1.0.1.tar.gz"
}
],
"1.0.2": [
{
"comment_text": "",
"digests": {
"md5": "65740ac569ea1d4168435152b981212b",
"sha256": "a0552a8fa8c749595d745aeb7ccbe0c60cef660588af1e4d6e1b4e9051eb7707"
},
"downloads": -1,
"filename": "kinto-emailer-1.0.2.tar.gz",
"has_sig": false,
"md5_digest": "65740ac569ea1d4168435152b981212b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13566,
"upload_time": "2018-04-17T11:56:19",
"url": "https://files.pythonhosted.org/packages/d6/44/bf972d809e4253d742601a007abb8051d901fa7e593b443db90b816eadfe/kinto-emailer-1.0.2.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "3291115c0514da97eb2a4189138233de",
"sha256": "356dc98fe23a21829a4a1e1be5e4032ad4da98dd03ba72f2ea69b1472890a406"
},
"downloads": -1,
"filename": "kinto-emailer-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "3291115c0514da97eb2a4189138233de",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13945,
"upload_time": "2019-02-20T16:00:20",
"url": "https://files.pythonhosted.org/packages/41/e3/e51452c209cda412224587913975e6f7c6220c38c33e4dd2a6480e368dbe/kinto-emailer-1.1.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "3291115c0514da97eb2a4189138233de",
"sha256": "356dc98fe23a21829a4a1e1be5e4032ad4da98dd03ba72f2ea69b1472890a406"
},
"downloads": -1,
"filename": "kinto-emailer-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "3291115c0514da97eb2a4189138233de",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13945,
"upload_time": "2019-02-20T16:00:20",
"url": "https://files.pythonhosted.org/packages/41/e3/e51452c209cda412224587913975e6f7c6220c38c33e4dd2a6480e368dbe/kinto-emailer-1.1.0.tar.gz"
}
]
}