{ "info": { "author": "Patrick Kidger", "author_email": "contact@kidger.site", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Intended Audience :: Financial and Insurance Industry", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: Unix", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "*********\nSignatory\n*********\nDifferentiable computations of the signature and logsignature transforms, on both CPU and GPU.\n\n\n\n\nWhat are signatures?\n####################\nIf you're reading this then it's probably because you already know what the signature transform is, and are looking to use it in your project. But in case you've stumbled across this and are curious what this 'signature' thing is...\n\nThe *signature transform* is a transformation that takes in a stream of data (often a time series), and returns a collection of statistics about that stream of data, called the *signature*. This collection of statistics determines the path essentially uniquely. Importantly, the signature is rich enough that every continuous function of the input stream may be approximated arbitrarily well by a linear function of its signature; the signature transform is what we call a *universal nonlinearity*. If you're doing machine learning then you probably understand why this is such a desirable property!\n\n\nCheck out `this `__ for a primer on the use of the signature transform in machine learning, just as a feature transformation, and `this `__ for a more in-depth look at integrating the signature transform into neural networks.\n\n\nInstallation\n############\nAvailable for Python 2.7, Python 3.5, Python 3.6, Python 3.7 and Linux, Mac, Windows.\n\nRequires `PyTorch `__. Tested with PyTorch version 1.2.0, but should work with all recent versions.\n\nInstall via ``pip install signatory``. Then just ``import signatory`` inside Python.\n\nInstallation from source is also possible; please consult the `documentation `__.\n\n\nIf you have any problems with installation then check the `FAQ `__. If that doesn't help then feel free to `open an issue `__.\n\n\n\nDocumentation\n#############\nThe documentation is available `here `__.\n\n\nCitation\n########\nIf you found this library useful in your research, please consider citing\n\n.. code-block:: bibtex\n\n @misc{signatory,\n title={{Signatory: differentiable computations of the signature and logsignature transforms, on both CPU and GPU}},\n author={Kidger, Patrick},\n note={https://github.com/patrick-kidger/signatory},\n year={2019}\n }\n\n\nAcknowledgements\n################\n\nThe Python bindings for the C++ code were written with the aid of `pybind11 `__.\n\nFor NumPy-based CPU-only signature calculations, you may also be interested in the `iisignature `__ package. The notes accompanying the iisignature project greatly helped with the implementation of Signatory.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/patrick-kidger/signatory", "keywords": "signature", "license": "Apache-2.0", "maintainer": "Patrick Kidger", "maintainer_email": "contact@kidger.site", "name": "signatory", "package_url": "https://pypi.org/project/signatory/", "platform": "", "project_url": "https://pypi.org/project/signatory/", "project_urls": { "Homepage": "https://github.com/patrick-kidger/signatory" }, "release_url": "https://pypi.org/project/signatory/1.1.3/", "requires_dist": null, "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "summary": "Differentiable computations of the signature and logsignature transforms, on both CPU and GPU.", "version": "1.1.3" }, "last_serial": 5898109, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "dcfda120f93f72fc94113f509995217c", "sha256": "d66066219643a6cc98a032274cd7f4ce772afc2ebd36a96a6775c969110d795a" }, "downloads": -1, "filename": "signatory-0.1.0.tar.gz", "has_sig": false, "md5_digest": "dcfda120f93f72fc94113f509995217c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 18444, "upload_time": "2019-06-14T02:05:19", "url": "https://files.pythonhosted.org/packages/12/11/cd2d183540df6443cf1fc09bd73a2591cb11ae8a256654b8c5d3776fee6b/signatory-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "e6fec369f28d566681e1feaeef512d41", "sha256": "3a519de570091b1d46e6e3a792743e291fe93c1f1995a9c4704fc9a388b2dd95" }, "downloads": -1, "filename": "signatory-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e6fec369f28d566681e1feaeef512d41", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 20335, "upload_time": "2019-06-15T21:47:23", "url": "https://files.pythonhosted.org/packages/5b/25/23e90abe0f7b3b6a1638c8471471491f2696ea80f828bc7939bcf2ee1123/signatory-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "3cfe705b02539422e9d0d1f1fccbc9b8", "sha256": "40a0d88a5569c3646571ac46f27809627ae49ada9e8ffa185bfe2ff402b8045c" }, "downloads": -1, "filename": "signatory-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3cfe705b02539422e9d0d1f1fccbc9b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 21181, "upload_time": "2019-06-18T01:27:05", "url": "https://files.pythonhosted.org/packages/bf/a5/f870129302a94bd3fe228250893b77da680022231c2b98dd7a525308a974/signatory-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9b13e481c1dfb1a5abd379269e0cad70", "sha256": "3d61f6c6231a82925590e7dbe1cde5348f837ce266d65c98a17056a9e51fedee" }, "downloads": -1, "filename": "signatory-0.2.0.tar.gz", "has_sig": false, "md5_digest": "9b13e481c1dfb1a5abd379269e0cad70", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 25645, "upload_time": "2019-07-10T17:24:18", "url": "https://files.pythonhosted.org/packages/9c/a7/a8e51aa68fe13eadf1eba9093c761cba8359957f99dcf7ab6019b05a68fd/signatory-0.2.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "8b9d70120b50c440bfb5889f01ad4dcb", "sha256": "91784f870c50cf5fab61992e7eda941ef306fe6f76694bb4acf4d662bd708218" }, "downloads": -1, "filename": "signatory-1.0.0.tar.gz", "has_sig": false, "md5_digest": "8b9d70120b50c440bfb5889f01ad4dcb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 42588, "upload_time": "2019-08-21T09:45:54", "url": "https://files.pythonhosted.org/packages/64/bc/36ae4e7bda94157412d3abe63e2420f691c28a5bb8cc97efe0ba8620f59e/signatory-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "fba6deae2e4ad373ed80ca4ce9733f04", "sha256": "e0ff037008391e9f5763f2c885b58bc49ad01e8e636fc432fe7ee45cb94b7267" }, "downloads": -1, "filename": "signatory-1.1.0.tar.gz", "has_sig": false, "md5_digest": "fba6deae2e4ad373ed80ca4ce9733f04", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 40675, "upload_time": "2019-09-02T18:47:50", "url": "https://files.pythonhosted.org/packages/70/2f/8cf0f76689f9d2cfdbdbe6756144e83675a7cf4d57a22e7b8b07ed5411c3/signatory-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "3663ae289fb5c0a3299e7abf37cf4814", "sha256": "624c647bc884ad102f691aba176e7a61624fc79f1ddf250d0f4dd3306b9ca692" }, "downloads": -1, "filename": "signatory-1.1.1.tar.gz", "has_sig": false, "md5_digest": "3663ae289fb5c0a3299e7abf37cf4814", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 41572, "upload_time": "2019-09-10T18:01:38", "url": "https://files.pythonhosted.org/packages/90/40/2f574c06fcb9ae186602b6a21fd051811710e05c2d8dff194af7c05ab403/signatory-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "19c9db77970002fad42a527be8e5f848", "sha256": "e5fb20693f5e8bad73c8104b8dfc186a333782e466d7fd9ec5d8f9b3f60a3bd3" }, "downloads": -1, "filename": "signatory-1.1.2.tar.gz", "has_sig": false, "md5_digest": "19c9db77970002fad42a527be8e5f848", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 43814, "upload_time": "2019-09-16T12:17:53", "url": "https://files.pythonhosted.org/packages/2c/9d/0c7e7f6431a615059d72d7d228847affa874a988025196351ef246de9a5f/signatory-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "9f37ecabb6a74e08b87c14fec4c09778", "sha256": "824d78d0bb97e51e6e479b18910b0681a5aebce85386f09bacfad4d3ab1a4a09" }, "downloads": -1, "filename": "signatory-1.1.3-cp27-cp27m-macosx_10_6_x86_64.whl", "has_sig": false, "md5_digest": "9f37ecabb6a74e08b87c14fec4c09778", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 229452, "upload_time": "2019-09-27T20:50:38", "url": "https://files.pythonhosted.org/packages/dd/7a/ac0719a16e2a6b4cb8b8e77700a7980b2ca278a561da4665e1aa02dfcfe6/signatory-1.1.3-cp27-cp27m-macosx_10_6_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b9af6739557785b068d1730d562d5b3c", "sha256": "8e1bd547c8552cb99392837dcd099352e70d54ecb8be72d4f1dadba59925fce7" }, "downloads": -1, "filename": "signatory-1.1.3-cp35-cp35m-macosx_10_6_x86_64.whl", "has_sig": false, "md5_digest": "b9af6739557785b068d1730d562d5b3c", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 224158, "upload_time": "2019-09-27T20:50:26", "url": "https://files.pythonhosted.org/packages/3a/fb/25cffcb14f06702e9d1d8e7a602a7249e603a524e7201c7ad2ef05028f09/signatory-1.1.3-cp35-cp35m-macosx_10_6_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d8ead84c5f396ccf45209e85ed47f32b", "sha256": "fce038d3f0336fed1fe010001c13d80aef7e47ab0b4e185fb44811838b6bdff0" }, "downloads": -1, "filename": "signatory-1.1.3-cp35-cp35m-win_amd64.whl", "has_sig": false, "md5_digest": "d8ead84c5f396ccf45209e85ed47f32b", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 246519, "upload_time": "2019-09-27T20:55:33", "url": "https://files.pythonhosted.org/packages/f3/bf/93452b2750ab8900840b56bc172b8782fb1fe1c4524ef3cbf04cafdb251c/signatory-1.1.3-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "5664b809713a27e8f20dcceefaedbf19", "sha256": "6eb6dcf14dbd77c1447caf6c3d2683bb8e0a52b927da897dde01c148a29f0bf3" }, "downloads": -1, "filename": "signatory-1.1.3-cp36-cp36m-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "5664b809713a27e8f20dcceefaedbf19", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 228284, "upload_time": "2019-09-27T20:49:55", "url": "https://files.pythonhosted.org/packages/f6/5b/f203976427006c4c4dcd6b62c59ee1607fbc700e1273ca2c008980bf21aa/signatory-1.1.3-cp36-cp36m-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f3bf34d110791929b63013484e9f2444", "sha256": "02e6ba29c4c6a2522816f1dff1cd3ddec5422f81544b060a91c8d581935ca15c" }, "downloads": -1, "filename": "signatory-1.1.3-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "f3bf34d110791929b63013484e9f2444", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 250662, "upload_time": "2019-09-27T20:55:28", "url": "https://files.pythonhosted.org/packages/f6/7a/3197f4c917e4a5cce448cbac08bafa050c6255405340cb86d1e1181511d1/signatory-1.1.3-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "00562086e4683cebd38686803c230551", "sha256": "8b6a314df830c5c34812d30d43d7087cac4c4e3d9eda1bc1e59a828ec8c42792" }, "downloads": -1, "filename": "signatory-1.1.3-cp37-cp37m-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "00562086e4683cebd38686803c230551", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 228338, "upload_time": "2019-09-27T20:50:01", "url": "https://files.pythonhosted.org/packages/71/86/e92987b4194fa094e2581f04b4ccafb7f13017175381765c97f303ad351b/signatory-1.1.3-cp37-cp37m-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3ea9093cef34b11a4366bed17665c7e0", "sha256": "4d5d50d3ed6c93509d999e81c6ccdcc883dd6d7dd8c294c90dd72d9bde6a6327" }, "downloads": -1, "filename": "signatory-1.1.3-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "3ea9093cef34b11a4366bed17665c7e0", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 251951, "upload_time": "2019-09-27T20:55:18", "url": "https://files.pythonhosted.org/packages/07/74/510df9feba99ed97e7a05401789376578d1f45fabb584d7a5275d4e4b8db/signatory-1.1.3-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "c1d1ccbf143c7e46b5e6d93c9e6b21c2", "sha256": "cca07ac4fd4f680fb104683e0f256f032f2bcf3747e9caa5a6d8ab25f66b80fd" }, "downloads": -1, "filename": "signatory-1.1.3.tar.gz", "has_sig": false, "md5_digest": "c1d1ccbf143c7e46b5e6d93c9e6b21c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 43198, "upload_time": "2019-09-27T20:47:36", "url": "https://files.pythonhosted.org/packages/55/7a/b97fb8c2ddab25a0a0853ba1e4b28c6b38fc6670fd3b75d649cd4c1ba3cc/signatory-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "9f37ecabb6a74e08b87c14fec4c09778", "sha256": "824d78d0bb97e51e6e479b18910b0681a5aebce85386f09bacfad4d3ab1a4a09" }, "downloads": -1, "filename": "signatory-1.1.3-cp27-cp27m-macosx_10_6_x86_64.whl", "has_sig": false, "md5_digest": "9f37ecabb6a74e08b87c14fec4c09778", "packagetype": "bdist_wheel", "python_version": "cp27", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 229452, "upload_time": "2019-09-27T20:50:38", "url": "https://files.pythonhosted.org/packages/dd/7a/ac0719a16e2a6b4cb8b8e77700a7980b2ca278a561da4665e1aa02dfcfe6/signatory-1.1.3-cp27-cp27m-macosx_10_6_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "b9af6739557785b068d1730d562d5b3c", "sha256": "8e1bd547c8552cb99392837dcd099352e70d54ecb8be72d4f1dadba59925fce7" }, "downloads": -1, "filename": "signatory-1.1.3-cp35-cp35m-macosx_10_6_x86_64.whl", "has_sig": false, "md5_digest": "b9af6739557785b068d1730d562d5b3c", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 224158, "upload_time": "2019-09-27T20:50:26", "url": "https://files.pythonhosted.org/packages/3a/fb/25cffcb14f06702e9d1d8e7a602a7249e603a524e7201c7ad2ef05028f09/signatory-1.1.3-cp35-cp35m-macosx_10_6_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "d8ead84c5f396ccf45209e85ed47f32b", "sha256": "fce038d3f0336fed1fe010001c13d80aef7e47ab0b4e185fb44811838b6bdff0" }, "downloads": -1, "filename": "signatory-1.1.3-cp35-cp35m-win_amd64.whl", "has_sig": false, "md5_digest": "d8ead84c5f396ccf45209e85ed47f32b", "packagetype": "bdist_wheel", "python_version": "cp35", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 246519, "upload_time": "2019-09-27T20:55:33", "url": "https://files.pythonhosted.org/packages/f3/bf/93452b2750ab8900840b56bc172b8782fb1fe1c4524ef3cbf04cafdb251c/signatory-1.1.3-cp35-cp35m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "5664b809713a27e8f20dcceefaedbf19", "sha256": "6eb6dcf14dbd77c1447caf6c3d2683bb8e0a52b927da897dde01c148a29f0bf3" }, "downloads": -1, "filename": "signatory-1.1.3-cp36-cp36m-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "5664b809713a27e8f20dcceefaedbf19", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 228284, "upload_time": "2019-09-27T20:49:55", "url": "https://files.pythonhosted.org/packages/f6/5b/f203976427006c4c4dcd6b62c59ee1607fbc700e1273ca2c008980bf21aa/signatory-1.1.3-cp36-cp36m-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "f3bf34d110791929b63013484e9f2444", "sha256": "02e6ba29c4c6a2522816f1dff1cd3ddec5422f81544b060a91c8d581935ca15c" }, "downloads": -1, "filename": "signatory-1.1.3-cp36-cp36m-win_amd64.whl", "has_sig": false, "md5_digest": "f3bf34d110791929b63013484e9f2444", "packagetype": "bdist_wheel", "python_version": "cp36", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 250662, "upload_time": "2019-09-27T20:55:28", "url": "https://files.pythonhosted.org/packages/f6/7a/3197f4c917e4a5cce448cbac08bafa050c6255405340cb86d1e1181511d1/signatory-1.1.3-cp36-cp36m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "00562086e4683cebd38686803c230551", "sha256": "8b6a314df830c5c34812d30d43d7087cac4c4e3d9eda1bc1e59a828ec8c42792" }, "downloads": -1, "filename": "signatory-1.1.3-cp37-cp37m-macosx_10_7_x86_64.whl", "has_sig": false, "md5_digest": "00562086e4683cebd38686803c230551", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 228338, "upload_time": "2019-09-27T20:50:01", "url": "https://files.pythonhosted.org/packages/71/86/e92987b4194fa094e2581f04b4ccafb7f13017175381765c97f303ad351b/signatory-1.1.3-cp37-cp37m-macosx_10_7_x86_64.whl" }, { "comment_text": "", "digests": { "md5": "3ea9093cef34b11a4366bed17665c7e0", "sha256": "4d5d50d3ed6c93509d999e81c6ccdcc883dd6d7dd8c294c90dd72d9bde6a6327" }, "downloads": -1, "filename": "signatory-1.1.3-cp37-cp37m-win_amd64.whl", "has_sig": false, "md5_digest": "3ea9093cef34b11a4366bed17665c7e0", "packagetype": "bdist_wheel", "python_version": "cp37", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 251951, "upload_time": "2019-09-27T20:55:18", "url": "https://files.pythonhosted.org/packages/07/74/510df9feba99ed97e7a05401789376578d1f45fabb584d7a5275d4e4b8db/signatory-1.1.3-cp37-cp37m-win_amd64.whl" }, { "comment_text": "", "digests": { "md5": "c1d1ccbf143c7e46b5e6d93c9e6b21c2", "sha256": "cca07ac4fd4f680fb104683e0f256f032f2bcf3747e9caa5a6d8ab25f66b80fd" }, "downloads": -1, "filename": "signatory-1.1.3.tar.gz", "has_sig": false, "md5_digest": "c1d1ccbf143c7e46b5e6d93c9e6b21c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4", "size": 43198, "upload_time": "2019-09-27T20:47:36", "url": "https://files.pythonhosted.org/packages/55/7a/b97fb8c2ddab25a0a0853ba1e4b28c6b38fc6670fd3b75d649cd4c1ba3cc/signatory-1.1.3.tar.gz" } ] }