{ "info": { "author": "Ruud de Jong", "author_email": "ruud.de.jong@xs4all.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.4" ], "description": "\n.. image:: https://readthedocs.org/projects/sliplib/badge/?version=latest\n :target: http://sliplib.readthedocs.org/en/latest/?badge=latest\n :alt: ReadTheDocs Documentation Status\n\n.. image:: https://travis-ci.org/rhjdjong/SlipLib.svg\n :target: https://travis-ci.org/rhjdjong/SlipLib\n :alt: Travis Test Status\n\n.. image:: https://ci.appveyor.com/api/projects/status/rqe1ufitabs5niy9?svg=true\n :target: https://ci.appveyor.com/project/RuuddeJong/sliplib\n :alt: AppVeyor Test Status\n\n\n\n==============================================\n``sliplib`` --- A module for the SLIP protocol\n==============================================\n\n\nThe `sliplib` module implements the encoding and decoding\nfunctionality for SLIP packets, as described in :rfc:`1055`.\nIt defines encoding, decoding, and validation functions,\nas well as a driver class that can be used to implement\na SLIP protocol stack, and higher-level classes that\napply the SLIP protocol to TCP connections or IO streams.\nRead the `documentation `_\nfor detailed information.\n\nBackground\n==========\n\nThe SLIP protocol is described in :rfc:`1055` (:title:`A Nonstandard for\nTransmission of IP Datagrams over Serial Lines: SLIP`, J. Romkey,\nJune 1988). The original purpose of the protocol is\nto provide a mechanism to indicate the boundaries of IP packets,\nin particular when the IP packets are sent over a connection that\ndoes not provide a framing mechanism, such as serial lines or\ndial-up connections.\n\nThere is, however, nothing specific to IP in the SLIP protocol.\nSLIP offers a generic framing method that can be used for any\ntype of data that must be transmitted over a (continuous) byte stream.\nIn fact, the main reason for creating this module\nwas the need to communicate with a third-party application that\nused SLIP over TCP (which is a continuous byte stream)\nto frame variable length data structures.\n\n\nUsage\n=====\n\nLow-level usage\n---------------\n\nThe recommended basic usage is to run all encoding and decoding operations\nthrough an instantiation `driver` of the `Driver` class, in combination\nwith the appropriate I/O code.\nThe `Driver` class itself works without any I/O, and can therefore be used with\nany networking code, or any bytestream like pipes, serial I/O, etc.\nIt can work in synchronous as well as in asynchronous environments.\n\nThe `Driver` class offers the methods\n`send` and `receive` to handle\nthe conversion between messages and SLIP-encoded packets.\n\nHigh-level usage\n----------------\n\nThe module also provides a `SlipWrapper` abstract baseclass\nthat provides the methods `send_msg` and `recv_msg` to send\nand receive single SLIP-encoded messages. This base class\nwraps an instance of the `Driver` class with a user-provided stream.\n\nTwo concrete subclasses of `SlipWrapper` are provided:\n\n* `SlipStream` allows the wrapping of a buffered IO stream.\n* `SlipSocket` allows the wrapping of a TCP socket.\n\nIn addition, the module also provides a `SlipRequestHandler`\nto facilitate the creation of TCP servers that can handle\nSLIP-encoded messages.\n\n\nError Handling\n==============\n\nContrary to the reference implementation described in :rfc:`1055`,\nwhich chooses to essentially ignore protocol errors,\nthe functions and classes in the `sliplib` module\nuses a `ProtocolError` exception\nto indicate protocol errors, i.e. SLIP packets with invalid byte sequences.\nThe `Driver` class raises the `ProtocolError` exception\nas soon as a SLIP packet with an invalid byte sequence is received .\nThe `SlipWrapper` class and its subclasses catch the `ProtocolError`\\s\nraised by the `Driver` class, and re-raise them when\nan attempt is made to read the contents of a SLIP packet with invalid data.\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/rhjdjong/SlipLib", "keywords": "slip message framing protocol RFC1055", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "sliplib", "package_url": "https://pypi.org/project/sliplib/", "platform": "", "project_url": "https://pypi.org/project/sliplib/", "project_urls": { "Homepage": "https://github.com/rhjdjong/SlipLib" }, "release_url": "https://pypi.org/project/sliplib/0.3.0/", "requires_dist": [ "sphinx-rtd-theme" ], "requires_python": "", "summary": "Slip package", "version": "0.3.0" }, "last_serial": 3448238, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "46c150ab3cc6e68b8ffce91bcb0cb2ce", "sha256": "b38ce79273709c7b17c16225c8f785676f0c4546ac483865b588b12d3aad5448" }, "downloads": -1, "filename": "sliplib-0.0.1.tar.gz", "has_sig": false, "md5_digest": "46c150ab3cc6e68b8ffce91bcb0cb2ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5568, "upload_time": "2015-09-19T17:42:18", "url": "https://files.pythonhosted.org/packages/b4/b6/e94054b5093b0a7e284a67d8ad5317904188fd2e5b5046713016b2e58329/sliplib-0.0.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "fa7f26cd164eec697d1adc19970c5325", "sha256": "deee09714485e52df7f48fa6ff0a78703571f13031cf7c747f14aaac63f6fee2" }, "downloads": -1, "filename": "sliplib-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fa7f26cd164eec697d1adc19970c5325", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14643, "upload_time": "2017-12-27T17:11:16", "url": "https://files.pythonhosted.org/packages/a1/8c/ee970cfdc4175060da1da24df06e6b69f7d516ce9f2e58c2d1d20eef6ec0/sliplib-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "398ad7fefe2ad672d7f8120244bc5a01", "sha256": "c5e4cd90e64684af0f8f2c00313842efa6ebda858f83078075827e96f511d34d" }, "downloads": -1, "filename": "sliplib-0.2.0.tar.gz", "has_sig": false, "md5_digest": "398ad7fefe2ad672d7f8120244bc5a01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11764, "upload_time": "2017-12-27T17:11:20", "url": "https://files.pythonhosted.org/packages/8a/ef/3ec8834d241d2340f2ac09322e28f87ca978d78af95353baeb999d383a3a/sliplib-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "1784d0176914ba03b5762f00c14307ed", "sha256": "3ecb2a52a59d2e3b7648d7fe316eef22efbe224a3e4381ad97f940a00be45036" }, "downloads": -1, "filename": "sliplib-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1784d0176914ba03b5762f00c14307ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14642, "upload_time": "2017-12-28T18:59:57", "url": "https://files.pythonhosted.org/packages/43/32/e05b0b1a8f2b7c4e4a7bbcc60f5acb24c26eb42cbab744318aa1de84b5b9/sliplib-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c776bd3771d3dff118a4245398351b46", "sha256": "de620db025350c26acddcef6b97e692342ffac65444f97dad454dc836501746b" }, "downloads": -1, "filename": "sliplib-0.3.0.tar.gz", "has_sig": false, "md5_digest": "c776bd3771d3dff118a4245398351b46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11758, "upload_time": "2017-12-28T18:59:59", "url": "https://files.pythonhosted.org/packages/42/02/04163ca62aa65c632ce441ca7100dcb1710d0e04a0c8abaccf6e484c368e/sliplib-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1784d0176914ba03b5762f00c14307ed", "sha256": "3ecb2a52a59d2e3b7648d7fe316eef22efbe224a3e4381ad97f940a00be45036" }, "downloads": -1, "filename": "sliplib-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1784d0176914ba03b5762f00c14307ed", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14642, "upload_time": "2017-12-28T18:59:57", "url": "https://files.pythonhosted.org/packages/43/32/e05b0b1a8f2b7c4e4a7bbcc60f5acb24c26eb42cbab744318aa1de84b5b9/sliplib-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c776bd3771d3dff118a4245398351b46", "sha256": "de620db025350c26acddcef6b97e692342ffac65444f97dad454dc836501746b" }, "downloads": -1, "filename": "sliplib-0.3.0.tar.gz", "has_sig": false, "md5_digest": "c776bd3771d3dff118a4245398351b46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11758, "upload_time": "2017-12-28T18:59:59", "url": "https://files.pythonhosted.org/packages/42/02/04163ca62aa65c632ce441ca7100dcb1710d0e04a0c8abaccf6e484c368e/sliplib-0.3.0.tar.gz" } ] }