{ "info": { "author": "Erick Ponce Le\u00e3o", "author_email": "erickponceleao@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries" ], "description": "ApySignature\n============\n\nPython implementation of the Ruby Signature library\n(https://github.com/mloughran/signature)\n\nInstallation\n------------\n\n```\npip install apysignature\n```\n\nExamples\n--------\n\nClient example\n\n```python\nfrom apysignature import signature\nparams = {'some'='parameters'}\ntoken = signature.Token('my_key', 'my_secret')\nrequest = signature.Request('POST', '/api/thing', params)\nauth_hash = request.sign(token)\nquery_params = params.update(auth_hash)\n\nrequests.post('http://myservice/api/thing', data=query_params)\n```\n\n`query_params` looks like:\n\n```python\n{\n 'some'='parameters',\n 'auth_timestamp'=1273231888,\n 'auth_signature'='28b6bb0f242f71064916fad6ae463fe91f5adc302222dfc02c348ae1941eaf80',\n 'auth_version'='1.0',\n 'auth_key'='my_key'\n}\n```\n\nServer example (Django)\n\n```python\nfrom apysignature import signature\nauth_request = signature.Request(request.method, str(request.path), params)\npublic_key = params['auth_key']\ntoken = signature.Token(public_key, private_key)\ntry:\n auth_request.authenticate(token)\nexcept AuthenticationError as e:\n return HttpResponse('Unauthorized', status=401)\n\n # Do whatever you need to do\nend\n```\n\nCompatibility\n---------\n\nVersion > 0.2 is for Python 3\nuse < 0.2 for Python 2\n\n\nCopyright\n---------\n\nCopyright (c) 2014 Erick Ponce. See LICENSE for details.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/erickponce/apysignature", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "apysignature", "package_url": "https://pypi.org/project/apysignature/", "platform": "", "project_url": "https://pypi.org/project/apysignature/", "project_urls": { "Homepage": "https://github.com/erickponce/apysignature" }, "release_url": "https://pypi.org/project/apysignature/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "Python implementation of the Ruby Signature library (https://github.com/mloughran/signature)", "version": "0.2.1" }, "last_serial": 5218863, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "8ef6c603a2c613bd7bdfa2c9b306ea50", "sha256": "574b9dbce46713688115f5ce448c94ffba3ed63e8e69fa1e45e9aed76c794105" }, "downloads": -1, "filename": "apysignature-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "8ef6c603a2c613bd7bdfa2c9b306ea50", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 8002, "upload_time": "2019-05-02T17:37:14", "url": "https://files.pythonhosted.org/packages/c4/ea/2da87e2e0f430c196e4e8bdc9b24e4dd416f79fca1fc99711dca915c4092/apysignature-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "954304e2cf7688b67713d6b4e8baab57", "sha256": "4eac05dfe5ac03962f8b0ac89ae8ca8b1eda038f9c82bee4c73dd0bced86b878" }, "downloads": -1, "filename": "apysignature-0.1.1.tar.gz", "has_sig": false, "md5_digest": "954304e2cf7688b67713d6b4e8baab57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3655, "upload_time": "2016-05-04T13:31:55", "url": "https://files.pythonhosted.org/packages/1d/af/facc62957b3f0e9343f095c70a78817c37419c2b388c595ad66e3b4dadcb/apysignature-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "16613b557f186f837f14b74bd15a21f5", "sha256": "3681b942f820eadf4858f9552f2e44a34f13cd40859b4eb19305de52d2d3810d" }, "downloads": -1, "filename": "apysignature-0.1.2.tar.gz", "has_sig": false, "md5_digest": "16613b557f186f837f14b74bd15a21f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3654, "upload_time": "2016-05-04T13:34:48", "url": "https://files.pythonhosted.org/packages/29/89/b0cc2d5bae52ad6944468929aa20a0b2852c1b7824ab49accaee2d0ee33d/apysignature-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e960f9443d387726aa40e2270f9fd2be", "sha256": "416f97e8cc94d92438d2dbc7aedd194f2be979a47a405a72fd9b1d56809fffab" }, "downloads": -1, "filename": "apysignature-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e960f9443d387726aa40e2270f9fd2be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3861, "upload_time": "2016-05-04T13:38:08", "url": "https://files.pythonhosted.org/packages/0d/f3/1ad68f6c6782034bea98037488e388e6af800f41236dc5fd322d12ff948f/apysignature-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "289ab69683c75347b959da4cf9143458", "sha256": "4151fdc455a47cb331fad0d15b210bf69ac89b13e930a4577972b9e534fa019e" }, "downloads": -1, "filename": "apysignature-0.2.0.tar.gz", "has_sig": false, "md5_digest": "289ab69683c75347b959da4cf9143458", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3857, "upload_time": "2019-05-02T17:38:51", "url": "https://files.pythonhosted.org/packages/52/80/be497297becd5b7e8cfba88c2a0cef7c165bb3a15b8ce7f9703614ec98bc/apysignature-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "a3d4f0135c6349cc2bb29eb8028b4b86", "sha256": "42893cfd7b7823da0e1250f567e60957eb30ce1f41b0353236ab264e2440e9cd" }, "downloads": -1, "filename": "apysignature-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a3d4f0135c6349cc2bb29eb8028b4b86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3864, "upload_time": "2019-05-02T19:13:29", "url": "https://files.pythonhosted.org/packages/47/58/3cef34cdd4c49491aede67185078518a3c92f5b1ca4f59a8302292780a33/apysignature-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a3d4f0135c6349cc2bb29eb8028b4b86", "sha256": "42893cfd7b7823da0e1250f567e60957eb30ce1f41b0353236ab264e2440e9cd" }, "downloads": -1, "filename": "apysignature-0.2.1.tar.gz", "has_sig": false, "md5_digest": "a3d4f0135c6349cc2bb29eb8028b4b86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3864, "upload_time": "2019-05-02T19:13:29", "url": "https://files.pythonhosted.org/packages/47/58/3cef34cdd4c49491aede67185078518a3c92f5b1ca4f59a8302292780a33/apysignature-0.2.1.tar.gz" } ] }