{
"info": {
"author": "JR Conlin",
"author_email": "src+vapid@jrconlin.com",
"bugtrack_url": null,
"classifiers": [
"Programming Language :: Python",
"Programming Language :: Python :: 2",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Topic :: Internet :: WWW/HTTP"
],
"description": "`PyPI version py_vapid `__\n\nEasy VAPID generation\n=====================\n\nThis minimal library contains the minimal set of functions you need to\ngenerate a VAPID key set and get the headers you\u2019ll need to sign a\nWebPush subscription update.\n\nVAPID is a voluntary standard for WebPush subscription providers (sites\nthat send WebPush updates to remote customers) to self-identify to Push\nServers (the servers that convey the push notifications).\n\nThe VAPID \u201cclaims\u201d are a set of JSON keys and values. There are two\nrequired fields, one semi-optional and several optional additional\nfields.\n\nAt a minimum a VAPID claim set should look like:\n\n::\n\n {\"sub\":\"mailto:YourEmail@YourSite.com\",\"aud\":\"https://PushServer\",\"exp\":\"ExpirationTimestamp\"}\n\nA few notes:\n\n**sub** is the email address you wish to have on record for this\nrequest, prefixed with \u201c``mailto:``\u201d. If things go wrong, this is the\nemail that will be used to contact you (for instance). This can be a\ngeneral delivery address like \u201c``mailto:push_operations@example.com``\u201d\nor a specific address like \u201c``mailto:bob@example.com``\u201d.\n\n**aud** is the audience for the VAPID. This is the scheme and host you\nuse to send subscription endpoints and generally coincides with the\n``endpoint`` specified in the Subscription Info block.\n\nAs example, if a WebPush subscription info contains:\n``{\"endpoint\": \"https://push.example.com:8012/v1/push/...\", ...}``\n\nthen the ``aud`` would be \u201c``https://push.example.com:8012``\u201d\n\nWhile some Push Services consider this an optional field, others may be\nstricter.\n\n**exp** This is the UTC timestamp for when this VAPID request will\nexpire. The maximum period is 24 hours. Setting a shorter period can\nprevent \u201creplay\u201d attacks. Setting a longer period allows you to reuse\nheaders for multiple sends (e.g.\u00a0if you\u2019re sending hundreds of updates\nwithin an hour or so.) If no ``exp`` is included, one that will expire\nin 24 hours will be auto-generated for you.\n\nClaims should be stored in a JSON compatible file. In the examples\nbelow, we\u2019ve stored the claims into a file named ``claims.json``.\n\npy_vapid can either be installed as a library or used as a stand along\napp, ``bin/vapid``.\n\nApp Installation\n----------------\n\nYou\u2019ll need ``python virtualenv`` Run that in the current directory.\n\nThen run\n\n::\n\n bin/pip install -r requirements.txt\n\n bin/python setup.py install\n\nApp Usage\n---------\n\nRun by itself, ``bin/vapid`` will check and optionally create the\npublic_key.pem and private_key.pem files.\n\n``bin/vapid --gen`` can be used to generate a new set of public and\nprivate key PEM files. These will overwrite the contents of\n``private_key.pem`` and ``public_key.pem``.\n\n``bin/vapid --sign claims.json`` will generate a set of HTTP headers\nfrom a JSON formatted claims file. A sample ``claims.json`` is included\nwith this distribution.\n\n``bin/vapid --sign claims.json --json`` will output the headers in JSON\nformat, which may be useful for other programs.\n\n``bin/vapid --applicationServerKey`` will return the\n``applicationServerKey`` value you can use to make a restricted\nendpoint. See\nhttps://developer.mozilla.org/en-US/docs/Web/API/PushManager/subscribe\nfor more details. Be aware that this value is tied to the generated\npublic/private key. If you remove or generate a new key, any restricted\nURL you\u2019ve previously generated will need to be reallocated. Please note\nthat some User Agents may require you `to decode this string into a\nUint8Array `__.\n\nSee ``bin/vapid -h`` for all options and commands.",
"description_content_type": "",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/mozilla-services/vapid",
"keywords": "vapid push webpush",
"license": "MPL2",
"maintainer": "",
"maintainer_email": "",
"name": "py-vapid",
"package_url": "https://pypi.org/project/py-vapid/",
"platform": "",
"project_url": "https://pypi.org/project/py-vapid/",
"project_urls": {
"Homepage": "https://github.com/mozilla-services/vapid"
},
"release_url": "https://pypi.org/project/py-vapid/1.7.0/",
"requires_dist": null,
"requires_python": "",
"summary": "Simple VAPID header generation library",
"version": "1.7.0"
},
"last_serial": 5431345,
"releases": {
"0.2": [
{
"comment_text": "",
"digests": {
"md5": "59675d666e3b47e8f47514b9ebccf477",
"sha256": "5977c7ae9c884ed94eacd0d10ad92a08fb4f672f1e84bf0a181233529d88edfb"
},
"downloads": -1,
"filename": "py-vapid-0.2.tar.gz",
"has_sig": false,
"md5_digest": "59675d666e3b47e8f47514b9ebccf477",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4118,
"upload_time": "2016-05-17T18:36:52",
"url": "https://files.pythonhosted.org/packages/35/f1/9dee561961aad0fa2e1e282894eb7a231c2010e2d5f41c32b4627b67ac31/py-vapid-0.2.tar.gz"
}
],
"0.3": [
{
"comment_text": "built for Linux-3.13.0-85-generic-x86_64-with-glibc2.4",
"digests": {
"md5": "075a76ad33f83d78e31919bb638ee5f0",
"sha256": "ab04a1cc9f9118392bd3e0d00d1bfb30bdb13f10544f42a40c54a17687bd5302"
},
"downloads": -1,
"filename": "py-vapid-0.3.linux-x86_64.tar.gz",
"has_sig": false,
"md5_digest": "075a76ad33f83d78e31919bb638ee5f0",
"packagetype": "bdist_dumb",
"python_version": "any",
"requires_python": null,
"size": 7022,
"upload_time": "2016-04-26T23:47:17",
"url": "https://files.pythonhosted.org/packages/4a/8c/1bfc07a3d89d4f0784c9dc7d80f5baf4bccf576b9df3eea85531dcc9c650/py-vapid-0.3.linux-x86_64.tar.gz"
}
],
"0.4": [
{
"comment_text": "",
"digests": {
"md5": "b7dec684aa4e7329f63de4ee3dbfef2d",
"sha256": "a0fe292b72566f75cfc7f93a05f2fe18f8f454ff6284da95e11a7f5531487483"
},
"downloads": -1,
"filename": "py-vapid-0.4.tar.gz",
"has_sig": false,
"md5_digest": "b7dec684aa4e7329f63de4ee3dbfef2d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4127,
"upload_time": "2016-05-17T18:38:14",
"url": "https://files.pythonhosted.org/packages/5a/93/21561a41da3a936f676688507ca05d6535014dca9bcd4ab8e995b75a0896/py-vapid-0.4.tar.gz"
}
],
"0.4.1": [
{
"comment_text": "",
"digests": {
"md5": "b34a193c676462e0e1ebb6a9e1669027",
"sha256": "2139cfc5f7dcba7a6952082c2c016eabb5079b7a067552be576879e77e92cafe"
},
"downloads": -1,
"filename": "py-vapid-0.4.1.tar.gz",
"has_sig": false,
"md5_digest": "b34a193c676462e0e1ebb6a9e1669027",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4494,
"upload_time": "2016-05-17T19:04:02",
"url": "https://files.pythonhosted.org/packages/84/ea/eb92f640722f1507ac1be9b231a7342d99b5898169a7a2777150ad9ae12f/py-vapid-0.4.1.tar.gz"
}
],
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "74e5b3c70825712db1c66bdc66e7ef13",
"sha256": "3eec1b766de534d587fca449824d07689b7895599e41fa8465d3183fa2db825b"
},
"downloads": -1,
"filename": "py-vapid-0.5.0.tar.gz",
"has_sig": false,
"md5_digest": "74e5b3c70825712db1c66bdc66e7ef13",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4485,
"upload_time": "2016-06-30T21:27:57",
"url": "https://files.pythonhosted.org/packages/63/a2/bcf133d6c8b803245223a31f2406a5266d822635ea39932034a1cef22002/py-vapid-0.5.0.tar.gz"
}
],
"0.6.0": [
{
"comment_text": "",
"digests": {
"md5": "c53668a01c2d6b6001073ff4a10d87e0",
"sha256": "0faf3a83b8c785c57af1f612d75cb7f757fbcf1e6c4fcee413ca6a40f336fdba"
},
"downloads": -1,
"filename": "py-vapid-0.6.0.tar.gz",
"has_sig": false,
"md5_digest": "c53668a01c2d6b6001073ff4a10d87e0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 4423,
"upload_time": "2016-08-10T19:12:13",
"url": "https://files.pythonhosted.org/packages/d0/d5/0f0ceee4cdc4fca5707e4388ccb0fcdcd6b333b35afff0f472f9809a352c/py-vapid-0.6.0.tar.gz"
}
],
"0.7.0": [
{
"comment_text": "",
"digests": {
"md5": "027fe47f9c48244fcb292e554bcb2af2",
"sha256": "cce6c0262a9073c9ade660b9b5cb24a67b799fcaf159952744fae00d621daaeb"
},
"downloads": -1,
"filename": "py-vapid-0.7.0.tar.gz",
"has_sig": false,
"md5_digest": "027fe47f9c48244fcb292e554bcb2af2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5021,
"upload_time": "2016-10-03T02:38:10",
"url": "https://files.pythonhosted.org/packages/dc/11/d8820773203ec5c5af2fd7b5a199f7d75e8d9d5210b51f22ed55e4d836df/py-vapid-0.7.0.tar.gz"
}
],
"0.7.1": [
{
"comment_text": "",
"digests": {
"md5": "9d7eaef917f060570dec54922ff89b97",
"sha256": "56ed735f7f130f4f527903e3aa86d9f7dcdf6f09159908b86df000de88b05c12"
},
"downloads": -1,
"filename": "py-vapid-0.7.1.tar.gz",
"has_sig": false,
"md5_digest": "9d7eaef917f060570dec54922ff89b97",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 5471,
"upload_time": "2017-02-24T21:44:24",
"url": "https://files.pythonhosted.org/packages/37/e8/837114e161b4de695c108e0d6ad0c848236b0dabae356a729acdb8f2cfab/py-vapid-0.7.1.tar.gz"
}
],
"0.8.0": [
{
"comment_text": "",
"digests": {
"md5": "785e90dfbeb02d34a02708d53b3ad8ce",
"sha256": "3ff3fed4fbe886120ef9737cb4e08fee85e124e0105eabc1f407eec0c4f3ea41"
},
"downloads": -1,
"filename": "py-vapid-0.8.0.tar.gz",
"has_sig": false,
"md5_digest": "785e90dfbeb02d34a02708d53b3ad8ce",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8489,
"upload_time": "2017-03-16T20:59:51",
"url": "https://files.pythonhosted.org/packages/cd/58/bdadee45348e71a2f3334ca91bc6def71b912a93bb427baf4cec08c62ecb/py-vapid-0.8.0.tar.gz"
}
],
"0.8.1": [
{
"comment_text": "",
"digests": {
"md5": "dd6545e6f2a5ad0cd92ab0ec2dfa5025",
"sha256": "430018efcb749bb21b507243828279166415bfc6f6a385198b4cbe7580a0249d"
},
"downloads": -1,
"filename": "py-vapid-0.8.1.tar.gz",
"has_sig": false,
"md5_digest": "dd6545e6f2a5ad0cd92ab0ec2dfa5025",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8477,
"upload_time": "2017-03-16T22:42:17",
"url": "https://files.pythonhosted.org/packages/3a/96/bfd32bd20617382e88a285cb11f5ac5feb3f2222d43a8b30af3afed31ca6/py-vapid-0.8.1.tar.gz"
}
],
"1.1.0": [
{
"comment_text": "",
"digests": {
"md5": "1947859c745bb2743494f42a417f9c98",
"sha256": "b09f9f2177b2545f19c1ff9d317aa33cd963d87591094ef53af06caf56f220ad"
},
"downloads": -1,
"filename": "py-vapid-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1947859c745bb2743494f42a417f9c98",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8893,
"upload_time": "2017-04-18T22:13:29",
"url": "https://files.pythonhosted.org/packages/5f/f7/ece64735a3053b3ff32a2d19d47d6e78c50e66f0fd327c874b7563d2c791/py-vapid-1.1.0.tar.gz"
}
],
"1.2.0": [
{
"comment_text": "",
"digests": {
"md5": "8192e2f56761c37a08dc514624b48aa0",
"sha256": "12be934afc508effe8a529a466904fb23cced35d1ccc1d660d3d389715909ae7"
},
"downloads": -1,
"filename": "py-vapid-1.2.0.tar.gz",
"has_sig": false,
"md5_digest": "8192e2f56761c37a08dc514624b48aa0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12281,
"upload_time": "2017-05-08T16:32:19",
"url": "https://files.pythonhosted.org/packages/16/8d/52eb08f8ca52b79d75c16ce8998d7f2747fce69708851b0b3fdfb99159e2/py-vapid-1.2.0.tar.gz"
}
],
"1.2.1": [
{
"comment_text": "",
"digests": {
"md5": "b8c279144c9771c690d04cbe16493e83",
"sha256": "af7a58371088da95f1b26a5928be5904bc0a87e8ff848aa4bc0a7693fe36a1fe"
},
"downloads": -1,
"filename": "py-vapid-1.2.1.tar.gz",
"has_sig": false,
"md5_digest": "b8c279144c9771c690d04cbe16493e83",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12291,
"upload_time": "2017-05-08T17:16:55",
"url": "https://files.pythonhosted.org/packages/b7/d5/17af62ee36ef955f55909dd4e22533ace7d8090bc50222d92ff1fcbc855e/py-vapid-1.2.1.tar.gz"
}
],
"1.2.2": [
{
"comment_text": "",
"digests": {
"md5": "64f5dd701d31e4ffc0eb540c756dea5f",
"sha256": "b4bc5522254b5090a64c8a267e62f72678fc935025347283443421ff43bbe925"
},
"downloads": -1,
"filename": "py-vapid-1.2.2.tar.gz",
"has_sig": false,
"md5_digest": "64f5dd701d31e4ffc0eb540c756dea5f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12869,
"upload_time": "2017-05-15T15:57:04",
"url": "https://files.pythonhosted.org/packages/df/64/e565b0647854e6e62ad2d01ee2cbc5d78fe75086b0c23072ca0ba558b18d/py-vapid-1.2.2.tar.gz"
}
],
"1.2.3": [
{
"comment_text": "",
"digests": {
"md5": "ee90bce3d1e9c9b825d6d4afe30d1a9d",
"sha256": "de7ae38154c6ca3ca1140f96de1fd15a5e96de9df3bb6174845f78a692546f09"
},
"downloads": -1,
"filename": "py-vapid-1.2.3.tar.gz",
"has_sig": false,
"md5_digest": "ee90bce3d1e9c9b825d6d4afe30d1a9d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13272,
"upload_time": "2017-05-18T16:29:35",
"url": "https://files.pythonhosted.org/packages/88/cc/3f70847f2ac3ab81a4683076912d7254094a8e596c51de424a55ea483b02/py-vapid-1.2.3.tar.gz"
}
],
"1.2.4": [
{
"comment_text": "",
"digests": {
"md5": "563664071c3520802c98b8fd9e60bb39",
"sha256": "4bc5263a8cec054ab94ce6b648f27ba57473d20f0a112b7ec322d73e020c0feb"
},
"downloads": -1,
"filename": "py-vapid-1.2.4.tar.gz",
"has_sig": false,
"md5_digest": "563664071c3520802c98b8fd9e60bb39",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13250,
"upload_time": "2017-06-05T14:34:21",
"url": "https://files.pythonhosted.org/packages/22/f0/000cc8c1b31c6deefb8cc6ca3d58ccf303eee2c8ac8e13a030bba4b8e686/py-vapid-1.2.4.tar.gz"
}
],
"1.2.5": [
{
"comment_text": "",
"digests": {
"md5": "1d6f879ad347db5d296bfb94348a1628",
"sha256": "0daad1df86d0035510dd66f0e5c31b7edaef22ea4821eb6410bb0a2966115519"
},
"downloads": -1,
"filename": "py-vapid-1.2.5.tar.gz",
"has_sig": false,
"md5_digest": "1d6f879ad347db5d296bfb94348a1628",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13354,
"upload_time": "2017-06-07T20:39:09",
"url": "https://files.pythonhosted.org/packages/18/42/b0946642739888bf91f1eb1c9f3db45b0439808c9bf194f962c57a180ed6/py-vapid-1.2.5.tar.gz"
}
],
"1.2.6": [
{
"comment_text": "",
"digests": {
"md5": "3ec2d5d662f0eb6aae2c4e520d04e4a5",
"sha256": "d01f8679376ec45e6418d9b5f589313bacae8d02346c13715640b2c61d3a2947"
},
"downloads": -1,
"filename": "py-vapid-1.2.6.tar.gz",
"has_sig": false,
"md5_digest": "3ec2d5d662f0eb6aae2c4e520d04e4a5",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13543,
"upload_time": "2017-10-02T18:06:50",
"url": "https://files.pythonhosted.org/packages/fa/05/a1cca5dc5784d20f7205a6f6ad1ce8c01599b2fce24fb7e135235fda60ca/py-vapid-1.2.6.tar.gz"
}
],
"1.3.0": [
{
"comment_text": "",
"digests": {
"md5": "102e59bd62e51cfde4e8bc197037879b",
"sha256": "63f0ff1dffbd694d400e041b4be80d83effcb53dc150398ba913c69a663a1fe1"
},
"downloads": -1,
"filename": "py-vapid-1.3.0.tar.gz",
"has_sig": false,
"md5_digest": "102e59bd62e51cfde4e8bc197037879b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13707,
"upload_time": "2017-10-03T20:36:31",
"url": "https://files.pythonhosted.org/packages/83/cb/f3c2bd22b243f548b6ecba13f13b2d1d9c21b2b7a3c634468c7788afdbc9/py-vapid-1.3.0.tar.gz"
}
],
"1.3.1": [
{
"comment_text": "",
"digests": {
"md5": "cc23eeba9b794a6fb878cb02705535f2",
"sha256": "c49f01e427553f20665a0e31d60fb05851e082035019de8ce978b13aba647507"
},
"downloads": -1,
"filename": "py-vapid-1.3.1.tar.gz",
"has_sig": false,
"md5_digest": "cc23eeba9b794a6fb878cb02705535f2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 13691,
"upload_time": "2018-04-02T16:41:22",
"url": "https://files.pythonhosted.org/packages/e5/5e/2ecd264b1356f2210aa71ea16dc9e91cfad66277feffeabe8c416a42619a/py-vapid-1.3.1.tar.gz"
}
],
"1.4.0": [
{
"comment_text": "",
"digests": {
"md5": "11ca11aaf89371d8cba9cfc49d52343b",
"sha256": "89417053a97c65a89d055397bd406711102f4cc7b48672e200ecd7e258749340"
},
"downloads": -1,
"filename": "py-vapid-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "11ca11aaf89371d8cba9cfc49d52343b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12052,
"upload_time": "2018-05-15T18:36:04",
"url": "https://files.pythonhosted.org/packages/93/9c/196631448583273ab5c3b252e988648a7b6e503f1bdcf06c3816f4402465/py-vapid-1.4.0.tar.gz"
}
],
"1.5.0": [
{
"comment_text": "",
"digests": {
"md5": "ab3ea6c4a67d91f1df21796674cb631a",
"sha256": "5ad1b28e2942d96a3bc755396c72951de2910ff185ae616c51d3c43b25256fac"
},
"downloads": -1,
"filename": "py-vapid-1.5.0.tar.gz",
"has_sig": false,
"md5_digest": "ab3ea6c4a67d91f1df21796674cb631a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 12088,
"upload_time": "2019-04-13T01:08:57",
"url": "https://files.pythonhosted.org/packages/d9/4f/cbf443fc93fbcb29bcf089f2b1bdefbde9cc90c0651c8c0e5d932a7a9c41/py-vapid-1.5.0.tar.gz"
}
],
"1.6.0": [
{
"comment_text": "",
"digests": {
"md5": "c6cc81809b13eed3ec9e0646b08605f4",
"sha256": "5837ee9541a06b45b73ab26037828b463efa4937fee376849e6dfbd629c17ab3"
},
"downloads": -1,
"filename": "py-vapid-1.6.0.tar.gz",
"has_sig": false,
"md5_digest": "c6cc81809b13eed3ec9e0646b08605f4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18860,
"upload_time": "2019-06-13T17:14:35",
"url": "https://files.pythonhosted.org/packages/e9/84/564329ac3835e0a792871e7329b22452d24bc700e256a9889f40304f03b1/py-vapid-1.6.0.tar.gz"
}
],
"1.7.0": [
{
"comment_text": "",
"digests": {
"md5": "e63f23ff3718ca837a81d3a7fbda2c80",
"sha256": "03057a3270ddc7d53c31e2915083d01ba8a3169f4032cab3dd9f4ebe44e2564a"
},
"downloads": -1,
"filename": "py-vapid-1.7.0.tar.gz",
"has_sig": false,
"md5_digest": "e63f23ff3718ca837a81d3a7fbda2c80",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18888,
"upload_time": "2019-06-21T15:11:50",
"url": "https://files.pythonhosted.org/packages/17/c9/64ab806f2e99b35039ad8c64c5dd0a53eb1e56f1b8b637f13614870523a5/py-vapid-1.7.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "e63f23ff3718ca837a81d3a7fbda2c80",
"sha256": "03057a3270ddc7d53c31e2915083d01ba8a3169f4032cab3dd9f4ebe44e2564a"
},
"downloads": -1,
"filename": "py-vapid-1.7.0.tar.gz",
"has_sig": false,
"md5_digest": "e63f23ff3718ca837a81d3a7fbda2c80",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 18888,
"upload_time": "2019-06-21T15:11:50",
"url": "https://files.pythonhosted.org/packages/17/c9/64ab806f2e99b35039ad8c64c5dd0a53eb1e56f1b8b637f13614870523a5/py-vapid-1.7.0.tar.gz"
}
]
}