{ "info": { "author": "Meir Kriheli", "author_email": "mkriheli@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Text Processing" ], "description": "===============================\nPython BiDi\n===============================\n\n.. image:: https://badge.fury.io/py/python-bidi.png\n :target: http://badge.fury.io/py/python-bidi\n\n.. image:: https://travis-ci.org/MeirKriheli/python-bidi.png?branch=master\n :target: https://travis-ci.org/MeirKriheli/python-bidi\n\n`Bi-directional`_ (BiDi) layout implementation in pure python\n\n`Package documentation`_\n\n.. _Bi-directional: http://en.wikipedia.org/wiki/Bi-directional_text\n.. _Package documentation: http://python-bidi.readthedocs.org/en/latest/\n\nAPI\n----\n\nThe algorithm starts with a single entry point `bidi.algorithm.get_display`.\n\n**Required arguments:**\n\n* ``unicode_or_str``: The original unicode or string (i.e.: storage). If it's a string\n use the optional argument ``encoding`` to specify it's encoding.\n\n**Optional arguments:**\n\n* ``encoding``: If unicode_or_str is a string, specifies the encoding. The\n algorithm uses unicodedata_ which requires unicode. This encoding will be\n used to decode and encode back to string before returning\n (default: \"utf-8\").\n\n* ``upper_is_rtl``: True to treat upper case chars as strong 'R' for\n debugging (default: False).\n\n* ``base_dir``: 'L' or 'R', override the calculated base_level.\n\n* ``debug``: True to display (using `sys.stderr`_) the steps taken with the\n algorithm (default: False).\n\nReturns the display layout, either as unicode or ``encoding`` encoded string\n(depending on the type of ``unicode_or_str'``).\n\n.. _unicodedata: http://docs.python.org/library/unicodedata.html\n.. _sys.stderr: http://docs.python.org/library/sys.html?highlight=sys.stderr#sys.stderr\n\nExample::\n\n >>> from bidi.algorithm import get_display\n >>> get_display(u'car is THE CAR in arabic', upper_is_rtl=True)\n u'car is RAC EHT in arabic'\n\n\nCLI\n----\n\n``pybidi`` is a command line utility (calling ``bidi.main``) for running the\nbidi algorithm. the script can get a string as a parameter or read text from\n`stdin`. Usage::\n\n $ pybidi -h\n Usage: pybidi [options]\n\n Options:\n -h, --help show this help message and exit\n -e ENCODING, --encoding=ENCODING\n Text encoding (default: utf-8)\n -u, --upper-is-rtl treat upper case chars as strong 'R' for debugging\n (default: False).\n -d, --debug Output to stderr steps taken with the algorithm\n -b BASE_DIR, --base-dir=BASE_DIR\n Override base direction [L|R]\n\n\nExamples::\n\n $ pybidi -u 'car is THE CAR in arabic'\n car is RAC EHT in arabic\n\n $ cat ~/Documents/example.txt | pybidi\n ...\n\nInstallation\n-------------\n\nSee ``docs/INSTALL.rst``\n\nRunning tests\n--------------\n\nTo run the tests::\n\n python setup.py test\n\nSome explicit tests are failing right now (see TODO)\n\n\n\n\n\n0.4.2\n-----\n\n* Type Fixes, thanks jwilk\n\n\nHistory\n=========\n\n0.4.1\n-----\n\n* Merged Fix for mixed RTL and numbers, Thanks Just van Rossum\n\n0.4.0\n-----\n\n* Move to cookiecutter template\n* Python 3 support (py2.6, 2.7, 3.3, 3.4 and pypy)\n* Better docs\n* Travis integration\n* Tox tests\n* PEP8 cleanup\n\n0.3.4\n------\n\n* Remove extra newline in console script output\n\n0.3.3\n------\n\n* Implement overriding base paragraph direction\n* Allow overriding base direction in pybidi console script\n* Fix returning display in same encoding\n\n0.3.2\n------\n\n* Test for surrogate pairs\n* Fix indentation in documentations\n* Specify license in setup.py\n\n0.3.1\n-----\n\n* Added missing description\n* docs/INSTALL.rst\n\n0.3\n---\n\n* Apply bidi mirroring\n* Move to back function based implementation\n\n0.2\n---\n\n* Move the algorithm to a class based implementation\n\n0.1\n---\n\n* Initial release\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MeirKriheli/python-bidi", "keywords": "bidi unicode layout", "license": "http://www.gnu.org/licenses/lgpl.html", "maintainer": "", "maintainer_email": "", "name": "python-bidi", "package_url": "https://pypi.org/project/python-bidi/", "platform": "", "project_url": "https://pypi.org/project/python-bidi/", "project_urls": { "Homepage": "https://github.com/MeirKriheli/python-bidi" }, "release_url": "https://pypi.org/project/python-bidi/0.4.2/", "requires_dist": [ "six" ], "requires_python": "", "summary": "Pure python implementation of the BiDi layout algorithm", "version": "0.4.2" }, "last_serial": 5486187, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "c5ecf2edd13f7ae7141670ea4fbfa8fa", "sha256": "2b7b5ca80b418072b8fdc8775039e4eb84d2dbd9b699d257124a72f1ad18a5ee" }, "downloads": -1, "filename": "python-bidi-0.3.tar.gz", "has_sig": false, "md5_digest": "c5ecf2edd13f7ae7141670ea4fbfa8fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29075, "upload_time": "2010-06-01T13:10:49", "url": "https://files.pythonhosted.org/packages/03/ca/3b57cd4ba1bb5da489334aa2f7e72fc16c2ee729c74de8cd47b732eeb6b0/python-bidi-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "662d16b18f03c7a6eae7a4884bdf8f2f", "sha256": "cca2f5d9f4bf99dc55cbb1a9731883a36032a19c9c2a3d042d2748abcaca969f" }, "downloads": -1, "filename": "python-bidi-0.3.1.tar.gz", "has_sig": false, "md5_digest": "662d16b18f03c7a6eae7a4884bdf8f2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29218, "upload_time": "2010-06-01T14:59:18", "url": "https://files.pythonhosted.org/packages/a2/98/18e0f5343ff8f0008f50b66a50f69c6ff877bcdb2d7a0fc8c9d2b8864771/python-bidi-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "4bc0d30f12942aa436baf838821b2779", "sha256": "44b8696787880b94b7a05da16576b621a4b1940edfc89d9da23c706736f848f5" }, "downloads": -1, "filename": "python-bidi-0.3.2.tar.gz", "has_sig": false, "md5_digest": "4bc0d30f12942aa436baf838821b2779", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29696, "upload_time": "2010-06-07T16:36:30", "url": "https://files.pythonhosted.org/packages/14/f9/2ca0c1511ac4ae7c21f0d625ba50893ff98e1e325b9106adace95b98890d/python-bidi-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "eac1f4961c502311a8e55e2c0f1dabff", "sha256": "912225fe0d04d13b2e0d0650272d1db8bdfca9e9531d605019be51890e2e7e3f" }, "downloads": -1, "filename": "python_bidi-0.3.3-py2.6.egg", "has_sig": false, "md5_digest": "eac1f4961c502311a8e55e2c0f1dabff", "packagetype": "bdist_egg", "python_version": "2.6", "requires_python": null, "size": 28969, "upload_time": "2010-08-14T02:47:27", "url": "https://files.pythonhosted.org/packages/e5/fc/5d8b6d1023d5ef3e4c33bc6bbfdf58091ff3ceba473a404d8f999e9619f6/python_bidi-0.3.3-py2.6.egg" }, { "comment_text": "", "digests": { "md5": "6a800c5f9072d424a81ea6247ba838b3", "sha256": "816e18f35f26e893e6807de6f883e551a0bb012dc99bc8703395d6149bf1e4e4" }, "downloads": -1, "filename": "python-bidi-0.3.3.tar.gz", "has_sig": false, "md5_digest": "6a800c5f9072d424a81ea6247ba838b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30523, "upload_time": "2010-08-14T02:43:21", "url": "https://files.pythonhosted.org/packages/a8/17/37b91a5b70525dcac6543597d5e7bee7c37d89aa37cb14070bfa2269b512/python-bidi-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "ce64c7d3d97264df1f84e377d145cad5", "sha256": "51f09883b28a5737fee0e63b39a8270a7dc0530e63e181c4c7834fd0fb679565" }, "downloads": -1, "filename": "python-bidi-0.3.4.tar.gz", "has_sig": true, "md5_digest": "ce64c7d3d97264df1f84e377d145cad5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30563, "upload_time": "2010-08-14T02:59:52", "url": "https://files.pythonhosted.org/packages/cc/b1/61d095136659d0be1821edc2a66d4756dadfa28c459d841394a5e2a85367/python-bidi-0.3.4.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d8b41905a71cbffcbf268f6fb9139bf6", "sha256": "58d5775d03f6f3be8356deec5e008e4095ef04f687d0b3329df69f0ea24a39bf" }, "downloads": -1, "filename": "python_bidi-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d8b41905a71cbffcbf268f6fb9139bf6", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 17768, "upload_time": "2015-09-15T19:07:59", "url": "https://files.pythonhosted.org/packages/e0/a7/ea6334b798546ed8584cb8cdc5d153c289294287b4ab46e9a4242480eae3/python_bidi-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d8315e421f06eb837556fa4ef4e726e0", "sha256": "1a1b3dbee4a0b307c91a465ba4caa8baaaa178151acd20de50ba24f9385f7e13" }, "downloads": -1, "filename": "python-bidi-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d8315e421f06eb837556fa4ef4e726e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 38566, "upload_time": "2015-09-15T19:07:52", "url": "https://files.pythonhosted.org/packages/67/88/ac2eaff43046ad814ad4d9d0d693acd4da5a402effb0afb7f0af5478294d/python-bidi-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "47592b00ec95007c717d4be4a3431356", "sha256": "c97eebbf2e3446d9fa7b1f5b34e7ee7ff664d6b5511acd6c4ad333f03c5edf1f" }, "downloads": -1, "filename": "python_bidi-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "47592b00ec95007c717d4be4a3431356", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30784, "upload_time": "2019-07-04T10:45:24", "url": "https://files.pythonhosted.org/packages/4b/47/29eec20071ca621f04fc7b4b5e8b53c44e41ac0103e98f4e8bd432289659/python_bidi-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0bfd324a811627b14ef61a43c0dea24e", "sha256": "d55be25389827889ac3d6ca010bc386aeb3762080c219f768fa4dfa02c975aa8" }, "downloads": -1, "filename": "python-bidi-0.4.1.tar.gz", "has_sig": false, "md5_digest": "0bfd324a811627b14ef61a43c0dea24e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40327, "upload_time": "2019-07-04T10:45:26", "url": "https://files.pythonhosted.org/packages/f3/93/bc9315cece6605ad4f4ebacb67a0f558c216ae1c5444246b6d6d4667de12/python-bidi-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "d0deb6f98cc5aee35e996ccbe20b25d7", "sha256": "50eef6f6a0bbdd685f9e8c207f3c9050f5b578d0a46e37c76a9c4baea2cc2e13" }, "downloads": -1, "filename": "python_bidi-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0deb6f98cc5aee35e996ccbe20b25d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30812, "upload_time": "2019-07-04T10:54:21", "url": "https://files.pythonhosted.org/packages/33/b0/f942d146a2f457233baaafd6bdf624eba8e0f665045b4abd69d1b62d097d/python_bidi-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5af2ab2913eccbf9033ed3ce21b08c0", "sha256": "5347f71e82b3e9976dc657f09ded2bfe39ba8d6777ca81a5b2c56c30121c496e" }, "downloads": -1, "filename": "python-bidi-0.4.2.tar.gz", "has_sig": false, "md5_digest": "a5af2ab2913eccbf9033ed3ce21b08c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40373, "upload_time": "2019-07-04T10:54:23", "url": "https://files.pythonhosted.org/packages/7b/25/3372ce50082776134b0467a4616722ff7494f3bcd9cf11e1180d0eddb248/python-bidi-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d0deb6f98cc5aee35e996ccbe20b25d7", "sha256": "50eef6f6a0bbdd685f9e8c207f3c9050f5b578d0a46e37c76a9c4baea2cc2e13" }, "downloads": -1, "filename": "python_bidi-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d0deb6f98cc5aee35e996ccbe20b25d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 30812, "upload_time": "2019-07-04T10:54:21", "url": "https://files.pythonhosted.org/packages/33/b0/f942d146a2f457233baaafd6bdf624eba8e0f665045b4abd69d1b62d097d/python_bidi-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5af2ab2913eccbf9033ed3ce21b08c0", "sha256": "5347f71e82b3e9976dc657f09ded2bfe39ba8d6777ca81a5b2c56c30121c496e" }, "downloads": -1, "filename": "python-bidi-0.4.2.tar.gz", "has_sig": false, "md5_digest": "a5af2ab2913eccbf9033ed3ce21b08c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40373, "upload_time": "2019-07-04T10:54:23", "url": "https://files.pythonhosted.org/packages/7b/25/3372ce50082776134b0467a4616722ff7494f3bcd9cf11e1180d0eddb248/python-bidi-0.4.2.tar.gz" } ] }