{ "info": { "author": "Donald Stufft", "author_email": "donald@e.vilgeni.us", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Utilities" ], "description": ".. image:: https://travis-ci.org/dstufft/django-passwords.svg?branch=master\n :target: https://travis-ci.org/dstufft/django-passwords\n.. image:: https://img.shields.io/pypi/v/django-passwords.svg\n :target: https://pypi.python.org/pypi/django-passwords/\n.. image:: https://img.shields.io/pypi/dm/django-passwords.svg\n :target: https://pypi.python.org/pypi/django-passwords/\n.. image:: https://img.shields.io/pypi/l/django-passwords.svg\n :target: https://pypi.python.org/pypi/django-passwords/\n\n\nDjango Passwords\n================\n\ndjango-passwords is a reusable app that provides a form field and\nvalidators that check the strength of a password.\n\nInstallation\n------------\n\nYou can install django-passwords with pip by typing::\n\n pip install django-passwords\n\nOr with easy_install by typing::\n\n easy_install django-passwords\n\nOr manually by downloading a tarball and typing::\n\n python setup.py install\n\nCompatibility\n-------------\n\ndjango-passwords is compatible with Django 1.3 through 1.9 RC1. Pythons 2.7\nand 3.4 are both supported.\n\nSettings\n--------\n\ndjango-passwords adds 6 optional settings\n\nOptional:\n Specifies minimum length for passwords::\n\n PASSWORD_MIN_LENGTH = 6 # Defaults to 6\n\n Specifies maximum length for passwords::\n\n PASSWORD_MAX_LENGTH = 120 # Defaults to None\n\n Specifies the location of a dictionary (file with one word per line)::\n\n PASSWORD_DICTIONARY = \"/usr/share/dict/words\" # Defaults to None\n\n Specifies how close a fuzzy match has to be to be considered a match::\n\n PASSWORD_MATCH_THRESHOLD = 0.9 # Defaults to 0.9, should be 0.0 - 1.0 where 1.0 means exactly the same.\n\n Specifies a list of common sequences to attempt to match a password against::\n\n PASSWORD_COMMON_SEQUENCES = [] # Should be a list of strings, see passwords/validators.py for default\n\n Specifies number of characters within various sets that a password must contain::\n\n PASSWORD_COMPLEXITY = { # You can omit any or all of these for no limit for that particular set\n \"UPPER\": 1, # Uppercase\n \"LOWER\": 1, # Lowercase\n \"LETTERS\": 1, # Either uppercase or lowercase letters\n \"DIGITS\": 1, # Digits\n \"SPECIAL\": 1, # Not alphanumeric, space or punctuation character\n \"WORDS\": 1 # Words (alphanumeric sequences separated by a whitespace or punctuation character)\n }\n\nUsage\n-----\n\nTo use the formfield simply import it and use it:\n\n.. code-block:: python\n\n from django import forms\n from passwords.fields import PasswordField\n\n class ExampleForm(forms.Form):\n password = PasswordField(label=\"Password\")\n\nYou can make use of the validators on your own fields:\n\n.. code-block:: python\n\n from django import forms\n from passwords.validators import dictionary_words\n\n field = forms.CharField(validators=[dictionary_words])\n\nYou can also create custom validator instances to specify your own\nfield-specific configurations, rather than using the global\nconfigurations:\n\n.. code-block:: python\n\n from django import forms\n from passwords.validators import (\n DictionaryValidator, LengthValidator, ComplexityValidator)\n\n field = forms.CharField(validators=[\n DictionaryValidator(words=['banned_word'], threshold=0.9),\n LengthValidator(min_length=8),\n ComplexityValidator(complexities=dict(\n UPPER=1,\n LOWER=1,\n DIGITS=1\n )),\n ])", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/dstufft/django-passwords/", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "django-passwords", "package_url": "https://pypi.org/project/django-passwords/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-passwords/", "project_urls": { "Homepage": "http://github.com/dstufft/django-passwords/" }, "release_url": "https://pypi.org/project/django-passwords/0.3.12/", "requires_dist": null, "requires_python": "", "summary": "A Django reusable app that provides validators and a form field that checks the strength of a password", "version": "0.3.12" }, "last_serial": 2358471, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "644edf69efbb6856fa7e549b461c6a02", "sha256": "399522f7a48ab009dcc530faf4385c4d54cf60f69a84cfe40eeb13b6a50bba49" }, "downloads": -1, "filename": "django_passwords-0.2.0-py2.7.egg", "has_sig": false, "md5_digest": "644edf69efbb6856fa7e549b461c6a02", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 13487, "upload_time": "2015-03-30T23:38:22", "url": "https://files.pythonhosted.org/packages/c0/0b/5ae47d131d624316622bdae2574c204701eba126a418a4bd1438cc8dd978/django_passwords-0.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "3c83f4ee9ace78c46bf9d873e4cda35b", "sha256": "aac0a4607d1dab2e3d3563d92a79d29d6f1326a87c176d4b8e853316a36085b1" }, "downloads": -1, "filename": "django-passwords-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3c83f4ee9ace78c46bf9d873e4cda35b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4069, "upload_time": "2011-06-09T23:29:59", "url": "https://files.pythonhosted.org/packages/5a/71/2a3d99450b807985e5c9e9ffcd047b1b4519c18776741d1ca18769d3ab65/django-passwords-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "08aeeab201fa9bc98989944d13fdb372", "sha256": "2e048b519bcd4285f867404041ddb7405f28bf7db4235cc8690a5a7a330bebd1" }, "downloads": -1, "filename": "django_passwords-0.3.0-py2.7.egg", "has_sig": false, "md5_digest": "08aeeab201fa9bc98989944d13fdb372", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 13490, "upload_time": "2015-03-30T23:38:44", "url": "https://files.pythonhosted.org/packages/e8/d5/acd9e7d2d41d9fbf8a1cc15b06ff2f76c360fbc2e9a9f7d289c1f598ff85/django_passwords-0.3.0-py2.7.egg" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "04a717ffd2e4cc70f9d12de2cffb9413", "sha256": "dcb8ddb7646cdf63bb9394382976defb5aed67d21aeabd472b7184033341a3ca" }, "downloads": -1, "filename": "django_passwords-0.3.1-py2.7.egg", "has_sig": false, "md5_digest": "04a717ffd2e4cc70f9d12de2cffb9413", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 13599, "upload_time": "2015-04-01T08:22:08", "url": "https://files.pythonhosted.org/packages/5f/1c/ada4e3dbc706cd1c250034eac478a46c4b1d44dc0db8a12e2afc4b351e9b/django_passwords-0.3.1-py2.7.egg" } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "fe4801132d95c9b1699047fc997924eb", "sha256": "5ca2d8c951b9db7a14a393c5bb5bf73cbe6c40ff43a7ff409d68fe3385319cac" }, "downloads": -1, "filename": "django-passwords-0.3.10.tar.gz", "has_sig": false, "md5_digest": "fe4801132d95c9b1699047fc997924eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14521, "upload_time": "2016-04-20T19:17:44", "url": "https://files.pythonhosted.org/packages/30/ac/f4189622f65312b8b3dcd875bfb6e8435465f64b6100419d3f51cd84051c/django-passwords-0.3.10.tar.gz" } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "f587361bd9cbd5486f865879c8736529", "sha256": "b842e6a5c65c8e5d480e7a2930c343082d207040aea9ef1d90620e6322a5c2b2" }, "downloads": -1, "filename": "django-passwords-0.3.11.tar.gz", "has_sig": false, "md5_digest": "f587361bd9cbd5486f865879c8736529", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15144, "upload_time": "2016-06-24T10:07:36", "url": "https://files.pythonhosted.org/packages/00/5f/81fbfe2c164792ec77cc7cf87a0e79357e33a0403c3431e877774b21e269/django-passwords-0.3.11.tar.gz" } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "6ca251368b8ccabc072c6a0296f2a663", "sha256": "bc8c552940003c44e4f903e51223f3f62f2497c79fc208d1e6b079f105cfa4ac" }, "downloads": -1, "filename": "django-passwords-0.3.12.tar.gz", "has_sig": false, "md5_digest": "6ca251368b8ccabc072c6a0296f2a663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15901, "upload_time": "2016-09-22T22:50:03", "url": "https://files.pythonhosted.org/packages/2e/f3/b9734ca5db6401e2dbf14ffd84609de8d79caed05a9bcf6e60fab86f9697/django-passwords-0.3.12.tar.gz" } ], "0.3.2": [], "0.3.3": [ { "comment_text": "", "digests": { "md5": "fc0ce4b827d4e40ec5aeae7f97cd3fec", "sha256": "53e967b25a521f0ee303b0fc494425984a9938e2b58d0e8b66170fa981719629" }, "downloads": -1, "filename": "django-passwords-0.3.3.tar.gz", "has_sig": false, "md5_digest": "fc0ce4b827d4e40ec5aeae7f97cd3fec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7839, "upload_time": "2015-06-22T12:41:41", "url": "https://files.pythonhosted.org/packages/2c/61/4f5c3ef959e2287a99d046d3b1f8627cc790bd65e89c217d487f3d76c989/django-passwords-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "57b910e27f62705bf8f948d15d73ea36", "sha256": "d036095cc50ce1d161e693d475a642e6c141ff47db3923c389adb10e4394df62" }, "downloads": -1, "filename": "django-passwords-0.3.4.tar.gz", "has_sig": false, "md5_digest": "57b910e27f62705bf8f948d15d73ea36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12019, "upload_time": "2015-09-21T12:39:24", "url": "https://files.pythonhosted.org/packages/4d/6f/40d0b0052977751344510f7ff9a0d0e0c754a6399412d1d70cda7098cb45/django-passwords-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "8ccc4e50ba77e17f485c7c005bbb6f15", "sha256": "7715f43391211da6af2a16f1f16bd2f4f5538a99e2934d1ceac10920ada36a60" }, "downloads": -1, "filename": "django-passwords-0.3.5.tar.gz", "has_sig": false, "md5_digest": "8ccc4e50ba77e17f485c7c005bbb6f15", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12994, "upload_time": "2015-12-26T16:17:40", "url": "https://files.pythonhosted.org/packages/73/1e/b5270f70367b8c8138ef8dd9f10fabced9f3a418605c84eda92c910456dd/django-passwords-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "57682964c64a48d7093e333226ab55e4", "sha256": "53c2496d45f19d4b1e2d39cb8f743e8a51471d5d135e7684ba1cf4c742399068" }, "downloads": -1, "filename": "django-passwords-0.3.6.tar.gz", "has_sig": false, "md5_digest": "57682964c64a48d7093e333226ab55e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13800, "upload_time": "2016-01-06T13:40:03", "url": "https://files.pythonhosted.org/packages/a6/e4/ff8cf9846ef7243b1cde83db7a4c436788cba0b55fb853519d1edf5e5bdb/django-passwords-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "031a397fcb386cf201df5a2fd5d5dd1c", "sha256": "3e65ddd5bdaf65a063d81ce1e26fb981bee867e3c5ea6e87b5be3ca9fbb8ffba" }, "downloads": -1, "filename": "django-passwords-0.3.7.tar.gz", "has_sig": false, "md5_digest": "031a397fcb386cf201df5a2fd5d5dd1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13688, "upload_time": "2016-01-08T11:35:30", "url": "https://files.pythonhosted.org/packages/ff/7d/1e2a7a99a96b7fa4915d6f8f9cec6cfcb0336d77e8ec3b023a98ad84517a/django-passwords-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "73e2c3aa94f2e97f848dfda0805d4d9b", "sha256": "1328af3ee81502cb800ee276be612ba0005e67fc6858625e25cfcfdb6cadf87d" }, "downloads": -1, "filename": "django-passwords-0.3.8.tar.gz", "has_sig": false, "md5_digest": "73e2c3aa94f2e97f848dfda0805d4d9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13875, "upload_time": "2016-03-22T11:23:23", "url": "https://files.pythonhosted.org/packages/c2/88/60f69cc49c0c3bf1e6d7cdc119bee70d43061bbcaf9eab81ff6e75e05432/django-passwords-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "2873b6b2f1a91f90c936b65954cc7d0d", "sha256": "a18160f567babb6fa447e4e0e3e9ed994835b0267c2472385258a02237330a11" }, "downloads": -1, "filename": "django-passwords-0.3.9.tar.gz", "has_sig": false, "md5_digest": "2873b6b2f1a91f90c936b65954cc7d0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14542, "upload_time": "2016-04-20T08:14:00", "url": "https://files.pythonhosted.org/packages/c1/d3/382415d5bd1d7ab2b99e46cff8a33cdbbfc8e060c109e30adbcd4d944c57/django-passwords-0.3.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6ca251368b8ccabc072c6a0296f2a663", "sha256": "bc8c552940003c44e4f903e51223f3f62f2497c79fc208d1e6b079f105cfa4ac" }, "downloads": -1, "filename": "django-passwords-0.3.12.tar.gz", "has_sig": false, "md5_digest": "6ca251368b8ccabc072c6a0296f2a663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15901, "upload_time": "2016-09-22T22:50:03", "url": "https://files.pythonhosted.org/packages/2e/f3/b9734ca5db6401e2dbf14ffd84609de8d79caed05a9bcf6e60fab86f9697/django-passwords-0.3.12.tar.gz" } ] }