{ "info": { "author": "James Arthur", "author_email": "username: thruflo, domain: gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Web Environment", "Framework :: Pylons", "Intended Audience :: Developers", "License :: Public Domain", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "[![Build Status](https://travis-ci.org/thruflo/pyramid_simpleauth.svg?branch=master)](https://travis-ci.org/thruflo/pyramid_simpleauth)\n\n[pyramid_simpleauth][] is a package that implements session based authentication\nand role based security for a [Pyramid][] web application.\n\nThere are many other auth implementations for Pyramid, including [apex][] and \n[pyramid_signup][] and you can, of course, easily roll your own, for example\nfollowing the excellent [pyramid_auth_demo][]. This package aims to be:\n\n* relatively simple: with a limited feature set\n* extensible: with event hooks and overrideable templates\n* performant: minimising db queries\n\n# Features\n\nIf you install the package and include it in your Pyramid application, it will\nlock down your application and expose views at:\n\n* /auth/signup\n* /auth/login\n* /auth/authenticate (login via AJAX)\n* /auth/logout\n* /auth/change\\_username\n* /auth/change\\_password\n* /auth/confirm (email confirmation)\n* /auth/prefer\\_email (set email as the user's preferred email)\n\nYou get a `user` instance and an `is_authenticated` flag added to the `request`:\n\n # e.g.: in a view callable\n if request.is_authenticated:\n display = request.user.username\n\nPlus `UserSignedUp`, `UserloggedIn`, `UserLoggedOut`, `UserChangedPassword`,\n`UserChangedUsername`, `EmailPreferred` and `EmailAddressConfirmed` events to\nsubscribe to:\n\n @subscriber(UserSignedUp)\n def my_event_handler(event):\n request = event.request\n user = event.user\n # e.g.: send confirmation email\n\nFlags at `request.is_post_login` and `request.is_post_signup`, stored in the session, \nthat allow you to test whether the current request is immediately after a login or \nsignup event. And a `request.user_json` property (useful to write into a template \nto pass data to the client side).\n\n`model.get_confirmation_link(request, email)` returns a `confirmation_link`\nthat will be accepted by `/auth/confirm` and that can typically be included in\nan email sent to a user who wish to validate an email address.\n\nThe `EmailAddressConfirmed` and `EmailPreferred` events give you access to the\n`Email` object as `event.data['email']`, eg:\n\n @subscriber(EmailAddressConfirmed)\n def email_address_confirmed(event):\n email_address = event.data['email'].address\n session = event.request.session\n session.flash(\"%s has been confirmed successfully\" % email_address)\n\n\n# Install\n\nInstall using `pip` or `easy_install`, e.g.:\n\n pip install pyramid_simpleauth\n\n# Configure\n\nInclude the package along with a session factory, `pyramid_tm` and `pyramid_basemodel`\nin the configuration portion of your Pyramid app:\n\n # Configure a session factory, here, we're using `pyramid_beaker`.\n config.include('pyramid_beaker')\n config.set_session_factory(session_factory_from_settings(settings))\n \n # Either include `pyramid_tm` or deal with committing transactions yourself.\n config.include('pyramid_tm')\n \n # Either include `pyramid_basemodel` and provide an `sqlalchemy.url` in your\n # `.ini` settings, or bind the SQLAlchemy models and scoped `Session` to a\n # database engine yourself.\n config.include('pyramid_basemodel')\n \n # Include the package.\n config.include('pyramid_simpleauth')\n\nThe signup and login forms inherit from a base layout template. You can override\nthis base layout template by writing your own, e.g.:\n\n # my_package:my_templates/layout.mako\n \n \n \n ${self.subtitle()}\n \n \n \n
\n ${next.body()}\n \n \n \n \nThen in your main app factory / package configuration use, e.g.:\n\n config.override_asset(to_override='pyramid_simpleauth:templates/layout.mako',\n override_with='my_package:my_templates/layout.mako')\n\nOr you can nuke the signup and login templates directly, e.g.:\n\n config.override_asset(to_override='pyramid_simpleauth:templates/signup.mako',\n override_with='my_package:my_templates/foo.mako')\n config.override_asset(to_override='pyramid_simpleauth:templates/login.mako',\n override_with='my_package:my_templates/bar.mako')\n\nTo change the url path for the authentication views, specify a \n`simpleauth.url_prefix` in your application's `.ini` configuration:\n\n # defaults to 'auth', resulting in urls that start with `/auth/...`\n simpleauth.url_prefix = 'another'\n\nYou can also specify where to redirect to after signup, login, logout, username\nchange, password change, email confirmation or preferred email selection. These\nare all configured using *route names*, with the route being provided the\nadditional traversal information of the user's username and an optional view\nname. (This means you can expose a simple named route, or a hybrid route, as\nyou prefer. The hybrid route will attempt traversal on the username).\n\nTo redirect to a different named route after signup / login or logout use:\n\n simpleauth.after_signup_route = 'another' # defaults to 'users'\n simpleauth.after_login_route = 'another' # defaults to 'index'\n simpleauth.after_logout_route = 'another' # defaults to 'index'\n\nNote that a `next` parameter passed to the login page, password\nchange page, username change page, email confirmation page or preferred email\nselection page will take precedence over the specific routes.\n\nTo redirect to a different route and view after login, password change, username\nchange, email confirmation or preferred email selection, use configuration\ndirectives such as:\n\n simpleauth.after_confirm_email_route = 'basepath' # defaults to 'users'\n simpleauth.after_confirm_email_view = 'viewname', # defaults to 'account'\n\nThis would redirect user bob to `/basepath/bob/viewname`. Redirect configuration\ndirectives for each of those views are named following the patterns\n`simpleauth.after__route` and `simpleauth.after__view`,\nwhere `` can be any of `login`, `change_username`,\n`change_password`, `confirm_email` and `prefer_email`.\n\nBe careful in the case of username change because if your `next` URL contains a\nusername, it won't be valid anymore after the username has changed, eg. if you\ninstruct the username change page to redirect to `/basepath/bob/viewname` but\nthe username changes to become alice, the redirect will cause a \"page not found\"\nerror. In this case, if you want to include a username in your custom redirect,\nyou should use the configuration-based redirect location will take into account\nthe new username.\n\nBy default the app redirects after signup to a route named 'users'. This is\nnot exposed by `pyramid_simpleauth` by default but the package does provide a \n`.tree.UserRoot` root factory that looks up `.model.User`s by username and a\ndefault `__acl__` property on the `.model.User` class. These are entirely\noptional: you can choose instead to use a different named route, or expose\na simple named route using, e.g.:\n\n config.add_route('users', 'some/path')\n\nHowever, if you want to use the machinery provided, with the baked in security\nand traversal, you can expose a user profile view, or perhaps a welcome page at \n`/users/:username` using, e.g.:\n\n config.add_route('users', 'users/*traverse', factory=UserRoot,\n use_global_views=True)\n\nTo avoid configuring the authorisation and authentication policies (e.g.: if you're\ngoing to set these up yourself) use:\n\n simpleauth.set_auth_policies = false\n\nTo avoid locking down your app to require a 'view' permission for all views by\ndefault (secure but perhaps draconian):\n\n simpleauth.set_default_permission = False\n\n# Tests\n\nI've only tested the package under Python 2.6 and 2.7 atm. It should work under\nPython 3 but I have problems installing the `passlib` dependency (or any decent\npassword encryption library) under Python 3.\n\nYou'll need `nose`, `coverage`, `mock` and `WebTest`. Then, e.g.:\n\n $ nosetests --cover-package=pyramid_simpleauth --cover-tests --with-doctest --with-coverage\n ..........................................\n Name Stmts Miss Cover Missing\n ---------------------------------------------------------\n pyramid_simpleauth 19 0 100% \n pyramid_simpleauth.events 26 0 100% \n pyramid_simpleauth.hooks 13 0 100% \n pyramid_simpleauth.model 56 0 100% \n pyramid_simpleauth.schema 83 0 100% \n pyramid_simpleauth.tests 197 0 100% \n pyramid_simpleauth.tree 18 0 100% \n pyramid_simpleauth.view 76 0 100% \n ---------------------------------------------------------\n TOTAL 488 0 100% \n ----------------------------------------------------------------------\n Ran 42 tests in 16.408s\n\n OK\n\n[apex]: https://github.com/cd34/apex\n[pyramid]: http://pyramid.readthedocs.org\n[pyramid_auth_demo]: https://github.com/mmerickel/pyramid_auth_demo\n[pyramid_signup]: https://github.com/sontek/pyramid_signup\n[pyramid_simpleauth]: http://github.com/thruflo/pyramid_simpleauth\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/thruflo/pyramid_simpleauth", "keywords": null, "license": "This is free and unencumbered software released into the public domain.", "maintainer": null, "maintainer_email": null, "name": "pyramid_simpleauth", "package_url": "https://pypi.org/project/pyramid_simpleauth/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pyramid_simpleauth/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/thruflo/pyramid_simpleauth" }, "release_url": "https://pypi.org/project/pyramid_simpleauth/0.10.1/", "requires_dist": null, "requires_python": null, "summary": "Session based authentication and role based security for a Pyramid web application.", "version": "0.10.1" }, "last_serial": 2084541, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "4a85fe1f9158c9e66003947bfded0ba3", "sha256": "b7bb722b9e23803682be5d467075f41dd89000ca8f8ba6f15ae83da7460bfbb4" }, "downloads": -1, "filename": "pyramid_simpleauth-0.1.tar.gz", "has_sig": false, "md5_digest": "4a85fe1f9158c9e66003947bfded0ba3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16436, "upload_time": "2012-03-22T16:58:22", "url": "https://files.pythonhosted.org/packages/28/d3/f81f4887da46b109a649d69fe202fef482d4c5aac350354e06c2fd07f5a6/pyramid_simpleauth-0.1.tar.gz" } ], "0.10": [ { "comment_text": "", "digests": { "md5": "91f8f7f35d3d9a96e0e5e27aabb87719", "sha256": "65ac0b9f706f8b76e1c2d01cff71d76befb512f2e564eb202211adad7d735ed7" }, "downloads": -1, "filename": "pyramid_simpleauth-0.10.tar.gz", "has_sig": false, "md5_digest": "91f8f7f35d3d9a96e0e5e27aabb87719", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28610, "upload_time": "2016-01-29T16:42:12", "url": "https://files.pythonhosted.org/packages/0b/94/78ea76cecc798896bdbc1e275baa9f4c8d9f467309dd39608983217a912e/pyramid_simpleauth-0.10.tar.gz" } ], "0.10.1": [ { "comment_text": "", "digests": { "md5": "969e4a5c4adbe1b733faa1592c3736ea", "sha256": "710c06e68c3d7a65e0f1bdc7e9f567ff306ac451267a53f8d0274025eed9c37f" }, "downloads": -1, "filename": "pyramid_simpleauth-0.10.1.tar.gz", "has_sig": false, "md5_digest": "969e4a5c4adbe1b733faa1592c3736ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28729, "upload_time": "2016-04-26T11:51:28", "url": "https://files.pythonhosted.org/packages/a6/ae/8b8c3adfe4ae3a41bc768794b0f75ee5e4044298a521db6c62c722273087/pyramid_simpleauth-0.10.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "d12a7a1339cee5589f6ef87c21a739c2", "sha256": "45dd29a9f8d6cab14a5c641a953ce86c095218aa08ff651be584bc86c9cdae00" }, "downloads": -1, "filename": "pyramid_simpleauth-0.2.tar.gz", "has_sig": false, "md5_digest": "d12a7a1339cee5589f6ef87c21a739c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17864, "upload_time": "2012-03-22T19:31:19", "url": "https://files.pythonhosted.org/packages/69/ad/3258ce1ba50cd89372187e2682b8020862eb6abc40f61d1204da6be55cab/pyramid_simpleauth-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "16f12b2b1f293e8d13d9a3ac2b81984c", "sha256": "aa40ae7d54eb4101ede14a65313219ed7f443f4e850f3d8ae4265939ad3cba80" }, "downloads": -1, "filename": "pyramid_simpleauth-0.2.1.tar.gz", "has_sig": false, "md5_digest": "16f12b2b1f293e8d13d9a3ac2b81984c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17832, "upload_time": "2012-04-01T21:15:21", "url": "https://files.pythonhosted.org/packages/dc/66/4a1d0a92023d14da8145238242474dab3f8685897c4a2970fbf681573671/pyramid_simpleauth-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "6de895f8c2a720846ef527ecc0bc56b3", "sha256": "758b1093fd9bc093fcf0ac0eec77c132f2e8232c74b8661a64323290b6bbe5e3" }, "downloads": -1, "filename": "pyramid_simpleauth-0.2.2.tar.gz", "has_sig": false, "md5_digest": "6de895f8c2a720846ef527ecc0bc56b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17089, "upload_time": "2012-04-12T12:56:05", "url": "https://files.pythonhosted.org/packages/74/3e/cc040bfdba81e54988aae60e7fa09b641e78447089d2a02d3f217e1509dc/pyramid_simpleauth-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "8bd89312bd50f3d709c3f9309d093f4a", "sha256": "ac51ce0f8f2a77dd0a8a9050fc7533105a8868ef1e4ea49884c8003ee93d102f" }, "downloads": -1, "filename": "pyramid_simpleauth-0.2.3.tar.gz", "has_sig": false, "md5_digest": "8bd89312bd50f3d709c3f9309d093f4a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18486, "upload_time": "2012-06-05T12:51:36", "url": "https://files.pythonhosted.org/packages/fd/e4/94e479a7b3b7154b9a8b4733ebe4fd87a8e8417deab8f88e7aefde12a85d/pyramid_simpleauth-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "5ccba874d4da967249e294367e58ec86", "sha256": "3b8fe29e213a4398c62188b473314821d873fb9f6e737aec66e2fda54536ede1" }, "downloads": -1, "filename": "pyramid_simpleauth-0.2.4.tar.gz", "has_sig": false, "md5_digest": "5ccba874d4da967249e294367e58ec86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18539, "upload_time": "2012-06-14T13:01:04", "url": "https://files.pythonhosted.org/packages/5d/da/e76e72fe354572b4838d722a6f37513775106957ba65b98a7564a0ff2f9e/pyramid_simpleauth-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "e9a7a5a74b61b089c0e4cf6133f8c58c", "sha256": "06912dd86ce2ec1752ada5c4616bf00eb0c54a0b20be94ca9716a0bcbf69bd05" }, "downloads": -1, "filename": "pyramid_simpleauth-0.2.5.tar.gz", "has_sig": false, "md5_digest": "e9a7a5a74b61b089c0e4cf6133f8c58c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18876, "upload_time": "2012-07-22T14:29:15", "url": "https://files.pythonhosted.org/packages/a0/77/011e5161041911592175fc56d58027380506bf6731b49f01324305ac61a8/pyramid_simpleauth-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "4ce8f39299c9496b9c68e366428894d8", "sha256": "5b9620d41b4f7b15d206b759dab48aef54f5e57549e828b1db6c2399a2aefc27" }, "downloads": -1, "filename": "pyramid_simpleauth-0.2.6.tar.gz", "has_sig": false, "md5_digest": "4ce8f39299c9496b9c68e366428894d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19229, "upload_time": "2012-07-22T14:54:42", "url": "https://files.pythonhosted.org/packages/b8/8a/77a665b73c38188cdd7325124f62d4123fe58c5dc5447cc4c33e08d6ad42/pyramid_simpleauth-0.2.6.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "6117d5d23423d8da1d0b80485a69c3f4", "sha256": "70f65edeec868717ac7927151b720d35459636ad30f783b766be151db0c6a3f3" }, "downloads": -1, "filename": "pyramid_simpleauth-0.3.tar.gz", "has_sig": false, "md5_digest": "6117d5d23423d8da1d0b80485a69c3f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22136, "upload_time": "2012-08-28T12:58:55", "url": "https://files.pythonhosted.org/packages/82/e3/aed935a753e1837669b2ca0467e7f0e07bad7dfafd2ce328843a98bb86a7/pyramid_simpleauth-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "75fe7dad4bdb0bee2a05fddfc8e42e0c", "sha256": "91b74745c30270726e5827ea80e356c1e4d66ad6c16fa03089b5d25bfb7f45be" }, "downloads": -1, "filename": "pyramid_simpleauth-0.3.1.tar.gz", "has_sig": false, "md5_digest": "75fe7dad4bdb0bee2a05fddfc8e42e0c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22143, "upload_time": "2012-08-28T13:00:00", "url": "https://files.pythonhosted.org/packages/5f/54/b9f9df14033ceff717002dcd9c52ef2a4260f89b213c5d731b9fe494b065/pyramid_simpleauth-0.3.1.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "f04d477ef2f67c6bf7c9c872e1de63c1", "sha256": "25312aa3fd41c2ebc44115daf585bcfcfa006b7cbc2f529eae8a4106a9f6f33b" }, "downloads": -1, "filename": "pyramid_simpleauth-0.4.tar.gz", "has_sig": false, "md5_digest": "f04d477ef2f67c6bf7c9c872e1de63c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22969, "upload_time": "2012-12-03T09:24:05", "url": "https://files.pythonhosted.org/packages/24/3e/be2394681621383221fa5f8dd4f50ad02810e9bab24f42993d5abcb11894/pyramid_simpleauth-0.4.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "3fb53a8248e483ae33bccff615452e0b", "sha256": "93558710a61bedaeb322f86cb0d93e1a539eb3a8aaabf64fcb2f9fd3a8a1ee6c" }, "downloads": -1, "filename": "pyramid_simpleauth-0.5.1.tar.gz", "has_sig": false, "md5_digest": "3fb53a8248e483ae33bccff615452e0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23821, "upload_time": "2013-05-07T11:16:24", "url": "https://files.pythonhosted.org/packages/17/1d/fb3d5915fd6e0fdc6d692c92415984d97197b639d6de5a01229c1f25de1a/pyramid_simpleauth-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "2b85e52f92d57e758fdaeab1acfb2ac9", "sha256": "87cb9d42349709f1864a5ca0b62ec72181d9425a66d5aaec6e25c69625232a62" }, "downloads": -1, "filename": "pyramid_simpleauth-0.5.2.tar.gz", "has_sig": false, "md5_digest": "2b85e52f92d57e758fdaeab1acfb2ac9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24446, "upload_time": "2013-05-08T08:48:49", "url": "https://files.pythonhosted.org/packages/ec/2e/52318103579788b51c4d09fd21206faec987b22974a2d917d394cc2227f2/pyramid_simpleauth-0.5.2.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "394c788981f8c3497cee6cf19ad19255", "sha256": "cd2e787b9714fa3b8ccce456e5992dfad60ee0ea698771699fefba9f24499bf7" }, "downloads": -1, "filename": "pyramid_simpleauth-0.6.tar.gz", "has_sig": false, "md5_digest": "394c788981f8c3497cee6cf19ad19255", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24778, "upload_time": "2013-05-14T08:39:36", "url": "https://files.pythonhosted.org/packages/8a/7c/33d74599cd1fbdf594731f8585905205cb056f73c56bf5852ac19a5cf025/pyramid_simpleauth-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "4ca831d1ab735c4a216885b2315a38eb", "sha256": "f1913b2ea6d13e1f8dfa67ecac2cad74f613c58919b9f8973c256d1f6f57e311" }, "downloads": -1, "filename": "pyramid_simpleauth-0.7.tar.gz", "has_sig": false, "md5_digest": "4ca831d1ab735c4a216885b2315a38eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24921, "upload_time": "2013-09-11T14:32:34", "url": "https://files.pythonhosted.org/packages/14/c4/7cc62a3f19d42d15f901828eaa627ebc51dd966e077ca91295b9df539591/pyramid_simpleauth-0.7.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "4bdb1dd9fdd8d816d824f1e0c48918c9", "sha256": "4e3b7853c57298fc49a4e20b0d62265605d7c356d75482a35eb932b225efa2ad" }, "downloads": -1, "filename": "pyramid_simpleauth-0.7.1.tar.gz", "has_sig": false, "md5_digest": "4bdb1dd9fdd8d816d824f1e0c48918c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24260, "upload_time": "2014-10-16T11:44:18", "url": "https://files.pythonhosted.org/packages/fe/4d/73f645fcc4160819463880512f4df252176b6946e413efd7c56ecd728570/pyramid_simpleauth-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "a9d1f6dc972b697489a2c90de5875cb6", "sha256": "81fc260bf56f6c02bd41e3d806fe73f0eb88d9cb3a6c9711868cbee74225d38a" }, "downloads": -1, "filename": "pyramid_simpleauth-0.7.2.tar.gz", "has_sig": false, "md5_digest": "a9d1f6dc972b697489a2c90de5875cb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23483, "upload_time": "2015-07-23T12:52:28", "url": "https://files.pythonhosted.org/packages/f9/13/7f81eb20b7532510a469912b6e3670a94f204c3cafbedc3b036bc4fa0989/pyramid_simpleauth-0.7.2.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "5953b06491ca227cfea1794ddd42ed9e", "sha256": "8f50006188e60a7d6dbb11f75ad948b37f0292ff9b09156dfb28cc6a59a0c3fc" }, "downloads": -1, "filename": "pyramid_simpleauth-0.8.tar.gz", "has_sig": false, "md5_digest": "5953b06491ca227cfea1794ddd42ed9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27817, "upload_time": "2015-09-19T22:58:58", "url": "https://files.pythonhosted.org/packages/2b/73/c4c3b4b45769009f7579343f49492a1c13b11c3952227f7cff2b63826e25/pyramid_simpleauth-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "e02fd967f834d15759ff07d6937430c9", "sha256": "08e54cbf45b488f2b011118f3f67f38503cdd82df712c0607eae8cbf63fb54f1" }, "downloads": -1, "filename": "pyramid_simpleauth-0.9.tar.gz", "has_sig": false, "md5_digest": "e02fd967f834d15759ff07d6937430c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28328, "upload_time": "2016-01-14T15:57:54", "url": "https://files.pythonhosted.org/packages/6c/94/e002adab272f30c3aae03cb3b2b3f8d279299a0d0bc3b193eb71825248d5/pyramid_simpleauth-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "969e4a5c4adbe1b733faa1592c3736ea", "sha256": "710c06e68c3d7a65e0f1bdc7e9f567ff306ac451267a53f8d0274025eed9c37f" }, "downloads": -1, "filename": "pyramid_simpleauth-0.10.1.tar.gz", "has_sig": false, "md5_digest": "969e4a5c4adbe1b733faa1592c3736ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28729, "upload_time": "2016-04-26T11:51:28", "url": "https://files.pythonhosted.org/packages/a6/ae/8b8c3adfe4ae3a41bc768794b0f75ee5e4044298a521db6c62c722273087/pyramid_simpleauth-0.10.1.tar.gz" } ] }