{ "info": { "author": "Marshall Ward", "author_email": "ropes@marshallward.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Utilities" ], "description": "=====\nRopes\n=====\n\nEarly implementation of a Rope data structure in Python.\n\n\nAbout ropes\n===========\n\nRopes are an mutable alternative to strings. The string is represented as a\nbinary tree, and modifications to the string are achieved by either replacing\nexisting substring branches or by inserting new substrings into the tree\nstructure.\n\nThis is a preliminary version which supports the basic operations, such as\nconcatentation, indexing, slices, and strides.\n\nImplementation of some features is currently poor, particularly the slicing\noperations. No effort is made to balance the tree or otherwise optimise the\ndata structure.\n\n\nUsage\n=====\n\nTo convert a string into a rope, use the ``Rope`` class constructor.\n\n.. code:: python\n\n r = Rope('abcdefg')\n\nA pre-defined ``Rope`` tree can be constructed using a list of strings.\n\n.. code:: python\n\n r = Rope(['abc', 'def', 'g'])\n\nPrinting the rope returns a string.\n\n.. code:: python\n\n >>> r = Rope(['abc', 'defg'])\n >>> r\n (Rope('abcd') + Rope('efg'))\n >>> print(r)\n abcdefg\n\nStrings can be inserted between existing ropes.\n\n.. code:: python\n\n >>> r, s = Rope('abc'), Rope('def')\n >>> u = '123'\n >>> r + u + s\n ((Rope('abc') + Rope('123')) + Rope('def'))\n >>> print(r + u + s)\n abc123def\n >>>\n\nCurrent usage is very basic, but will hopefully improve in the future.\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/marshallward/ropes", "keywords": "ropes", "license": "", "maintainer": "", "maintainer_email": "", "name": "ropes", "package_url": "https://pypi.org/project/ropes/", "platform": "", "project_url": "https://pypi.org/project/ropes/", "project_urls": { "Homepage": "http://github.com/marshallward/ropes" }, "release_url": "https://pypi.org/project/ropes/0.1/", "requires_dist": null, "requires_python": "", "summary": "A Python implementation of the Rope data structure", "version": "0.1" }, "last_serial": 2908196, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5d0688e6cff93915f135cd65fec49c8e", "sha256": "f0bbc3a75d24b6a8048967bf2468d6577c2878d9257822e6a6df7ba5379f1670" }, "downloads": -1, "filename": "ropes-0.1.tar.gz", "has_sig": false, "md5_digest": "5d0688e6cff93915f135cd65fec49c8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4951, "upload_time": "2017-05-30T04:11:27", "url": "https://files.pythonhosted.org/packages/26/ff/4cdd9ff5950e07de6c60a03fec52c583f72a10c4967a79fa07d859faeb9e/ropes-0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5d0688e6cff93915f135cd65fec49c8e", "sha256": "f0bbc3a75d24b6a8048967bf2468d6577c2878d9257822e6a6df7ba5379f1670" }, "downloads": -1, "filename": "ropes-0.1.tar.gz", "has_sig": false, "md5_digest": "5d0688e6cff93915f135cd65fec49c8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4951, "upload_time": "2017-05-30T04:11:27", "url": "https://files.pythonhosted.org/packages/26/ff/4cdd9ff5950e07de6c60a03fec52c583f72a10c4967a79fa07d859faeb9e/ropes-0.1.tar.gz" } ] }