{ "info": { "author": "Uli Fouquet", "author_email": "uli@gnufix.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Natural Language :: German", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP :: Indexing/Search", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Text Processing", "Topic :: Utilities" ], "description": "dinsort\n*******\n\nSort terms according to German DIN 5007.\n\n|bdg-build| | `sources `_ | `issues `_\n\n.. |bdg-build| image:: https://travis-ci.org/ulif/dinsort.png?branch=master\n :target: https://travis-ci.org/ulif/dinsort\n :alt: Build Status\n\n\nLittle Python library to support sorting of terms according to DIN\n(German Standards Institute) standard 5007.\n\nThis standard describes how to sort german terms alphabtically. It\nprovides two variants:\n\n* Variant 1:\n\n - ``'\u00e4'`` equals ``'a'``\n - ``'\u00df'`` equals ``'ss'``\n - ...\n\n* Variant 2:\n\n - ``'\u00e4'`` equals ``'ae'``\n - ``'\u00df'`` equals ``'ss'``\n - ...\n\nIn both variants other diacritics are removed. So ``'\u00e9'`` and ``'\u00e7'``\nbecome ``'e'`` and ``'c'`` respecively.\n\n\nUsage\n=====\n\n`dinsort` is a Python_ library.\n\n\nNormalizing Terms\n-----------------\n\nMain function is `dinsort.normalize`. It generates a normalized form\nof any string term given::\n\n >>> from dinsort import normalize\n >>> normalize(\"L\u00f6blich\")\n 'loblich'\n\nVariants are defined as constants::\n\n >>> from dinsort import VARIANT1, VARIANT2\n >>> normalize(\"M\u00fc\u00dfig\", variant=VARIANT1)\n 'mussig'\n\n >>> normalize(\"M\u00fc\u00dfig\", variant=VARIANT2)\n 'muessig'\n\nTerms are normalized to lower-case by default. You can request\ncase-sensitiveness::\n\n >>> normalize(\"Ma\u00dfe\", case_sensitive=True)\n 'Masse'\n\n\nSorting\n-------\n\nNormalized terms can easily be used for sorting lists of terms:\n\n >>> sorted([\"fas\", \"fair\", \"f\u00e4r\"], key=lambda x: normalize(x))\n ['fair', 'f\u00e4r', 'fas']\n\nWe provide a shortcut to avoid (sometimes not easy to read) `lambda`\nstatements with `normalize` in your code. Use `sort_func` for that::\n\n >>> from dinsort import sort_func\n >>> sorted([\"fas\", \"fair\", \"f\u00e4r\"], key=sort_func())\n ['fair', 'f\u00e4r', 'fas']\n\nThe `sort_func` accepts the keywords of `normalize`::\n\n >>> sorted([\"Mu\u00dfe\", \"mu\u00df\"], key=sort_func())\n ['mu\u00df', 'Mu\u00dfe']\n\n >>> sorted([\"Mu\u00dfe\", \"mu\u00df\"], key=sort_func(case_sensitive=True))\n ['Mu\u00dfe', 'mu\u00df']\n\n >>> sorted([\"far\", \"f\u00e4hre\"], key=sort_func())\n ['f\u00e4hre', 'far']\n\n >>> sorted([\"far\", \"f\u00e4re\", \"fast\"], key=sort_func())\n ['far', 'f\u00e4re', 'fast']\n\n >>> sorted([\"far\", \"f\u00e4re\", \"fast\"], key=sort_func(variant=VARIANT2))\n ['f\u00e4re', 'far', 'fast']\n\n\nInstall\n=======\n\nUser Install\n------------\n\nThe latest release of `dinsort` can be installed via pip_::\n\n $ pip install dinsort\n\nThe exact way depends on your operating system.\n\n\nDeveloper Install\n-----------------\n\nDevelopers clone the sources from github::\n\n $ git clone https://github.com/ulif/dinsort.git\n\nCreate a virtual env (Python versions >= 2.6 supported)::\n\n $ cd dinsort\n $ virtualenv py27\n $ source py27/bin/activate\n\nand install dependencies::\n\n (py27) python setup py dev\n\nYou can run tests with `py.test`::\n\n (py27) py.test\n\nor with `tox`::\n\n (py27) pip install tox\n (py27) tox\n\n\n\n.. _pip: https://pip.pypa.io/en/latest/\n.. _Python: https://python.org/\n\n\n\nChanges\n=======\n\n0.2 (2015-10-14)\n----------------\n\n- Add `sort_func`. It is as shortcut for `lambda` expressions with\n `normalize`.\n- Support pypy officially.\n\n\n0.1 (2015-10-13)\n----------------\n\n- Initial version.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ulif/dinsort/", "keywords": "sort terms order DIN 5007 german words", "license": "GPL 3.0", "maintainer": null, "maintainer_email": null, "name": "dinsort", "package_url": "https://pypi.org/project/dinsort/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/dinsort/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/ulif/dinsort/" }, "release_url": "https://pypi.org/project/dinsort/0.2/", "requires_dist": null, "requires_python": null, "summary": "Sort terms according to German DIN.", "version": "0.2" }, "last_serial": 1768386, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "dfbf29c72ab58f472487b9d730b76fba", "sha256": "6c30ddd8513ee84eba41d8955e2aff887e2e314660059ffeb3b107a8e3a96e17" }, "downloads": -1, "filename": "dinsort-0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dfbf29c72ab58f472487b9d730b76fba", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5764, "upload_time": "2015-10-13T13:31:44", "url": "https://files.pythonhosted.org/packages/09/55/285405f7188f230be3f0e7fe24e36a2309e0f4cdc31e92fe0732cf30b3c9/dinsort-0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4da5c5126c7e5711253b4d6f3bd174fa", "sha256": "2a036fc5d54890e290f52f5679ec59db9b816f51ad44ce8443ef2542df3abe90" }, "downloads": -1, "filename": "dinsort-0.1.tar.gz", "has_sig": false, "md5_digest": "4da5c5126c7e5711253b4d6f3bd174fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11894, "upload_time": "2015-10-13T13:31:17", "url": "https://files.pythonhosted.org/packages/60/45/dafea481c1530b4fe40b87d40677cf777405fe8170b6d54d63b8b06f365a/dinsort-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "ebc6c5bdd6a7a8b5d9b048f7134d5572", "sha256": "9649c8ab7def8c16aa46fa066beba3516271f921620030f0440bd749130a104c" }, "downloads": -1, "filename": "dinsort-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ebc6c5bdd6a7a8b5d9b048f7134d5572", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6573, "upload_time": "2015-10-14T12:46:47", "url": "https://files.pythonhosted.org/packages/d9/31/ab178c5108772b326acf61b54546aa54e39c77e1c5129f9e70723384dc50/dinsort-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df0a8f478fe4f94d1309f49aadcea6ce", "sha256": "18a15223cb1e27ac3e73d5de41e08fe8d47dc85ee9feeeea8177b867033ca76c" }, "downloads": -1, "filename": "dinsort-0.2.tar.gz", "has_sig": false, "md5_digest": "df0a8f478fe4f94d1309f49aadcea6ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12563, "upload_time": "2015-10-14T12:46:43", "url": "https://files.pythonhosted.org/packages/cc/b2/18ff2e44fe0cb7e1e7955229f62904c299674b7b9ef6500255951ae793b9/dinsort-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ebc6c5bdd6a7a8b5d9b048f7134d5572", "sha256": "9649c8ab7def8c16aa46fa066beba3516271f921620030f0440bd749130a104c" }, "downloads": -1, "filename": "dinsort-0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ebc6c5bdd6a7a8b5d9b048f7134d5572", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 6573, "upload_time": "2015-10-14T12:46:47", "url": "https://files.pythonhosted.org/packages/d9/31/ab178c5108772b326acf61b54546aa54e39c77e1c5129f9e70723384dc50/dinsort-0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df0a8f478fe4f94d1309f49aadcea6ce", "sha256": "18a15223cb1e27ac3e73d5de41e08fe8d47dc85ee9feeeea8177b867033ca76c" }, "downloads": -1, "filename": "dinsort-0.2.tar.gz", "has_sig": false, "md5_digest": "df0a8f478fe4f94d1309f49aadcea6ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12563, "upload_time": "2015-10-14T12:46:43", "url": "https://files.pythonhosted.org/packages/cc/b2/18ff2e44fe0cb7e1e7955229f62904c299674b7b9ef6500255951ae793b9/dinsort-0.2.tar.gz" } ] }