{ "info": { "author": "Craig McQueen", "author_email": "python@craig.mcqueen.id.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.4", "Programming Language :: Python :: 2.5", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Communications" ], "description": "========================================\r\nConsistent Overhead Byte Stuffing (COBS)\r\n========================================\r\n\r\n:Author: Craig McQueen\r\n:Contact: http://craig.mcqueen.id.au/\r\n:Copyright: 2010 Craig McQueen\r\n\r\n\r\nPython functions for encoding and decoding COBS.\r\n\r\nComplete ``cobs`` documentation is at https://pythonhosted.org/cobs/\r\n\r\n-----\r\nIntro\r\n-----\r\n\r\nThe ``cobs`` package is provided, which contains modules containing functions\r\nfor encoding and decoding according to COBS methods.\r\n\r\n\r\nWhat Is COBS?\r\n`````````````\r\n\r\nCOBS is a method of encoding a packet of bytes into a form that contains no\r\nbytes with value zero (0x00). The input packet of bytes can contain bytes\r\nin the full range of 0x00 to 0xFF. The COBS encoded packet is guaranteed to\r\ngenerate packets with bytes only in the range 0x01 to 0xFF. Thus, in a\r\ncommunication protocol, packet boundaries can be reliably delimited with 0x00\r\nbytes.\r\n\r\nThe COBS encoding does have to increase the packet size to achieve this\r\nencoding. However, compared to other byte-stuffing methods, the packet size\r\nincrease is reasonable and predictable. COBS always adds 1 byte to the\r\nmessage length. Additionally, for longer packets of length *n*, it *may* add\r\nn/254 (rounded down) additional bytes to the encoded packet size.\r\n\r\nFor example, compare to the PPP protocol, which uses 0x7E bytes to delimit\r\nPPP packets. The PPP protocol uses an \"escape\" style of byte stuffing,\r\nreplacing all occurences of 0x7E bytes in the packet with 0x7D 0x5E. But that\r\nbyte-stuffing method can potentially double the size of the packet in the\r\nworst case. COBS uses a different method for byte-stuffing, which has a much\r\nmore reasonable worst-case overhead.\r\n\r\n\r\n.. _cobs-r:\r\n\r\nCOBS/R\r\n``````\r\n\r\nI have included a variant on COBS, which I am calling \"Consistent Overhead Byte\r\nStuffing\u2014Reduced\" (COBS/R). It is a small variation that can often avoid the +1\r\nbyte overhead that occurs in COBS, thus decreasing the average encoding\r\noverhead. Yet it does not increase the worst-case encoding overhead compared to\r\nCOBS. See the `COBS/R documentation`__ for full details.\r\n\r\n.. __: https://pythonhosted.org/cobs/cobsr-intro.html\r\n\r\nComplete ``cobs`` documentation is at https://pythonhosted.org/cobs/", "description_content_type": null, "docs_url": "https://pythonhosted.org/cobs/", "download_url": "https://github.com/cmcqueen/cobs-python/releases", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/cmcqueen/cobs-python", "keywords": "bytestuffing", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cobs", "package_url": "https://pypi.org/project/cobs/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cobs/", "project_urls": { "Download": "https://github.com/cmcqueen/cobs-python/releases", "Homepage": "https://github.com/cmcqueen/cobs-python" }, "release_url": "https://pypi.org/project/cobs/1.1.3/", "requires_dist": null, "requires_python": null, "summary": "Consistent Overhead Byte Stuffing (COBS)", "version": "1.1.3" }, "last_serial": 2860696, "releases": { "0.7.0": [ { "comment_text": "", "digests": { "md5": "dc12bfca0026028ecce71927ecf760fb", "sha256": "0bd05ba4407b7dd44b820366037812746bb3a1641ede3cc32ca0ba6e8dfd7aeb" }, "downloads": -1, "filename": "cobs-0.7.0.tar.gz", "has_sig": false, "md5_digest": "dc12bfca0026028ecce71927ecf760fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8106, "upload_time": "2010-03-24T09:17:44", "url": "https://files.pythonhosted.org/packages/16/c1/003fd2ad422ec3452be1c40a0c6ae2f26f32523e8e24bf1310a4bc145173/cobs-0.7.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "4a6d46bff14c99ee4037f97eb22a14b3", "sha256": "6ad4c428f3c81d0b6d5dea709027eb059847b64a231fea1ba9c52db054388b9f" }, "downloads": -1, "filename": "cobs-0.7.0.win32-py2.4.exe", "has_sig": false, "md5_digest": "4a6d46bff14c99ee4037f97eb22a14b3", "packagetype": "bdist_wininst", "python_version": "2.4", "requires_python": null, "size": 68205, "upload_time": "2010-03-24T09:18:10", "url": "https://files.pythonhosted.org/packages/5b/02/22bfa9711face284f1e738395669ca685439f27166fa171ad4d0f2b7f380/cobs-0.7.0.win32-py2.4.exe" }, { "comment_text": "", "digests": { "md5": "1b77c8d79795b88e34190ece0c59d0ff", "sha256": "585560b21dd3df1afb92c4147ab33fae5e30c4364ea86fc0db073dcbb18f5b95" }, "downloads": -1, "filename": "cobs-0.7.0.win32-py2.5.msi", "has_sig": false, "md5_digest": "1b77c8d79795b88e34190ece0c59d0ff", "packagetype": "bdist_msi", "python_version": "2.5", "requires_python": null, "size": 114688, "upload_time": "2010-03-24T09:18:26", "url": "https://files.pythonhosted.org/packages/ca/32/41dd300781fe5b085268c350a6f5bf506496801f20d83cc4e7499a0fe317/cobs-0.7.0.win32-py2.5.msi" }, { "comment_text": "", "digests": { "md5": "b16ac443242f9c84b84ca1094332cc05", "sha256": "97a82a763c6e1a7f1e7eeb2688d316846ea95fefed23265e447cfc6ce24d50ec" }, "downloads": -1, "filename": "cobs-0.7.0.win32-py2.6.msi", "has_sig": false, "md5_digest": "b16ac443242f9c84b84ca1094332cc05", "packagetype": "bdist_msi", "python_version": "2.6", "requires_python": null, "size": 114688, "upload_time": "2010-03-24T09:18:41", "url": "https://files.pythonhosted.org/packages/bd/56/80d9736faf2d0776731341dcd9e309b5a0e3e366016fa6a0cd90d1337b58/cobs-0.7.0.win32-py2.6.msi" }, { "comment_text": "", "digests": { "md5": "051add6f55ace2767296175b8918feba", "sha256": "a316d2ca389c7386ac8d7d70600be5d0293cc72a537554a38f0afafbfe85c6cf" }, "downloads": -1, "filename": "cobs-0.7.0.win32-py3.1.msi", "has_sig": false, "md5_digest": "051add6f55ace2767296175b8918feba", "packagetype": "bdist_msi", "python_version": "3.1", "requires_python": null, "size": 131072, "upload_time": "2010-03-24T09:18:52", "url": "https://files.pythonhosted.org/packages/fe/01/1e832223f7f6692f672a28a4a66735edfce1adbe4fa1cd19560237f9361b/cobs-0.7.0.win32-py3.1.msi" }, { "comment_text": "", "digests": { "md5": "0f883ea88653a4bcb8da5019ba45c737", "sha256": "152163adf150e052535a5a603cadf18b17037cd8bb005d0fa62710d1bd1dfb91" }, "downloads": -1, "filename": "cobs-0.7.0.zip", "has_sig": false, "md5_digest": "0f883ea88653a4bcb8da5019ba45c737", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17579, "upload_time": "2010-03-24T09:17:56", "url": "https://files.pythonhosted.org/packages/b7/5c/45a35d681f95d8d2276e37e6cdb4488e6694b9d6a4df2f5f2f6b452658e2/cobs-0.7.0.zip" } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "cc76a062d7cdea43cbfbf4cc5c591a92", "sha256": "582e37b87fac9c26275b4374e1b8f3231a76694377dc4850733ab62330cdb02a" }, "downloads": -1, "filename": "cobs-0.8.0.tar.gz", "has_sig": false, "md5_digest": "cc76a062d7cdea43cbfbf4cc5c591a92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17858, "upload_time": "2010-04-23T03:26:46", "url": "https://files.pythonhosted.org/packages/d2/92/be23736bc6918bbc6c9fcaafa0f732f86f7afc67ae39e10b7d06f1e46db9/cobs-0.8.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "c10f533f3524f609084f37f1549f7156", "sha256": "7abb2ff0a73df505bead01e84f69e653ddcadfd5ebe262cde7394a4066a59a5e" }, "downloads": -1, "filename": "cobs-0.8.0.win32-py2.4.exe", "has_sig": false, "md5_digest": "c10f533f3524f609084f37f1549f7156", "packagetype": "bdist_wininst", "python_version": "2.4", "requires_python": null, "size": 79916, "upload_time": "2010-04-23T03:27:48", "url": "https://files.pythonhosted.org/packages/e6/21/fd2c9514fc81346afe8d7d55ca0a64bb8d22ad9b408137197c14b16a6f97/cobs-0.8.0.win32-py2.4.exe" }, { "comment_text": "", "digests": { "md5": "3c37536b8ce9bd89154cbdb513ca3500", "sha256": "7c91236ca85bc8c332a285ae3301142bca74fa5b02533282d484ba691f719770" }, "downloads": -1, "filename": "cobs-0.8.0.win32-py2.5.msi", "has_sig": false, "md5_digest": "3c37536b8ce9bd89154cbdb513ca3500", "packagetype": "bdist_msi", "python_version": "2.5", "requires_python": null, "size": 131072, "upload_time": "2010-04-23T03:27:35", "url": "https://files.pythonhosted.org/packages/9d/03/df3e45f18871ac1e3fbebbc53fa4047cdaa7952761fc51ef88f82c88d5b9/cobs-0.8.0.win32-py2.5.msi" }, { "comment_text": "", "digests": { "md5": "9d402f3236729917b7ccbcb2ae024c46", "sha256": "149e0d9f3f5150d27ccd8f2fbe3c8933d9d31cc3b1d64d5eeb7641dd33e6ba6a" }, "downloads": -1, "filename": "cobs-0.8.0.win32-py2.6.msi", "has_sig": false, "md5_digest": "9d402f3236729917b7ccbcb2ae024c46", "packagetype": "bdist_msi", "python_version": "2.6", "requires_python": null, "size": 131072, "upload_time": "2010-04-23T03:27:02", "url": "https://files.pythonhosted.org/packages/09/25/25085db4241f507294bf3f0029e73512b0135c20887bfc44f136f0b7e7fa/cobs-0.8.0.win32-py2.6.msi" }, { "comment_text": "", "digests": { "md5": "af228c06cd2b599cdd6e22097c4d73b8", "sha256": "3226dc502fa262fd43141a48e676cfc4586895431aefdf8e44a06be497a76c0f" }, "downloads": -1, "filename": "cobs-0.8.0.win32-py3.1.msi", "has_sig": false, "md5_digest": "af228c06cd2b599cdd6e22097c4d73b8", "packagetype": "bdist_msi", "python_version": "3.1", "requires_python": null, "size": 131072, "upload_time": "2010-04-23T03:27:21", "url": "https://files.pythonhosted.org/packages/22/42/4d64aeac5e3dfb35577084cc4ba569f8cc8e864eba13ea0143dfa25778dc/cobs-0.8.0.win32-py3.1.msi" }, { "comment_text": "", "digests": { "md5": "b0c0abebfc8b89410e3bb45c365bcd07", "sha256": "534504bc065cc3aab22edea19a05094157a026629ea954465eb3dd58b97fbb21" }, "downloads": -1, "filename": "cobs-0.8.0.zip", "has_sig": false, "md5_digest": "b0c0abebfc8b89410e3bb45c365bcd07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32294, "upload_time": "2010-04-23T03:26:31", "url": "https://files.pythonhosted.org/packages/b9/cc/479de12b14b6ac5dd6a878ea58596c156908f3940e5ddb7228b99a0150c4/cobs-0.8.0.zip" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "1b7adb76d0d7e982be6a7f56e9865555", "sha256": "180724e540a5d5b0290070215000b3427dfa57c96397a0d6cf01d37350b608a2" }, "downloads": -1, "filename": "cobs-1.0.0.tar.gz", "has_sig": false, "md5_digest": "1b7adb76d0d7e982be6a7f56e9865555", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20206, "upload_time": "2010-05-23T15:26:17", "url": "https://files.pythonhosted.org/packages/fd/bf/a02ccaaaa5fea33e960ea340ea3de04be801eef3fda1c4c35a1d302d82fd/cobs-1.0.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "fbbf0251005b579e935297d63402a64a", "sha256": "71620f0fd7f96f25e79951a447133ca72c523443f6e6a62d928688fe84737f0b" }, "downloads": -1, "filename": "cobs-1.0.0.win32-py2.5.msi", "has_sig": false, "md5_digest": "fbbf0251005b579e935297d63402a64a", "packagetype": "bdist_msi", "python_version": "2.5", "requires_python": null, "size": 131072, "upload_time": "2010-05-23T15:27:40", "url": "https://files.pythonhosted.org/packages/66/16/cbecd78bef629cc022182249a9eef686a0ee9721064c716e81213618ae50/cobs-1.0.0.win32-py2.5.msi" }, { "comment_text": "", "digests": { "md5": "663333003b43419d10122944b48c7d70", "sha256": "dfa686b7a5e871a545d34c0a2cab6a944729787325602cc1b38379ddf0bb2956" }, "downloads": -1, "filename": "cobs-1.0.0.win32-py2.6.msi", "has_sig": false, "md5_digest": "663333003b43419d10122944b48c7d70", "packagetype": "bdist_msi", "python_version": "2.6", "requires_python": null, "size": 131072, "upload_time": "2010-05-23T15:27:03", "url": "https://files.pythonhosted.org/packages/3a/83/61c14afea6f3236e2743a9293a8e97af722a3a153b627fdbdbe22450890d/cobs-1.0.0.win32-py2.6.msi" }, { "comment_text": "", "digests": { "md5": "2c65d18d9eba654fbcd28d8dda1f8cdf", "sha256": "8b94a82430e73db45c3445816a60458fbe9360896ed414e6c2148f08c88382c6" }, "downloads": -1, "filename": "cobs-1.0.0.win32-py2.7.msi", "has_sig": false, "md5_digest": "2c65d18d9eba654fbcd28d8dda1f8cdf", "packagetype": "bdist_msi", "python_version": "2.7", "requires_python": null, "size": 131072, "upload_time": "2010-05-23T15:27:22", "url": "https://files.pythonhosted.org/packages/4f/24/776fd02831c3e02a90eea4e0be28f5efa86f400e1d8514c435146b90b4dc/cobs-1.0.0.win32-py2.7.msi" }, { "comment_text": "", "digests": { "md5": "3ad2370701fd1302ae5f4d6b3cea1fbc", "sha256": "4d78cac15cdaf08919725c365a83074e93fb2aec417e17b42bcc44ee970971c0" }, "downloads": -1, "filename": "cobs-1.0.0.win32-py3.1.msi", "has_sig": false, "md5_digest": "3ad2370701fd1302ae5f4d6b3cea1fbc", "packagetype": "bdist_msi", "python_version": "3.1", "requires_python": null, "size": 131072, "upload_time": "2010-05-23T15:26:39", "url": "https://files.pythonhosted.org/packages/99/fa/a5be43733aac36a52015f7fbd469f6f55f688f8c32694661882afce7d6d7/cobs-1.0.0.win32-py3.1.msi" }, { "comment_text": "", "digests": { "md5": "80ee64f801239921b365622d6991beb3", "sha256": "54df3196b549248cd76e8220266c5a18e2aac4f0d1a7fabec732b233f958f00d" }, "downloads": -1, "filename": "cobs-1.0.0.win32-py3.2.msi", "has_sig": false, "md5_digest": "80ee64f801239921b365622d6991beb3", "packagetype": "bdist_msi", "python_version": "3.2", "requires_python": null, "size": 131072, "upload_time": "2011-02-01T02:28:46", "url": "https://files.pythonhosted.org/packages/a0/ed/ff5376d169f7c2ebffb289c0dcebb6b9dbc02da30e5b891abc7fcd3a14a4/cobs-1.0.0.win32-py3.2.msi" }, { "comment_text": "", "digests": { "md5": "f940b90f41f83e4369f4b387af9bfb31", "sha256": "a8ca165831361c4597688149d5e65b03aa7dc4f9d8336a9f4fc4da55f0c1dbcb" }, "downloads": -1, "filename": "cobs-1.0.0.win32-py3.3.msi", "has_sig": false, "md5_digest": "f940b90f41f83e4369f4b387af9bfb31", "packagetype": "bdist_msi", "python_version": "3.3", "requires_python": null, "size": 131072, "upload_time": "2012-07-11T06:07:50", "url": "https://files.pythonhosted.org/packages/02/2e/006e01aac70e1dfa2f3b25494e50169f9010fc8e48dd2dd66a60053630e1/cobs-1.0.0.win32-py3.3.msi" }, { "comment_text": "", "digests": { "md5": "6dbbe18666b8692937f0189b4b1b859c", "sha256": "5a7ca18b385e8d88d31c9a0acdd9eb5a32aa53b87c744b3108fc35d440b78319" }, "downloads": -1, "filename": "cobs-1.0.0.zip", "has_sig": false, "md5_digest": "6dbbe18666b8692937f0189b4b1b859c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34885, "upload_time": "2010-05-23T15:26:03", "url": "https://files.pythonhosted.org/packages/e2/06/80acabb719b1d31e184b06fe5b108a4cbb7763136e609c8d5e071fe18979/cobs-1.0.0.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "3724c053a6eb86de398fbbf9c3d7692f", "sha256": "8001e76e0bdada2110786290ac08cfe62400ae307bfe8b4ef28c395d4bf45cbd" }, "downloads": -1, "filename": "cobs-1.1.1.tar.gz", "has_sig": false, "md5_digest": "3724c053a6eb86de398fbbf9c3d7692f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21434, "upload_time": "2017-05-04T02:02:32", "url": "https://files.pythonhosted.org/packages/22/dd/7cd3e172c7e820f98cac7419f7f6d7725a1041c365e6bd7b1488e2524d82/cobs-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "7266613a96c6233d2f47d8330dc7c0c9", "sha256": "b41157191153d4ebce9b151989a7fccb02b1e82e935ef9d35fbdd68254d12b2e" }, "downloads": -1, "filename": "cobs-1.1.2.tar.gz", "has_sig": false, "md5_digest": "7266613a96c6233d2f47d8330dc7c0c9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21480, "upload_time": "2017-05-04T02:47:01", "url": "https://files.pythonhosted.org/packages/04/5e/73ae5cea70ee7088c7fc718e4501042fd58968de2c518414a3f8d5bf2656/cobs-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "2b36b6823a6692d60ea050f26185d635", "sha256": "ae3319b5704d9269d1ca60787d2e5b79322bb9f440215ea086b986ed8d2a8405" }, "downloads": -1, "filename": "cobs-1.1.3.tar.gz", "has_sig": false, "md5_digest": "2b36b6823a6692d60ea050f26185d635", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21479, "upload_time": "2017-05-04T03:51:48", "url": "https://files.pythonhosted.org/packages/51/51/cf3bc0f9fef43bd55813fa9f8cc58f55ad3f95fc7f470b3a7b4c434fd79a/cobs-1.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2b36b6823a6692d60ea050f26185d635", "sha256": "ae3319b5704d9269d1ca60787d2e5b79322bb9f440215ea086b986ed8d2a8405" }, "downloads": -1, "filename": "cobs-1.1.3.tar.gz", "has_sig": false, "md5_digest": "2b36b6823a6692d60ea050f26185d635", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21479, "upload_time": "2017-05-04T03:51:48", "url": "https://files.pythonhosted.org/packages/51/51/cf3bc0f9fef43bd55813fa9f8cc58f55ad3f95fc7f470b3a7b4c434fd79a/cobs-1.1.3.tar.gz" } ] }