{ "info": { "author": "Amazon Web Services", "author_email": "aws-cryptools@amazon.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "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.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython" ], "description": "########\nbase64io\n########\n\n.. image:: https://img.shields.io/pypi/v/base64io.svg\n :target: https://pypi.python.org/pypi/base64io\n :alt: Latest Version\n\n.. image:: https://img.shields.io/pypi/pyversions/base64io.svg\n :target: https://pypi.python.org/pypi/base64io\n :alt: Supported Python Versions\n\n.. image:: https://img.shields.io/badge/code_style-black-000000.svg\n :target: https://github.com/ambv/black\n :alt: Code style: black\n\n.. image:: https://readthedocs.org/projects/base64io-python/badge/\n :target: https://base64io-python.readthedocs.io/en/stable/\n :alt: Documentation Status\n\n.. image:: https://travis-ci.org/aws/base64io-python.svg?branch=master\n :target: https://travis-ci.org/aws/base64io-python\n\n.. image:: https://ci.appveyor.com/api/projects/status/ds8xvogp4m70j9ks?svg=true\n :target: https://ci.appveyor.com/project/mattsb42-aws/base64io-python-36722\n\nThis project is designed to develop a class, ``base64io.Base64IO``, that implements\na streaming interface for Base64 encoding.\n\nPython has supported native Base64 encoding since version 2.4. However, there is no\nstreaming interface for Base64 encoding, and none is available from the community.\n\nThe legacy ``base64.encode`` and ``base64.decode`` interface lets you shuffle data between\ntwo streams, but it assumes that you have two complete streams. We wanted a\nstandard stream that applies Base64 encoding and decoding.\n\n``base64io.Base64IO`` provides an `io` streaming interface with context manager\nsupport that transparently Base64-encodes data read from it. You can use it to transform\nlarge files without caching the entire context in memory, or to transform an existing\nstream.\n\nFor the latest full documentation, see `Read the Docs`_.\n\nFind us on `GitHub`_.\n\n***************\nGetting Started\n***************\n\n``base64io.Base64IO`` has no dependencies other than the standard library and should\nwork with any version of Python greater than 2.6. We test it on CPython 2.6, 2.7, 3.3,\n3.4, 3.5, 3.6, and 3.7.\n\nInstallation\n============\n\n.. code::\n\n $ pip install base64io\n\n***\nUse\n***\n``base64io.Base64IO`` wraps the input stream and transparently encodes or decodes\ndata written to or read from the input stream.\n\n* ``write()`` encodes data before writing it to the wrapped stream\n* ``read()`` decodes data after reading it from the wrapped stream\n\nBecause the position of the ``base64io.Base64IO`` stream and the wrapped stream will\nalmost always be different, ``base64io.Base64IO`` does not support:\n\n* ``seek()``\n* ``tell()``\n\nAlso, ``base64io.Base64IO`` does not support:\n\n* ``fileno()``\n* ``truncate()``\n\nEncode data\n===========\n\n.. warning::\n\n If you are not using ``base64io.Base64IO`` as a context manager, when you write to\n a ``base64io.Base64IO`` stream, you **must** close the stream after your final\n write. The Base64 transformation might hold up to two bytes of unencoded data in an\n internal buffer before writing it to the wrapped stream. Calling ``close()`` flushes\n this buffer and writes the padded result to the wrapped stream. The\n ``base64io.Base64IO`` context manager does this for you.\n\n.. code-block:: python\n\n from base64io import Base64IO\n\n with open(\"source_file\", \"rb\") as source, open(\"encoded_file\", \"wb\") as target:\n with Base64IO(target) as encoded_target:\n for line in source:\n encoded_target.write(line)\n\nDecode data\n===========\n\n.. note::\n\n When it reads data from the wrapping stream, it might read up to three additional bytes\n from the underlying stream.\n\n.. code-block:: python\n\n from base64io import Base64IO\n\n with open(\"encoded_file\", \"rb\") as encoded_source, open(\"target_file\", \"wb\") as target:\n with Base64IO(encoded_source) as source:\n for line in source:\n target.write(line)\n\n*******\nLicense\n*******\n\nThis library is licensed under the Apache 2.0 License.\n\n.. _Read the Docs: http://base64io-python.readthedocs.io/en/latest/\n.. _GitHub: https://github.com/aws/base64io-python/\n.. _base64 documentation: https://docs.python.org/3/library/base64.html#base64.decode\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aws/base64io-python", "keywords": "base64 stream", "license": "Apache License 2.0", "maintainer": "Amazon Web Services", "maintainer_email": "", "name": "base64io", "package_url": "https://pypi.org/project/base64io/", "platform": "", "project_url": "https://pypi.org/project/base64io/", "project_urls": { "Homepage": "https://github.com/aws/base64io-python" }, "release_url": "https://pypi.org/project/base64io/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "", "version": "1.0.3" }, "last_serial": 4582458, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c6f5dbcf7d79bb21a82f223792b64c16", "sha256": "676016ca53a7475cb8888bcd113b38a49d77651bc766619f54782341dbfb83d1" }, "downloads": -1, "filename": "base64io-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c6f5dbcf7d79bb21a82f223792b64c16", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16497, "upload_time": "2018-05-16T17:41:32", "url": "https://files.pythonhosted.org/packages/99/14/09b8d9bd8c254ba1595815c5d2c11951f4aee9dd6bf34e2e9a7ad2710084/base64io-1.0.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52d3feda8a9439f3714cca5a3c71fc47", "sha256": "aac3ba723cba2e949ff74abd3edbca5aa3bf5cc35c62eedd9d2a085480229990" }, "downloads": -1, "filename": "base64io-1.0.0.tar.gz", "has_sig": false, "md5_digest": "52d3feda8a9439f3714cca5a3c71fc47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1778485, "upload_time": "2018-05-16T17:41:34", "url": "https://files.pythonhosted.org/packages/f4/99/6f59219832e2e0c7edccf82fafef2300fb8b1f9a4a70594819ae74b13b07/base64io-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "751da6e585cc9711a9ed48c954f5c12d", "sha256": "fc6ce132c7fbac2e9a8db5db38d5419dda0e125c09674230e146fdf25b542a6e" }, "downloads": -1, "filename": "base64io-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "751da6e585cc9711a9ed48c954f5c12d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16901, "upload_time": "2018-06-18T22:22:20", "url": "https://files.pythonhosted.org/packages/40/59/e57d1a132819d9ff9b96b1e86084df758edd57440d0dc32f5c00d0f1d775/base64io-1.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d75f9d330b00dbb154846151f5ec3484", "sha256": "8d322a9af0208aaa37639738876756f945efee48f62a6a22e40480099a0b2a20" }, "downloads": -1, "filename": "base64io-1.0.1.tar.gz", "has_sig": false, "md5_digest": "d75f9d330b00dbb154846151f5ec3484", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6743605, "upload_time": "2018-06-18T22:22:23", "url": "https://files.pythonhosted.org/packages/a0/10/bd0bcd056295cb9efa24acc7a459b054d7da11454ecb3a2df4586e2b581d/base64io-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "1a8f3d6228144be457f41835f699f7c9", "sha256": "db5763a67fc6b00f7c04c8f8d8bab3dfeef4cdb0856dc3881e542358b9a55530" }, "downloads": -1, "filename": "base64io-1.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1a8f3d6228144be457f41835f699f7c9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17126, "upload_time": "2018-08-02T00:08:39", "url": "https://files.pythonhosted.org/packages/25/ee/e2c1dea0e2a5cc6c80e018f7010e9a609a458739c2ddd6c41a6a762639c4/base64io-1.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7fd3a7976e2927cdd989e45174f42b2b", "sha256": "a71b95f00c849700d60122a29614ad232efa6883cc40cb57160941d8fa14d71d" }, "downloads": -1, "filename": "base64io-1.0.2.tar.gz", "has_sig": false, "md5_digest": "7fd3a7976e2927cdd989e45174f42b2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16128, "upload_time": "2018-08-02T00:08:41", "url": "https://files.pythonhosted.org/packages/6e/85/b0bc43f6a2daf864a7ef3a6f4aff5ea535363d6a9082976883e9a77a8391/base64io-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d7269162ab03be13fb212e17c90e2878", "sha256": "e9a6c9f470e34f8debaad26134bcf3f0bcbf677dac73e32295cfb2915d30815b" }, "downloads": -1, "filename": "base64io-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d7269162ab03be13fb212e17c90e2878", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17315, "upload_time": "2018-12-10T20:40:45", "url": "https://files.pythonhosted.org/packages/c7/9c/401865bd07802b916c327342ed609f9ac0aa8c6c48bea1a32b7eabc17229/base64io-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96e8d5f62b7b237de3259d8b7c808886", "sha256": "24f2d0fe765c35339e1b2d33aa95f9137b1b765b594164fad1016c15827a7073" }, "downloads": -1, "filename": "base64io-1.0.3.tar.gz", "has_sig": false, "md5_digest": "96e8d5f62b7b237de3259d8b7c808886", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16640, "upload_time": "2018-12-10T20:40:47", "url": "https://files.pythonhosted.org/packages/a5/5e/5bf8377df11c190df3db242129739c532f396be185d63eb4222a1dbf62ce/base64io-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d7269162ab03be13fb212e17c90e2878", "sha256": "e9a6c9f470e34f8debaad26134bcf3f0bcbf677dac73e32295cfb2915d30815b" }, "downloads": -1, "filename": "base64io-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d7269162ab03be13fb212e17c90e2878", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17315, "upload_time": "2018-12-10T20:40:45", "url": "https://files.pythonhosted.org/packages/c7/9c/401865bd07802b916c327342ed609f9ac0aa8c6c48bea1a32b7eabc17229/base64io-1.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "96e8d5f62b7b237de3259d8b7c808886", "sha256": "24f2d0fe765c35339e1b2d33aa95f9137b1b765b594164fad1016c15827a7073" }, "downloads": -1, "filename": "base64io-1.0.3.tar.gz", "has_sig": false, "md5_digest": "96e8d5f62b7b237de3259d8b7c808886", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16640, "upload_time": "2018-12-10T20:40:47", "url": "https://files.pythonhosted.org/packages/a5/5e/5bf8377df11c190df3db242129739c532f396be185d63eb4222a1dbf62ce/base64io-1.0.3.tar.gz" } ] }