{ "info": { "author": "Steven Buss", "author_email": "steven.buss@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "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 :: 3.5" ], "description": "Multiaddr\n===============================\n\n.. image:: https://img.shields.io/pypi/v/multiaddr.svg\n :target: https://pypi.python.org/pypi/multiaddr\n\n.. image:: https://travis-ci.org/sbuss/py-multiaddr.svg?branch=master\n :target: https://travis-ci.org/sbuss/py-multiaddr\n\n.. image:: https://codecov.io/github/sbuss/py-multiaddr/coverage.svg?branch=master\n :target: https://codecov.io/github/sbuss/py-multiaddr?branch=master\n\n.. image:: https://readthedocs.org/projects/multiaddr/badge/?version=latest\n :target: https://readthedocs.org/projects/multiaddr/?badge=latest\n :alt: Documentation Status\n\n\nPython implementation of jbenet_'s multiaddr_\n\n.. _jbenet: https://github.com/jbenet\n.. _multiaddr: https://github.com/jbenet/multiaddr\n\n* Free software: MIT License\n* Documentation: https://multiaddr.readthedocs.org.\n\nUsage\n=====\n\nSimple\n------\n\n.. code-block:: python\n\n from multiaddr import Multiaddr\n\n # construct from a string\n m1 = Multiaddr(\"/ip4/127.0.0.1/udp/1234\")\n\n # construct from bytes\n m2 = Multiaddr(bytes_addr=m1.to_bytes())\n\n assert str(m1) == \"/ip4/127.0.0.1/udp/1234\"\n assert str(m1) == str(m2)\n assert m1.to_bytes() == m2.to_bytes()\n assert m1 == m2\n assert m2 == m1\n assert not (m1 != m2)\n assert not (m2 != m1)\n\n\nProtocols\n---------\n\n.. code-block:: python\n\n from multiaddr import Multiaddr\n\n m1 = Multiaddr(\"/ip4/127.0.0.1/udp/1234\")\n\n # get the multiaddr protocol description objects\n m1.protocols()\n # [Protocol(code=4, name='ip4', size=32), Protocol(code=17, name='udp', size=16)]\n\n\nEn/decapsulate\n--------------\n\n.. code-block:: python\n\n from multiaddr import Multiaddr\n\n m1 = Multiaddr(\"/ip4/127.0.0.1/udp/1234\")\n m1.encapsulate(Multiaddr(\"/sctp/5678\"))\n # \n m1.decapsulate(Multiaddr(\"/udp\"))\n # \n\n\nTunneling\n---------\n\nMultiaddr allows expressing tunnels very nicely.\n\n\n.. code-block:: python\n\n printer = Multiaddr(\"/ip4/192.168.0.13/tcp/80\")\n proxy = Multiaddr(\"/ip4/10.20.30.40/tcp/443\")\n printerOverProxy = proxy.encapsulate(printer)\n print(printerOverProxy)\n # /ip4/10.20.30.40/tcp/443/ip4/192.168.0.13/tcp/80\n\n proxyAgain = printerOverProxy.decapsulate(printer)\n print(proxyAgain)\n # /ip4/10.20.30.40/tcp/443\n\n\n=======\nHistory\n=======\n\n0.0.2 (2016-5-4)\n----------------\n\n* Fix a bug in decapsulate that threw an IndexError instead of a copy of the\n Multiaddr when the original multiaddr does not contain the multiaddr to\n decapsulate. [via fredthomsen_ `#9`_]\n* Increase test coverage [via fredthomsen_ `#9`_]\n\n.. _fredthomsen: https://github.com/fredthomsen\n.. _`#9`: https://github.com/sbuss/py-multiaddr/pull/9\n\n0.0.1 (2016-1-22)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/sbuss/multiaddr/tarball/0.0.3", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/sbuss/multiaddr", "keywords": "multiaddr", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "py-multiaddr", "package_url": "https://pypi.org/project/py-multiaddr/", "platform": "", "project_url": "https://pypi.org/project/py-multiaddr/", "project_urls": { "Download": "https://github.com/sbuss/multiaddr/tarball/0.0.3", "Homepage": "https://github.com/sbuss/multiaddr" }, "release_url": "https://pypi.org/project/py-multiaddr/0.0.3/", "requires_dist": [ "varint", "six", "base58", "netaddr" ], "requires_python": "", "summary": "Python implementation of jbenet's multiaddr", "version": "0.0.3" }, "last_serial": 4540770, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "5953e185292b6da9aee8d3fe23c15eef", "sha256": "dd1a9b957876e60e10b820ecc61f29ef298801af22098514e2cb321431c9bc10" }, "downloads": -1, "filename": "py_multiaddr-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5953e185292b6da9aee8d3fe23c15eef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9987, "upload_time": "2018-11-28T23:54:20", "url": "https://files.pythonhosted.org/packages/1f/28/5aa4acb5a4258fb1b1c2d1de6015848a04ed44819246ea70f0260382017a/py_multiaddr-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88fa70b6c333cfa8aa9b223e59bb294c", "sha256": "89ed9f6556a9e7b114f76f801a8742ece35dc0ebbbdadb3b477e1495239c03ed" }, "downloads": -1, "filename": "py-multiaddr-0.0.3.tar.gz", "has_sig": false, "md5_digest": "88fa70b6c333cfa8aa9b223e59bb294c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21435, "upload_time": "2018-11-28T23:54:22", "url": "https://files.pythonhosted.org/packages/f0/1f/9dc7bb9fc5ffb0bb379291c8fd75249e69c67d549aab96ae065e378cd416/py-multiaddr-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5953e185292b6da9aee8d3fe23c15eef", "sha256": "dd1a9b957876e60e10b820ecc61f29ef298801af22098514e2cb321431c9bc10" }, "downloads": -1, "filename": "py_multiaddr-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5953e185292b6da9aee8d3fe23c15eef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9987, "upload_time": "2018-11-28T23:54:20", "url": "https://files.pythonhosted.org/packages/1f/28/5aa4acb5a4258fb1b1c2d1de6015848a04ed44819246ea70f0260382017a/py_multiaddr-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88fa70b6c333cfa8aa9b223e59bb294c", "sha256": "89ed9f6556a9e7b114f76f801a8742ece35dc0ebbbdadb3b477e1495239c03ed" }, "downloads": -1, "filename": "py-multiaddr-0.0.3.tar.gz", "has_sig": false, "md5_digest": "88fa70b6c333cfa8aa9b223e59bb294c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21435, "upload_time": "2018-11-28T23:54:22", "url": "https://files.pythonhosted.org/packages/f0/1f/9dc7bb9fc5ffb0bb379291c8fd75249e69c67d549aab96ae065e378cd416/py-multiaddr-0.0.3.tar.gz" } ] }