{ "info": { "author": "Entr'ouvert", "author_email": "info@entrouvert.org", "bugtrack_url": null, "classifiers": [], "description": "django-mellon\n=============\n\nSAML 2.0 authentication for Django\n\nUsage\n=====\n\nYou need to have the Python binding for the Lasso library installed, you can\nfind source and package for Debian on http://lasso.entrouvert.org/download/.\n\nAdd mellon to your installed apps::\n\n INSTALLED_APPS = (\n ...\n 'mellon',\n )\n\nAdd the SAMLBacked to your authentication backends::\n\n AUTHENTICATION_BACKENDS = (\n ...\n 'mellon.backends.SAMLBackend',\n )\n\nAdd mellon urls to your urls::\n\n urlpatterns = patterns('',\n ...\n url(r'^/accounts/mellon/', include('mellon.urls')),\n )\n\nIf SAML 2.0 should be your only authentication method you can define `mellon_login` as you main `LOGIN_URL`::\n\n LOGIN_URL = 'mellon_login'\n LOGOUT_URL = 'mellon_logout'\n\nYour metadata will be downloadable through HTTP on \n\n http://whatever.example.net/accounts/mellon/metadata\n\nIf your identity provider ask for your assertion consumer URL it's on\n\n http://whatever.example.net/accounts/mellon/login\n\nIf your identity provider ask for your logout URL it's on\n\n http://whatever.example.net/accounts/mellon/logout\n\nSession\n=======\n\nAfter an authentication attributes are stored in the session using a\ndictionary, the key is `mellon_session`. The dictionary contains:\n\n - issuer: the EntityID of the identity provider\n - name_id_content: the value of the NameID\n - name_id_format: the format of the NameID\n - authn_instant: the ISO8601 date of the authentication on the identity provider, optional.\n - session_not_on_or_after: the ISO8691 date after which the local\n session should be closed. Note that we automatically set the\n expiration of the Django session to this value if it's available.\n - authn_context_class_ref: the authentication method of the current\n authentication on the identity provider. You can restrict\n authorized authentication methods using the setting\n `MELLON_AUTHN_CLASSREF`.\n - all attributes extracted from the assertion.\n\nSettings\n========\n\nAll generic setting apart from `MELLON_IDENTITY_PROVIDERS` can be\noverridden in the identity provider settings by removing the\n`MELLON_` prefix.\n\nMELLON_IDENTITY_PROVIDERS\n-------------------------\n\nA list of dictionaries, they must contain at least one of the keys `METADATA`\n(inline copy of the identity provider metadata), `METADATA_URL` URL of the IdP\nmetadata file, or `METADATA_PATH` an absolute path to the IdP metadata file..\nAll other keys are override of generic settings.\n\nWhen using an URL, the URL is automatically cached in the `MEDIA_ROOT`\ndirectory of your application in the directory named `mellon_metadata_cache`.\nIf you restart the application and the URL is unavailable, the file cache will\nbe used. The cache will be refreshed every `MELLON_METADATA_CACHE_TIME` seconds.\nIf the HTTP retrieval of the metadata URL takes longer thant\n`METTON_METADATA_HTTP_TIMEOUT` seconds, retrieval will be skipped.\n\nWhen the cache is already loaded, retrievals are done in the background by a\nthread.\n\nWhen using a local absolute path, the metadata is reloaded each time the\nmodification time of the file is superior to the last time it was loaded.\n\nMELLON_PUBLIC_KEYS\n------------------\n\nList of public keys of this service provider, add multiple keys for\ndoing key roll-over\n\nMELLON_PRIVATE_KEY\n------------------\n\nThe PKCS#8 PEM encoded private key. If neither MELLON_PRIVATE_KEYS and\nMELLON_PRIVATE_KEY are set, request will not be signed.\n\nMELLON_PRIVATE_KEY_PASSWORD\n---------------------------\n\nPassword for the private key if needed, default is None\n\nMELLON_PRIVATE_KEYS\n-------------------\n\nA list of private keys contained in strings (same format ass\nMELLON_PRIVATE_KEY) or of tuple paris (private_key, private_key_password). If\nMELLON_PRIVATE_KEY is None, the first key in MELLON_PRIVATE_KEYS will be used\nto sign messages. Other keys are only for decrypting encrypted assertions. If\nthe same key appear in MELLON_PRIVATE_KEY and MELLON_PRIVATE_KEYS it will be\nignored the second time. If neither MELLON_PRIVATE_KEYS and MELLON_PRIVATE_KEY\nare set, request will not be signed.\n\nMELLON_NAME_ID_FORMATS\n----------------------\n\nNameID formats to advertise in the metadata file, default is ().\n\nMELLON_NAME_ID_POLICY_FORMAT\n----------------------------\n\nThe NameID format to request, default is None.\n\nMELLON_FORCE_AUTHN\n------------------\n\nWhether to force authentication on each authencation request,\ndefault is False.\n\nMELLON_ADAPTER\n--------------\n\nA list of class providings methods handling SAML authorization, user\nlookup and provisioning. Optional methods on theses classes are\n\n - authorize(idp, saml_attributes) -> boolean\n\n If any adapter returns False, the authentication is refused. It's\n possible to raise PermissionDenied to show a specific message on\n the login interface.\n\n - lookup_user(idp, saml_attributes) -> User / None\n\n Each adapter is called in the order of the settings, the first\n return value which is not None is kept as the authenticated user.\n\n - provision(user, idp, saml_attributes -> None\n\n This method is there to fill an existing user fields with data\n from the SAML attributes or to provision any kind of object in the\n application.\n\nSettings of the default adapter\n===============================\n\nThe following settings are used by the default adapter\n`mellon.adapters.DefaulAdapter` if you use your own adapter you can\nignore them. If your adapter inherit from the default adapter those\nsettings can still be applicable.\n\nMELLON_REALM\n------------\n\nThe default realm to associate to user created with the default\nadapter, default is 'saml'.\n\nMELLON_PROVISION\n----------------\n\nWhether to create user if their username does not already exists,\ndefault is True.\n\nMELLON_USERNAME_TEMPLATE\n------------------------\n\nThe template to build and/or retrieve a user from its username based\non received attributes, the syntax is the one from the str.format()\nmethod of Python. Available variables are:\n\n - realm\n - idp (current setting for the idp issuing the assertion)\n - attributes\n\nThe default value is `{attributes{name_id_content]}@realm`.\n\nAnother example could be `{atttributes[uid][0]}` to set the passed\nusername as the username of the newly created user.\n\nMELLON_ATTRIBUTE_MAPPING\n------------------------\n\nMaps templates based on SAML attributes to field of the user model.\nDefault is {}. To copy standard LDAP attributes into your Django user\nmodel could for example do that::\n\n MELLON_ATTRIBUTE_MAPPING = {\n 'email': '{attributes[mail][0]',\n 'first_name': '{attributes[gn][0]}',\n 'last_name': '{attributes[sn][0]}',\n }\n\nMELLON_SUPERUSER_MAPPING\n------------------------\n\nAttributes superuser flags to user if a SAML attribute contains a given value,\ndefault is {}. Ex.::\n\n MELLON_SUPERUSER_MAPPING = {\n 'roles': 'Admin',\n }\n\nMELLON_AUTHN_CLASSREF\n---------------------\n\nAuthorized authentication class references, default is (). Empty\nvalue means everything is authorized. Authentication class reference\nmust be obtained from your identity provider but SHOULD come from the\nSAML 2.0 specification.\n\nMELLON_GROUP_ATTRIBUTE\n----------------------\n\nName of the SAML attribute to map to Django group names, default is None. Ex.::\n\n MELLON_GROUP_ATTRIBUTE = 'role'\n\nMELLON_CREATE_GROUP\n-------------------\n\nWhether to create group or only assign existing groups, default is True.\n\nMELLON_ERROR_URL\n----------------\n\nURL for the continue link when authentication fails, default is\nNone. If not ERROR_URL is None, the RelayState is used. If there is\nno RelayState, the LOGIN_REDIRECT_URL, which defaults to /, is used.\n\nMELLON_ERROR_REDIRECT_AFTER_TIMEOUT\n-----------------------------------\n\nTimeout in seconds before automatically redirecting the user to the\ncontinue URL when authentication has failed. Default is 120 seconds.\n\nMELLON_VERIFY_SSL_CERTIFICATE\n-----------------------------\n\nVerify SSL certificate when doing HTTP requests, used when resolving artifacts.\nDefault is True.\n\nMELLON_TRANSIENT_FEDERATION_ATTRIBUTE\n-------------------------------------\n\nName of an attribute to use in replacement of the NameID content when the NameID\nformat is transient. Without it no login using a transient NameID can occur with\nthe default adapter.\nDefault is None.\n\nMELLON_DEFAULT_ASSERTION_CONSUMER_BINDING\n-----------------------------------------\n\nShould be post or artifact. Default is post. You can refer to the SAML 2.0\nspecification to learn the difference.\n\nMELLON_LOOKUP_BY_ATTRIBUTES\n---------------------------\n\nAllow looking for user with some SAML attributes if the received NameID is\nstill unknown. It must be a list of dictionnaries with two mandatory keys\n`user_field` and `saml_attribute`. The optionnal key `ignore-case` should be a\nboolean indicating if the match is case-insensitive (default is to respect the\ncase).\n\nEach dictionnary is a rule for linking, applying all the rules should only\nreturn one user, the boolean operator OR is applied between the rules.\n\nSo for example if you received a SAML attribute named `email` and you want to\nlink user with the same email you would configured it like that::\n\n MELLON_LOOKUP_BY_ATTRIBUTES = [\n {\n 'saml_attribute': 'email',\n 'user_field': 'email',\n }\n ]\n\nThe targeted user(s) field(s) should be as much as possible unique\nindividually, if not django-mellon will refuse to link multiple users matching\nthe rules.\n\nMELLON_METADATA_CACHE_TIME\n--------------------------\n\nWhen using METADATA_URL to reference a metadata file, it's the duration in\nsecondes between refresh of the metadata file. Default is 3600 seconds, 1 hour.\n\nMETTON_METADATA_HTTP_TIMEOUT\n----------------------------\n\nTimeout in seconds for HTTP call made to retrieve metadata files. Default is 10\nseconds.\n\nTests\n=====\n\nUnit tests are written using pytest and launched using tox, and can be run with:\n\n tox\n\nRemarks\n=======\n\nTo honor the SessionNotOnOrAfter attribute sent by an IdP you must use a specific SessionEngine,\nonly db and cached_db are supported currently, the equivalent session engines are:\n\n mellon.sessions_backends.db\n\nand\n\n mellon.sessions_backends.cached_db\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://dev.entrouvert.org/projects/django-mellon/", "keywords": "", "license": "AGPLv3 or later", "maintainer": "", "maintainer_email": "", "name": "django-mellon", "package_url": "https://pypi.org/project/django-mellon/", "platform": "", "project_url": "https://pypi.org/project/django-mellon/", "project_urls": { "Homepage": "http://dev.entrouvert.org/projects/django-mellon/" }, "release_url": "https://pypi.org/project/django-mellon/1.10.1/", "requires_dist": [ "django (<2.3,>=1.7)", "requests", "isodate", "atomicwrites" ], "requires_python": "", "summary": "SAML 2.0 authentication for Django", "version": "1.10.1" }, "last_serial": 5971726, "releases": { "1.10.1": [ { "comment_text": "", "digests": { "md5": "c5f5673fdd6c57e9179a9c718b89b724", "sha256": "3ac579a079bf45d03da9a17b5da7b7980828f0e83f4a6309a9e3ea84c3b30d54" }, "downloads": -1, "filename": "django_mellon-1.10.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5f5673fdd6c57e9179a9c718b89b724", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34710, "upload_time": "2019-10-14T14:00:13", "url": "https://files.pythonhosted.org/packages/ee/76/1615e1105dac77b915dfc7868c0d4c48a871d55ead854b2a8bad219ef89d/django_mellon-1.10.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80d703d8097c59fd6899c9cd245fbd9c", "sha256": "9cfc8eca699271e3a46b01975a2ac4c508e9f5aebde13cdb6f570e90e8f5a326" }, "downloads": -1, "filename": "django-mellon-1.10.1.tar.gz", "has_sig": false, "md5_digest": "80d703d8097c59fd6899c9cd245fbd9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45931, "upload_time": "2019-10-14T14:00:15", "url": "https://files.pythonhosted.org/packages/bf/99/2555a47adf145eddb5d93b895b8b2d632f32e9add0b65107d38948413ec1/django-mellon-1.10.1.tar.gz" } ], "1.2.12": [ { "comment_text": "", "digests": { "md5": "022ff844bff1c47d3ee56fa14fe793e3", "sha256": "5b056552a77b35ffe88451e7b7fd7472e9b50cff163160bf8418c1eaf5d5de8c" }, "downloads": -1, "filename": "django-mellon-1.2.12.tar.gz", "has_sig": false, "md5_digest": "022ff844bff1c47d3ee56fa14fe793e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13669, "upload_time": "2015-03-17T18:03:12", "url": "https://files.pythonhosted.org/packages/5b/21/17c315e241bbfd121a5462cf2c9a3d18444372ce33c5baf678469958d1b4/django-mellon-1.2.12.tar.gz" } ], "1.2.13": [ { "comment_text": "", "digests": { "md5": "2088ac9814b987f58d73d94c7e2c92dd", "sha256": "74eeebd3f04fd3d06886436ace353b2d9b5bb535e320469496973051389b9b6c" }, "downloads": -1, "filename": "django-mellon-1.2.13.tar.gz", "has_sig": false, "md5_digest": "2088ac9814b987f58d73d94c7e2c92dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13677, "upload_time": "2015-03-18T09:35:25", "url": "https://files.pythonhosted.org/packages/9d/39/9afeb798ba1fc1e1f624f1d28a91028b3a3ac60586ea292bdae32dde616a/django-mellon-1.2.13.tar.gz" } ], "1.2.14": [ { "comment_text": "", "digests": { "md5": "283f93b0291237cfde3cb0ddec233b44", "sha256": "346de1155968458a5ab3390568e6481e8883f4c900a67bd373e0dfb725cc3843" }, "downloads": -1, "filename": "django-mellon-1.2.14.tar.gz", "has_sig": false, "md5_digest": "283f93b0291237cfde3cb0ddec233b44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13681, "upload_time": "2015-03-18T09:44:29", "url": "https://files.pythonhosted.org/packages/4d/68/f30c3cc178f6d69b0744188aebb6b22efabffd7de6de3e18f67947c7d5aa/django-mellon-1.2.14.tar.gz" } ], "1.2.15": [ { "comment_text": "", "digests": { "md5": "07e0c16f328a7e65e6c623832e281eed", "sha256": "58ab4cd765a12fe8a84354979ec76e10cbfd3cbad98acaef71e45d5548572414" }, "downloads": -1, "filename": "django-mellon-1.2.15.tar.gz", "has_sig": false, "md5_digest": "07e0c16f328a7e65e6c623832e281eed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16716, "upload_time": "2015-06-04T13:36:45", "url": "https://files.pythonhosted.org/packages/08/3e/fd147fdf0351130d8b4da433f081f112cd25d059a4093e186cd9c5413a4e/django-mellon-1.2.15.tar.gz" } ], "1.2.16": [ { "comment_text": "", "digests": { "md5": "9bd7df59ebd2674e06c5a764f5832fd9", "sha256": "b826b1dd783c03d1d9cfeeccb14a8a6eb7a8f7606e3af0d7a97f83ea8d45df2e" }, "downloads": -1, "filename": "django-mellon-1.2.16.tar.gz", "has_sig": false, "md5_digest": "9bd7df59ebd2674e06c5a764f5832fd9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17745, "upload_time": "2015-06-05T19:48:05", "url": "https://files.pythonhosted.org/packages/d7/95/a2d4350f2370a02b470a02b5d3b562725a27efe215accd5c0dd0ee11a99c/django-mellon-1.2.16.tar.gz" } ], "1.2.18": [ { "comment_text": "", "digests": { "md5": "23e2506a2801762a88865e65c5785694", "sha256": "c693b3645328899e44f477548b730eb978af9c8c7ce3da80e9a58be4ea0b90fe" }, "downloads": -1, "filename": "django-mellon-1.2.18.tar.gz", "has_sig": false, "md5_digest": "23e2506a2801762a88865e65c5785694", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18737, "upload_time": "2015-09-30T07:35:40", "url": "https://files.pythonhosted.org/packages/ca/13/53b80bc70bc7a7ae44a605fd490023c7046dc60c7cc6ab473fedd84f2201/django-mellon-1.2.18.tar.gz" } ], "1.2.21": [ { "comment_text": "", "digests": { "md5": "cb43863eab96d08e207de06e9ba86037", "sha256": "31097c2a6d21469769e41933858b09175438f24c13c033e80f12da351aa2aaab" }, "downloads": -1, "filename": "django-mellon-1.2.21.tar.gz", "has_sig": false, "md5_digest": "cb43863eab96d08e207de06e9ba86037", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19186, "upload_time": "2015-12-17T10:07:29", "url": "https://files.pythonhosted.org/packages/16/77/03f98c1a8927ec6f0f534bf11b2f1ce9f92368d45abf05bc7ba91561b330/django-mellon-1.2.21.tar.gz" } ], "1.2.22": [ { "comment_text": "", "digests": { "md5": "bfe6929a38760530cbd5d6f6872fb374", "sha256": "8a13d3600a1611fbf5bed1ab07fb31e5c37cdc55616350d268d753f9e5bd0a12" }, "downloads": -1, "filename": "django-mellon-1.2.22.tar.gz", "has_sig": false, "md5_digest": "bfe6929a38760530cbd5d6f6872fb374", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19611, "upload_time": "2016-01-27T15:52:18", "url": "https://files.pythonhosted.org/packages/0e/e2/08747848d18aae97016965b9adbfd0abaa603eabc2903afbf6961a95c0d1/django-mellon-1.2.22.tar.gz" } ], "1.2.23": [ { "comment_text": "", "digests": { "md5": "072b148a1c340922cee08fca6685ea3b", "sha256": "f0fff07040bd3e4e95570879d69663f8bb997560a3fd49a1574f037f1db3dcb9" }, "downloads": -1, "filename": "django-mellon-1.2.23.tar.gz", "has_sig": false, "md5_digest": "072b148a1c340922cee08fca6685ea3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27997, "upload_time": "2016-03-02T20:01:28", "url": "https://files.pythonhosted.org/packages/7c/bf/137c5c45ae5f850b8e8498e75c0ef2d2e57977a2b3e022c17967bd8dbdc1/django-mellon-1.2.23.tar.gz" } ], "1.2.26": [ { "comment_text": "", "digests": { "md5": "882e954ecfc8355ca8a342f78ae8e421", "sha256": "d50a236a5b030077f6e3eb355b2277c1365af4b836eef468345c7918e3d927db" }, "downloads": -1, "filename": "django-mellon-1.2.26.tar.gz", "has_sig": false, "md5_digest": "882e954ecfc8355ca8a342f78ae8e421", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33494, "upload_time": "2016-04-27T08:03:38", "url": "https://files.pythonhosted.org/packages/9a/a5/ed4606c8ea8f1b6caef4dd6dd7dcae510212fdab1b13bca482cad4fc79fe/django-mellon-1.2.26.tar.gz" } ], "1.2.29": [ { "comment_text": "", "digests": { "md5": "444de0905f5c90a873586afcdb1d631c", "sha256": "8f3e9f79540b1c6da97a5de2ad3121881cfbecd3b0ad1e044b89b32aff9d43bc" }, "downloads": -1, "filename": "django-mellon-1.2.29.tar.gz", "has_sig": false, "md5_digest": "444de0905f5c90a873586afcdb1d631c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36187, "upload_time": "2016-09-23T09:58:30", "url": "https://files.pythonhosted.org/packages/ba/05/82914f7eb52eaaa8156ddc7f137be6099f9803ec0ceea18735ae8985a982/django-mellon-1.2.29.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "15d101cd0496b20c0c15d299c675abaf", "sha256": "bb84de5e82d306324f27df819c28d40e6723b7150132e384b8c534f87cc3f5fc" }, "downloads": -1, "filename": "django-mellon-1.2.3.tar.gz", "has_sig": false, "md5_digest": "15d101cd0496b20c0c15d299c675abaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13119, "upload_time": "2014-09-05T13:07:14", "url": "https://files.pythonhosted.org/packages/23/af/42c486cb1d09e6d29d48b6d97a421e1fab2e62640ebb22faf890289ea286/django-mellon-1.2.3.tar.gz" } ], "1.2.32": [ { "comment_text": "", "digests": { "md5": "df6d0ed4a81ca9cda5ab5403e28d043c", "sha256": "dbdac2a5aa408b848717ae5fb68859c44efa30fbf36ab5a98783afc2982a37e4" }, "downloads": -1, "filename": "django-mellon-1.2.32.tar.gz", "has_sig": false, "md5_digest": "df6d0ed4a81ca9cda5ab5403e28d043c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32682, "upload_time": "2017-05-06T08:15:59", "url": "https://files.pythonhosted.org/packages/35/2c/27e3cd65c40f04cc6a39a12213af65fc60b948ecce5bd7030cfb2439d992/django-mellon-1.2.32.tar.gz" } ], "1.2.34": [ { "comment_text": "", "digests": { "md5": "082a6ca792280c94e039add478685596", "sha256": "60823903e6f74d11ecf26d18fe1ecb7c134c8bde78ea54912627097164130ec8" }, "downloads": -1, "filename": "django-mellon-1.2.34.tar.gz", "has_sig": false, "md5_digest": "082a6ca792280c94e039add478685596", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36208, "upload_time": "2017-11-22T15:35:50", "url": "https://files.pythonhosted.org/packages/ea/1f/272962178cb776e30012b7b83d7ebaa7e9d982328411d473ec3e792a1be9/django-mellon-1.2.34.tar.gz" } ], "1.2.35": [ { "comment_text": "", "digests": { "md5": "4e8284600cfdb0fb7f837dc62805fdb6", "sha256": "a30dc19361953381cc0cc4cbc6bcffa79877a6afd05950cf92e7b138c6b795e3" }, "downloads": -1, "filename": "django-mellon-1.2.35.tar.gz", "has_sig": false, "md5_digest": "4e8284600cfdb0fb7f837dc62805fdb6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33134, "upload_time": "2018-05-10T13:40:34", "url": "https://files.pythonhosted.org/packages/e3/3f/f726acc19329c467317f26368b7b97dd0cd6b63758bcfc31cd1b76275715/django-mellon-1.2.35.tar.gz" } ], "1.2.38": [ { "comment_text": "", "digests": { "md5": "ade5db39dda2e6b4feb7a80f5d799cf1", "sha256": "bb6dd9d22e681cf36ec2f40e6368ef975c2346fa5a8ed5ec34f691460eba37a3" }, "downloads": -1, "filename": "django-mellon-1.2.38.tar.gz", "has_sig": false, "md5_digest": "ade5db39dda2e6b4feb7a80f5d799cf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35822, "upload_time": "2018-11-22T21:42:36", "url": "https://files.pythonhosted.org/packages/b9/2c/62f5fbfdea29f6aa6360a60ebfd2cccef307f25df78089aea2e82455bf9d/django-mellon-1.2.38.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "6c94f98b0026ce314ae8c341d9d3a40a", "sha256": "6f1faa05b40b23297f1c5bd297e8d16dd40dada6ba2fd482700f0116cad516f1" }, "downloads": -1, "filename": "django-mellon-1.2.4.tar.gz", "has_sig": false, "md5_digest": "6c94f98b0026ce314ae8c341d9d3a40a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13118, "upload_time": "2014-09-05T14:14:08", "url": "https://files.pythonhosted.org/packages/40/d0/ceb52f1b3b05175bfeba92e0688590038e894f9d2e09e466586574686ff4/django-mellon-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "a0f6050a338aafb2ee2c5184dffc6f98", "sha256": "276856c4f8ccd24ac8de2c4d368da31fed536e3709aa159316b23457d7a98125" }, "downloads": -1, "filename": "django-mellon-1.2.5.tar.gz", "has_sig": false, "md5_digest": "a0f6050a338aafb2ee2c5184dffc6f98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13121, "upload_time": "2014-09-08T07:36:13", "url": "https://files.pythonhosted.org/packages/fd/95/9b8212e98bcde16012124129718ecf3da4d056c84ac8395dd84da649ffad/django-mellon-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "6ce60a988ba793624cf9e1c50252c80c", "sha256": "41787ff4f7197c3b8c25e93f5c47abb5108a5adab186c332f3a0fd2a6506d79f" }, "downloads": -1, "filename": "django-mellon-1.2.6.tar.gz", "has_sig": false, "md5_digest": "6ce60a988ba793624cf9e1c50252c80c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13157, "upload_time": "2014-11-17T15:33:47", "url": "https://files.pythonhosted.org/packages/67/0f/0d38c70c414a807c7d17945237b27488d963c4fd88652e90722d1a46ac06/django-mellon-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "05f097fd23a920ed09648a6139ab2a51", "sha256": "2bad52d461aeefd34e6932d345f02b245523090a02f55976894d76e70601416c" }, "downloads": -1, "filename": "django-mellon-1.2.7.tar.gz", "has_sig": false, "md5_digest": "05f097fd23a920ed09648a6139ab2a51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13524, "upload_time": "2014-12-05T01:18:06", "url": "https://files.pythonhosted.org/packages/86/fe/62820f77136fa5862b8de420b9f3240879a00d4c9fd042b539242d08f78b/django-mellon-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "6a6636b37bc74cd8380fd9f551baf936", "sha256": "c5b7f252b65ca034d08fdaaa086b3bf476edeea6bac7a25a1accba8f79681302" }, "downloads": -1, "filename": "django-mellon-1.2.8.tar.gz", "has_sig": false, "md5_digest": "6a6636b37bc74cd8380fd9f551baf936", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13561, "upload_time": "2014-12-08T23:35:13", "url": "https://files.pythonhosted.org/packages/bb/1e/6fa0052c718af48eb7fa3897e4c802eb830ac727db78e1fdf6a353cb9b4b/django-mellon-1.2.8.tar.gz" } ], "1.2.9": [ { "comment_text": "", "digests": { "md5": "a40c5b9e7a66db07dbbe7f505571d5c3", "sha256": "2bcf87d978b0de5d639b1cb315480e6bb41795382a97846229f88ebe3511ea98" }, "downloads": -1, "filename": "django-mellon-1.2.9.tar.gz", "has_sig": false, "md5_digest": "a40c5b9e7a66db07dbbe7f505571d5c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13524, "upload_time": "2014-12-09T09:39:46", "url": "https://files.pythonhosted.org/packages/56/57/4024708240ba23cb3b04a0485cfbaf72762811b09ff50bf5f45165d4ed80/django-mellon-1.2.9.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "80b14586f3d56d02922a9fff6d1eaad1", "sha256": "b71df4dc570a14e1a0e97be3e9a9d3007b4011f5fe575d89e8792a03b76067dd" }, "downloads": -1, "filename": "django-mellon-1.6.tar.gz", "has_sig": false, "md5_digest": "80b14586f3d56d02922a9fff6d1eaad1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40691, "upload_time": "2019-09-22T09:12:30", "url": "https://files.pythonhosted.org/packages/cf/1e/e3580682a9b5939ffe44ac09fb8481eb98ca3c34b9c2438a50069059faf6/django-mellon-1.6.tar.gz" } ], "1.6.1": [ { "comment_text": "", "digests": { "md5": "b6138edb08808d2c8430517fcdbb33b0", "sha256": "f2645d71bb063cf2b90de66bb31bdf17a9bf7e37fb6d68fdaf35e8625044e0d8" }, "downloads": -1, "filename": "django-mellon-1.6.1.tar.gz", "has_sig": false, "md5_digest": "b6138edb08808d2c8430517fcdbb33b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40706, "upload_time": "2019-09-22T10:32:52", "url": "https://files.pythonhosted.org/packages/2d/6d/536cc064f38ae86e81c85cbddc839d9cae343ee325681e63a02a6d272519/django-mellon-1.6.1.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "1f34f965e19bebf4432c05a451322f58", "sha256": "b053f697da032de86a9be8048a39a07118e11191562fa5128b0099ccd2592937" }, "downloads": -1, "filename": "django-mellon-1.7.tar.gz", "has_sig": false, "md5_digest": "1f34f965e19bebf4432c05a451322f58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40694, "upload_time": "2019-09-22T11:14:28", "url": "https://files.pythonhosted.org/packages/21/12/017f78091748b0a078b2443da7375efc9f2d96bfb8f80af6a7f6abcc2502/django-mellon-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "9e07b1aed1c46a86dcb7472e05128807", "sha256": "f126250ce3b4fc8569046a594b37434b521d74be5efdc7d2ef87de0676801038" }, "downloads": -1, "filename": "django-mellon-1.8.tar.gz", "has_sig": false, "md5_digest": "9e07b1aed1c46a86dcb7472e05128807", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40689, "upload_time": "2019-09-22T12:55:06", "url": "https://files.pythonhosted.org/packages/08/dd/0bf37483d4fda0d1a6549f1e237103ec006336a3aedd1d7a0e2a47bf0f44/django-mellon-1.8.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "651e74120346fcf5b5b3c0de3f6b6c68", "sha256": "7c41a10df77406783ea879fc3e1279ef1c62c3009bff2693aad2d6a0c5f010b3" }, "downloads": -1, "filename": "django_mellon-1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "651e74120346fcf5b5b3c0de3f6b6c68", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34677, "upload_time": "2019-10-05T11:22:29", "url": "https://files.pythonhosted.org/packages/75/53/c849aa58aa23ebaacdf4b49721b99f37f3aa430988c5ecb5e75216da388f/django_mellon-1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3057d42ee7c4783bfb6101ed4995d5fd", "sha256": "66e148031d7b1f955f082796376851a0b6b390d45669545579862e017d58fa52" }, "downloads": -1, "filename": "django-mellon-1.9.tar.gz", "has_sig": false, "md5_digest": "3057d42ee7c4783bfb6101ed4995d5fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45914, "upload_time": "2019-10-05T11:22:31", "url": "https://files.pythonhosted.org/packages/38/f5/71439550274f51fb0c2d8cbf9ba91bceec2186febab0816dc9d0390070ff/django-mellon-1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c5f5673fdd6c57e9179a9c718b89b724", "sha256": "3ac579a079bf45d03da9a17b5da7b7980828f0e83f4a6309a9e3ea84c3b30d54" }, "downloads": -1, "filename": "django_mellon-1.10.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c5f5673fdd6c57e9179a9c718b89b724", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 34710, "upload_time": "2019-10-14T14:00:13", "url": "https://files.pythonhosted.org/packages/ee/76/1615e1105dac77b915dfc7868c0d4c48a871d55ead854b2a8bad219ef89d/django_mellon-1.10.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80d703d8097c59fd6899c9cd245fbd9c", "sha256": "9cfc8eca699271e3a46b01975a2ac4c508e9f5aebde13cdb6f570e90e8f5a326" }, "downloads": -1, "filename": "django-mellon-1.10.1.tar.gz", "has_sig": false, "md5_digest": "80d703d8097c59fd6899c9cd245fbd9c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45931, "upload_time": "2019-10-14T14:00:15", "url": "https://files.pythonhosted.org/packages/bf/99/2555a47adf145eddb5d93b895b8b2d632f32e9add0b65107d38948413ec1/django-mellon-1.10.1.tar.gz" } ] }