{ "info": { "author": "Lior Mizrahi", "author_email": "li.mizr@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "S3Path\n======\n\n.. image:: https://badgen.net/pypi/v/s3path\n :target: https://pypi.org/project/s3path/\n :alt: Latest version\n\n.. image:: https://badgen.net/travis/liormizr/s3path/\n :target: https://travis-ci.com/liormizr/s3path\n :alt: Travis-CI\n\nS3Path provide a Python convenient File-System/Path like interface for AWS S3 Service using boto3 S3 resource as a driver.\n\nLike pathlib, but for S3 Buckets\n________________________________\n\nAWS S3 is among the most popular cloud storage solutions. It's object storage, is built to store and retrieve various amounts of data from anywhere.\n\nCurrently, Python developers use Boto3 as the default API to connect / put / get / list / delete files from S3.\n\nS3Path blends Boto3's ease of use and the familiarity of pathlib api.\n\nInstall:\n========\n\n.. code:: bash\n\n $ pip install s3path\n\nBasic use:\n==========\n\nThe following example assumes an s3 bucket setup as specified bellow:\n\n.. code:: bash\n\n $ aws s3 ls s3://pypi-proxy/\n\n 2018-04-24 22:59:59 186 requests/index.html\n 2018-04-24 22:59:57 485015 requests/requests-2.9.1.tar.gz\n 2018-04-24 22:35:01 89112 boto3/boto3-1.4.1.tar.gz\n 2018-04-24 22:35:02 180 boto3/index.html\n 2018-04-24 22:35:19 3308919 botocore/botocore-1.4.93.tar.gz\n 2018-04-24 22:35:36 188 botocore/index.html\n\nImporting the main class:\n\n.. code:: python\n\n >>> from s3path import S3Path\n\nListing \"subdirectories\" - s3 keys can be split like file-system with a `/` in s3path we:\n\n.. code:: python\n\n >>> bucket_path = S3Path('/pypi-proxy/')\n >>> [path for path in bucket_path.iterdir() if path.is_dir()]\n [S3Path('/pypi-proxy/requests/'),\n S3Path('/pypi-proxy/boto3/'),\n S3Path('/pypi-proxy/botocore/')]\n\nListing html source files in this \"directory\" tree:\n\n.. code:: python\n\n >>> bucket_path = S3Path('/pypi-proxy/')\n >>> list(bucket_path.glob('**/*.html'))\n [S3Path('/pypi-proxy/requests/index.html'),\n S3Path('/pypi-proxy/boto3/index.html'),\n S3Path('/pypi-proxy/botocore/index.html')]\n\nNavigating inside a \"directory\" tree:\n\n.. code:: python\n\n >>> bucket_path = S3Path('/pypi-proxy/')\n >>> boto3_package_path = bucket_path / 'boto3' / 'boto3-1.4.1.tar.gz'\n >>> boto3_package_path\n S3Path('/pypi-proxy/boto3/boto3-1.4.1.tar.gz')\n\nQuerying path properties:\n\n.. code:: python\n\n >>> boto3_package_path = S3Path('/pypi-proxy/boto3/boto3-1.4.1.tar.gz')\n >>> boto3_package_path.exists()\n True\n >>> boto3_package_path.is_dir()\n False\n >>> boto3_package_path.is_file()\n True\n\nOpening a \"file\" (s3 key):\n\n.. code:: python\n\n >>> botocore_index_path = S3Path('/pypi-proxy/botocore/index.html')\n >>> with botocore_index_path.open() as f:\n >>> print(f.read())\n \"\"\"\n \n \n \n \n Package Index\n \n \n botocore-1.4.93.tar.gz
\n \n \n \"\"\"\n\n\nOr Simply reading:\n\n.. code:: python\n\n >>> botocore_index_path = S3Path('/pypi-proxy/botocore/index.html')\n >>> botocore_index_path.read_text()\n \"\"\"\n \n \n \n \n Package Index\n \n \n botocore-1.4.93.tar.gz
\n \n \n \"\"\"\n\nRequirements:\n=============\n\n* Python >= 3.4\n* boto3\n\nFor pathlib style documentation of all interfaces `interface_docs`_.\n\nFor s3path vs boto3 comparison `boto3_comparison`_.\n\nFor advance features (configurations/s3 parameters) `boto3_advance`_.\n\n.. _interface_docs: https://github.com/liormizr/s3path/blob/master/docs/interface.rst\n.. _boto3_comparison: https://github.com/liormizr/s3path/blob/master/docs/comparison.rst\n.. _boto3_advance: https://github.com/liormizr/s3path/blob/master/docs/advance.rst\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/liormizr/s3path", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "s3path", "package_url": "https://pypi.org/project/s3path/", "platform": "", "project_url": "https://pypi.org/project/s3path/", "project_urls": { "Homepage": "https://github.com/liormizr/s3path" }, "release_url": "https://pypi.org/project/s3path/0.1.7/", "requires_dist": [ "boto3" ], "requires_python": ">= 3.4", "summary": "", "version": "0.1.7" }, "last_serial": 5919525, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "adacf4279a9be77c7881df784d3cf1f3", "sha256": "049bff13f3df6c3f216cebb764c891abf4e0fe6c6d41bba1f9d372284bf229f3" }, "downloads": -1, "filename": "s3path-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "adacf4279a9be77c7881df784d3cf1f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11243, "upload_time": "2019-04-16T07:14:52", "url": "https://files.pythonhosted.org/packages/f3/74/0e4e6bc1a72a235793de17b023559b85a8c48f6192ee2cd5a305f9b555ac/s3path-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffdeb49f68d196d65e96ccff0e75bce0", "sha256": "d6ff188a1838685fbf00f2db4f14d322eb2ddc583d75af1af6eb72e98e87e82d" }, "downloads": -1, "filename": "s3path-0.1.0.tar.gz", "has_sig": false, "md5_digest": "ffdeb49f68d196d65e96ccff0e75bce0", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 11742, "upload_time": "2019-04-16T07:14:54", "url": "https://files.pythonhosted.org/packages/b2/82/e34fc611500a3ead255385c34690d1e86fa4311a8847a9f4046225883d54/s3path-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1be228c364afd4556c20cc71cf0525bc", "sha256": "ada36927322c9126f67f430befa5824010514f97f9d41a7367db6e9fae198868" }, "downloads": -1, "filename": "s3path-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1be228c364afd4556c20cc71cf0525bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11242, "upload_time": "2019-04-16T07:31:38", "url": "https://files.pythonhosted.org/packages/b3/46/87c9527a92196f14051d42a285777f72257bb445f3a024df76ddaca918e6/s3path-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "957acba45f85d044ba8e2d2fd763adcb", "sha256": "1350c8ff89faf910ac19cf1f9571a4d6b1f8284996af01c2c5023f44770e614f" }, "downloads": -1, "filename": "s3path-0.1.1.tar.gz", "has_sig": false, "md5_digest": "957acba45f85d044ba8e2d2fd763adcb", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 11739, "upload_time": "2019-04-16T07:31:39", "url": "https://files.pythonhosted.org/packages/1d/23/ea4277122e146c1083fbb42360ed3625a69e4808583105236ae6b8857862/s3path-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "de92e607c15df927f1a308fada938361", "sha256": "4922779272cbd0e29fa23236db12c48f06547df8c2acd69e81a86199229f7485" }, "downloads": -1, "filename": "s3path-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "de92e607c15df927f1a308fada938361", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11362, "upload_time": "2019-04-16T09:31:21", "url": "https://files.pythonhosted.org/packages/08/89/4097c289c20b21d0fa5c2f770d1898dfe0632b1ddf9fb42f32a78b7054c5/s3path-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8ab842e504725ef1f263107c0d9a242", "sha256": "fed914affafa9ce6dcd4f40b2ee854410f1d9106d2c8d156f1e4f153285d7a0f" }, "downloads": -1, "filename": "s3path-0.1.2.tar.gz", "has_sig": false, "md5_digest": "f8ab842e504725ef1f263107c0d9a242", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 27415, "upload_time": "2019-04-16T09:31:22", "url": "https://files.pythonhosted.org/packages/ad/98/d02731536d5da338ff4f1631a5053915bb452141222f8c03750e49b6c449/s3path-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "b6ce64f6247fcb0cac650a35c3857375", "sha256": "0a3448c448c696ea2df720956a53383e5176102aca73cfa254f8a00bd6e79cf2" }, "downloads": -1, "filename": "s3path-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b6ce64f6247fcb0cac650a35c3857375", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11362, "upload_time": "2019-04-16T10:39:38", "url": "https://files.pythonhosted.org/packages/38/a2/3fdd3009c38a4eb706251178a832106e48412b3860cda8373baef556f306/s3path-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "336741fd5b7e591ce16beda7dbf164b4", "sha256": "a2274a186dd5db73a603cee802ac5e78b86d7768002b82e105f58a5f1f38739d" }, "downloads": -1, "filename": "s3path-0.1.3.tar.gz", "has_sig": false, "md5_digest": "336741fd5b7e591ce16beda7dbf164b4", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 27408, "upload_time": "2019-04-16T10:39:39", "url": "https://files.pythonhosted.org/packages/50/11/8c486a79fdfedccd0dd4f3d60ee2c6f5f43bc2c449fb84f1db5c0d581489/s3path-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "693f13bc66a6cd3e5984fc352a420dc7", "sha256": "109d19b85ae509a5fa9b2a0ae1bc387f15e9dc86d08cdeee352bdd03cf5108e6" }, "downloads": -1, "filename": "s3path-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "693f13bc66a6cd3e5984fc352a420dc7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11374, "upload_time": "2019-04-17T11:34:17", "url": "https://files.pythonhosted.org/packages/89/1d/4e421335f9884b1019ac8833a6e7be1febb50a91a4f22ed6d552a9cd00a7/s3path-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1248a74ea1b5dc4f6b1a0720d3697bff", "sha256": "9bd5b9f6c2105a4377e357f6e3044b0cb1520e28de6bea5be9bcc436bf74b020" }, "downloads": -1, "filename": "s3path-0.1.4.tar.gz", "has_sig": false, "md5_digest": "1248a74ea1b5dc4f6b1a0720d3697bff", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 12032, "upload_time": "2019-04-17T11:34:18", "url": "https://files.pythonhosted.org/packages/2b/2b/fccbfe813dd9d7d215622e16c7e5a8fa945d57c03b64863d6beda3863ab0/s3path-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "a0361097683b30a70b990c8495756c46", "sha256": "fdc7b61f2169502e6285691591c56a3ae0cde15ff687f87d0862c6097de6fd77" }, "downloads": -1, "filename": "s3path-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "a0361097683b30a70b990c8495756c46", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11402, "upload_time": "2019-04-18T12:49:37", "url": "https://files.pythonhosted.org/packages/5e/de/5d8dc3bbdd6c0bd382539264f46bc1a67846d5e2a5001604e8540364017b/s3path-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "83a5a9c1901779001412b7f42d6fede9", "sha256": "8b6b17ff03736ac47f241369ff5c9f695f24480bf378d36cd1cd267c35733293" }, "downloads": -1, "filename": "s3path-0.1.5.tar.gz", "has_sig": false, "md5_digest": "83a5a9c1901779001412b7f42d6fede9", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 12062, "upload_time": "2019-04-18T12:49:39", "url": "https://files.pythonhosted.org/packages/a1/f5/833415f988b354f5cdd0e160a906904a1c392d5d25da70ce4f32a55c6cc3/s3path-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "02e4f752d548918b667944f4899f2d41", "sha256": "579fa479ea2c8b3fc014b180ac2513ab4bedd265b92dbff98081334f4f2ae02c" }, "downloads": -1, "filename": "s3path-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "02e4f752d548918b667944f4899f2d41", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11536, "upload_time": "2019-05-05T10:08:40", "url": "https://files.pythonhosted.org/packages/a9/9b/8f1eb5c7c77f1a08784c25e92bd62c91c3e24caa9f51abb1fa37a85a1acb/s3path-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "813fad1992611c5aa30e22c670c26c1d", "sha256": "e8b000f0c48ff9bef0837825f310b01cf6ae4172587da45b9316ee30d3395253" }, "downloads": -1, "filename": "s3path-0.1.6.tar.gz", "has_sig": false, "md5_digest": "813fad1992611c5aa30e22c670c26c1d", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 12169, "upload_time": "2019-05-05T10:08:41", "url": "https://files.pythonhosted.org/packages/10/cf/a2c6d604f099a616a03946c9cd62604d87013d44c7608f1f9ed7853ebdc8/s3path-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "a70729da21a92f230a1ed9b476c213f3", "sha256": "754f817e4ff74bb31a7e8d81abeafff8b385fcc587ba2abbe9dff79d4fb291b0" }, "downloads": -1, "filename": "s3path-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a70729da21a92f230a1ed9b476c213f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11636, "upload_time": "2019-10-02T18:49:06", "url": "https://files.pythonhosted.org/packages/6b/b2/81c4ce28a571a61c6179cf2667ea674deafa2d9818fda5e214217b6ee36b/s3path-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e660280cfec177f20ef927764c8fad79", "sha256": "f39dc28e3ead6cf850f8e5756d9f214bb28110a5c96a321a4e377d5e3e360d61" }, "downloads": -1, "filename": "s3path-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e660280cfec177f20ef927764c8fad79", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 13114, "upload_time": "2019-10-02T18:49:08", "url": "https://files.pythonhosted.org/packages/9a/e4/b382e040e14ba58d0319f0b6f05669b36bc76837b9e70027e25a13243249/s3path-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a70729da21a92f230a1ed9b476c213f3", "sha256": "754f817e4ff74bb31a7e8d81abeafff8b385fcc587ba2abbe9dff79d4fb291b0" }, "downloads": -1, "filename": "s3path-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a70729da21a92f230a1ed9b476c213f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">= 3.4", "size": 11636, "upload_time": "2019-10-02T18:49:06", "url": "https://files.pythonhosted.org/packages/6b/b2/81c4ce28a571a61c6179cf2667ea674deafa2d9818fda5e214217b6ee36b/s3path-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e660280cfec177f20ef927764c8fad79", "sha256": "f39dc28e3ead6cf850f8e5756d9f214bb28110a5c96a321a4e377d5e3e360d61" }, "downloads": -1, "filename": "s3path-0.1.7.tar.gz", "has_sig": false, "md5_digest": "e660280cfec177f20ef927764c8fad79", "packagetype": "sdist", "python_version": "source", "requires_python": ">= 3.4", "size": 13114, "upload_time": "2019-10-02T18:49:08", "url": "https://files.pythonhosted.org/packages/9a/e4/b382e040e14ba58d0319f0b6f05669b36bc76837b9e70027e25a13243249/s3path-0.1.7.tar.gz" } ] }