{ "info": { "author": "Jaime Buelta", "author_email": "jaime.buelta@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# std_encode\n\n[![Build Status](https://travis-ci.org/jaimebuelta/std_encode.svg?branch=master)](https://travis-ci.org/jaimebuelta/std_encode)\n\nEncode and decode files through standard input/output.\n\n## Usage\n\nEncode files piping them into `std_encode`\n\n```\n$ std_encode -t input_test.txt\n>>>>>>>>>> START t input_test.txt\nSome test\ntext file\n<<<<<<<<<< END\n```\n\nThe encoded text can be then decoded and saved with `std_decode`\n\n```\n$ std_encode -t input_test.txt | std_decode\n######### DECODED FILE input_test.txt\n$ cat input_test.txt\nSome test\ntext file\n```\n\n## Install\n\nThe package is available in [PyPI](https://pypi.org/project/std-encode/)\n\n pip install std-encode\n\n\n## Features\n\n- A log shows that a file has been decoded\n- Text and binary files are supported (binary are default).\n- `std_decode` is capable of decoding more than one file in the same stream\n- Any line in the stream that's not part of a file will be replicated in the standard output.\n\n## Why is this useful for?\n\nIn some cases, standard input/output is a convenient and easy way of communication. Transfering a file is not as simple.\n\nFor example, the problem that originated it was to retrieve files from a docker container running in Kubernetes. Obtaining the text log is easy calling `docker logs` or `kubectl logs`, but retrieving files requires more plumbing.\n\nIn the operation, while creating logs, multiple files can be encoded, and then all will be retrieved piping the logs through `std_decode`, generating a resulting log like this one:\n\n```\n========================= test session starts ==========================\nplatform darwin -- Python 3.7.0, pytest-3.9.2, py-1.7.0, pluggy-0.8.0\nrootdir: /Users/jaimebuelta/Dropbox/code/std_encode, inifile:\nplugins: cram-0.2.0\ncollected 8 items\n\ntests/base.t . [ 12%]\ntests/double_file.t . [ 25%]\ntests/encode_decode_image.t . [ 37%]\ntests/encode_decode_text.t . [ 50%]\ntests/encode_image.t . [ 62%]\ntests/encode_text.t . [ 75%]\ntests/single_file.t . [ 87%]\ntests/test_se.py . [100%]\n\n======================= 8 passed in 2.22 seconds =======================\n\n######### DECODED FILE junit_test.xml\n######### DECODED FILE html_report.html\n```\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jaimebuelta/std_encode", "keywords": "", "license": "MIT", "maintainer": "Jaime Buelta", "maintainer_email": "jaime.buelta@gmail.com", "name": "std-encode", "package_url": "https://pypi.org/project/std-encode/", "platform": "", "project_url": "https://pypi.org/project/std-encode/", "project_urls": { "Homepage": "https://github.com/jaimebuelta/std_encode", "Repository": "https://github.com/jaimebuelta/std_encode" }, "release_url": "https://pypi.org/project/std-encode/0.2.3/", "requires_dist": null, "requires_python": ">=3.5,<4", "summary": "Encode and decode files through the standard input/output", "version": "0.2.3" }, "last_serial": 5001008, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "dd46dcf51cf94af435933be88be9ed32", "sha256": "bc73493d70cf1b71960b8c6b6b078b070205152aca0fb4869518affacb9482a1" }, "downloads": -1, "filename": "std_encode-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dd46dcf51cf94af435933be88be9ed32", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=2.7", "size": 2910, "upload_time": "2018-10-27T18:37:32", "url": "https://files.pythonhosted.org/packages/92/62/661e737743b2f9583045b05e6c90ab5230c477175dae66d92bddc315480b/std_encode-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "121b228492e9dfa04b3f21be32aa20fa", "sha256": "ffbd9d7fbc5db3d3e89e127e63752ae0488441d92ebdef9aca050622d6e0d6a8" }, "downloads": -1, "filename": "std_encode-0.1.0.tar.gz", "has_sig": false, "md5_digest": "121b228492e9dfa04b3f21be32aa20fa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 1314, "upload_time": "2018-10-27T18:37:33", "url": "https://files.pythonhosted.org/packages/95/ce/55c035352ba88783f38f147185af8412cce52d20ead4ad7e48badbd7ba7a/std_encode-0.1.0.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "e9f78d4bebd0a6fa0ac009b935f84146", "sha256": "2cf8258de5abb952b7d99fd60f778db77bb9bdc3b2904d6f126639b1159eaf34" }, "downloads": -1, "filename": "std_encode-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e9f78d4bebd0a6fa0ac009b935f84146", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 6129, "upload_time": "2018-10-27T19:58:43", "url": "https://files.pythonhosted.org/packages/7f/e6/cbf1495994faae4d483c0f1577b71b9305bc9799f6972947975f5d9b6dc7/std_encode-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d70d4bb0bf3067e137778d546c9cb0c", "sha256": "bf546f94b416217bcf0340b5064dda26a2f738c32858b35a97321fbd61483787" }, "downloads": -1, "filename": "std_encode-0.1.3.tar.gz", "has_sig": false, "md5_digest": "3d70d4bb0bf3067e137778d546c9cb0c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 3776, "upload_time": "2018-10-27T19:58:44", "url": "https://files.pythonhosted.org/packages/30/34/fc4c42017de38e20f622355c490fc6a1e5495293aca3adbc613c344d5648/std_encode-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "871a9b6dc46abeb5808b35d3841e6964", "sha256": "53b55cb0d1c04e16e6336fc9e7fef13a6799b0e0fa0b548f8d84d6fcc71a041a" }, "downloads": -1, "filename": "std_encode-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "871a9b6dc46abeb5808b35d3841e6964", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 6131, "upload_time": "2018-10-27T20:15:52", "url": "https://files.pythonhosted.org/packages/2b/8a/12e47fcc7507bd48465739aa98a4f9bd4dc62ad55adb064ddbef58c32042/std_encode-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5a20dd0330a27fba768cfc4bcb4f1cde", "sha256": "361624dec5108bab510d56249404b291c993a7ff5fb4d2543710be18055056dd" }, "downloads": -1, "filename": "std_encode-0.1.4.tar.gz", "has_sig": false, "md5_digest": "5a20dd0330a27fba768cfc4bcb4f1cde", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 3782, "upload_time": "2018-10-27T20:15:54", "url": "https://files.pythonhosted.org/packages/e8/5a/5811b924580727fa6adfa790f6fee3ef2f8146165df808fa86f0aaa6aa33/std_encode-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d9e753faece7455bb7013a520b05424c", "sha256": "b080a12e5ea67b80301f9404afc90f613d63ff5e544a7ef2869ee8098b23221c" }, "downloads": -1, "filename": "std_encode-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d9e753faece7455bb7013a520b05424c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 6181, "upload_time": "2018-10-27T20:34:13", "url": "https://files.pythonhosted.org/packages/5e/58/42ec87e56d4212f6906385bdfc7d4bbc8e6afe5bf8a549ea6ce40d2fc043/std_encode-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3d9d865c536833dd1806a93625fe77cb", "sha256": "d106854dedb23eb6213c410aa7de57f3dfedc5ff42fe515266f11f0cc50eb8ae" }, "downloads": -1, "filename": "std_encode-0.2.0.tar.gz", "has_sig": false, "md5_digest": "3d9d865c536833dd1806a93625fe77cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 3849, "upload_time": "2018-10-27T20:34:15", "url": "https://files.pythonhosted.org/packages/63/52/6ad03e18883aa58f49daea1f89ad90ce6837c3a6ecc161a4e9fa4247d8fb/std_encode-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "28dfbd47ddd183665443cf3f9966a4f4", "sha256": "33e9cb59047463dd840969d5bb42ee9a32de5aaa2657f33187f6609904a298a2" }, "downloads": -1, "filename": "std_encode-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "28dfbd47ddd183665443cf3f9966a4f4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 6161, "upload_time": "2018-10-28T11:38:11", "url": "https://files.pythonhosted.org/packages/71/50/ed72a4d19ad22edee395bd8419450c2fed8f8fccd7762637147740176586/std_encode-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0cbee7d5425aa4f8791be7c50aecc966", "sha256": "8b11c46e32f74a270dbac063ed13894985664f5236eab261d276c66dcee89007" }, "downloads": -1, "filename": "std_encode-0.2.1.tar.gz", "has_sig": false, "md5_digest": "0cbee7d5425aa4f8791be7c50aecc966", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 3802, "upload_time": "2018-10-28T11:38:12", "url": "https://files.pythonhosted.org/packages/b6/e9/223a92c5a3fc953eebab3a9c7c195b60d087e25f515eda1f078d7fe139c2/std_encode-0.2.1.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "1439620dd9458bf78d4c629d4e050bdd", "sha256": "78c0ef959dee56ea6f1413b997cd529e68103b1bbef4c9f07f989cc3910ddab8" }, "downloads": -1, "filename": "std_encode-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1439620dd9458bf78d4c629d4e050bdd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4", "size": 6403, "upload_time": "2019-03-28T23:49:27", "url": "https://files.pythonhosted.org/packages/7b/da/6c205b50be0bdb14c19f0d90089b9d41a72d98ab52a8987d864c0409d812/std_encode-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0916e4822c13b5adbcb930e5d737b24", "sha256": "2b53945ea5ea20cf13cea4a75a025486f5b3b5b7a4409e6ee9c210e74c049906" }, "downloads": -1, "filename": "std_encode-0.2.3.tar.gz", "has_sig": false, "md5_digest": "b0916e4822c13b5adbcb930e5d737b24", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4", "size": 3862, "upload_time": "2019-03-28T23:49:28", "url": "https://files.pythonhosted.org/packages/19/cc/929a3aea8ba68a54f3a24ebe5d9d2124b45bf539102e0a5837b401ef754c/std_encode-0.2.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1439620dd9458bf78d4c629d4e050bdd", "sha256": "78c0ef959dee56ea6f1413b997cd529e68103b1bbef4c9f07f989cc3910ddab8" }, "downloads": -1, "filename": "std_encode-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1439620dd9458bf78d4c629d4e050bdd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5,<4", "size": 6403, "upload_time": "2019-03-28T23:49:27", "url": "https://files.pythonhosted.org/packages/7b/da/6c205b50be0bdb14c19f0d90089b9d41a72d98ab52a8987d864c0409d812/std_encode-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b0916e4822c13b5adbcb930e5d737b24", "sha256": "2b53945ea5ea20cf13cea4a75a025486f5b3b5b7a4409e6ee9c210e74c049906" }, "downloads": -1, "filename": "std_encode-0.2.3.tar.gz", "has_sig": false, "md5_digest": "b0916e4822c13b5adbcb930e5d737b24", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5,<4", "size": 3862, "upload_time": "2019-03-28T23:49:28", "url": "https://files.pythonhosted.org/packages/19/cc/929a3aea8ba68a54f3a24ebe5d9d2124b45bf539102e0a5837b401ef754c/std_encode-0.2.3.tar.gz" } ] }