{ "info": { "author": "Othoz GmbH", "author_email": "wiesner@othoz.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation", "Topic :: System :: Filesystems" ], "description": "GCSFS\n=====\n\nA Python filesystem abstraction of Google Cloud Storage (GCS) implemented as a `PyFilesystem2 `__ extension.\n\n\n.. image:: https://img.shields.io/pypi/v/fs-gcsfs.svg\n :target: https://pypi.org/project/fs-gcsfs/\n\n.. image:: https://img.shields.io/pypi/pyversions/fs-gcsfs.svg\n :target: https://pypi.org/project/fs-gcsfs/\n\n.. image:: https://travis-ci.org/Othoz/gcsfs.svg?branch=master\n :target: https://travis-ci.org/Othoz/gcsfs\n\n.. image:: https://readthedocs.org/projects/fs-gcsfs/badge/?version=latest\n :target: https://fs-gcsfs.readthedocs.io/en/latest/?badge=latest\n\n.. image:: https://api.codacy.com/project/badge/Coverage/6377a6e321cd4ccf94dfd6f09456d9ce\n :target: https://www.codacy.com/app/Othoz/gcsfs?utm_source=github.com&utm_medium=referral&utm_content=Othoz/gcsfs&utm_campaign=Badge_Coverage\n\n.. image:: https://api.codacy.com/project/badge/Grade/6377a6e321cd4ccf94dfd6f09456d9ce\n :target: https://www.codacy.com/app/Othoz/gcsfs?utm_source=github.com&utm_medium=referral&utm_content=Othoz/gcsfs&utm_campaign=Badge_Grade\n\n\nWith GCSFS, you can interact with `Google Cloud Storage `__ as if it was a regular filesystem.\n\nApart from the nicer interface, this will highly decouple your code from the underlying storage mechanism: Exchanging the storage backend with an\n`in-memory filesystem `__ for testing or any other\nfilesystem like `S3FS `__ becomes as easy as replacing ``gs://bucket_name`` with ``mem://`` or ``s3://bucket_name``.\n\nFor a full reference on all the PyFilesystem possibilities, take a look at the\n`PyFilesystem Docs `__!\n\n\nDocumentation\n-------------\n\n- `GCSFS Documentation `__\n- `PyFilesystem Wiki `__\n- `PyFilesystem Reference `__\n\n\nInstalling\n----------\n\nInstall the latest GCSFS version by running::\n\n $ pip install fs-gcsfs\n\nOr in case you are using conda::\n\n $ conda install -c conda-forge fs-gcsfs\n\n\nExamples\n--------\n\nInstantiating a filesystem on Google Cloud Storage (for a full reference visit the\n`Documentation `__):\n\n.. code-block:: python\n\n from fs_gcsfs import GCSFS\n gcsfs = GCSFS(bucket_name=\"mybucket\")\n\n\nAlternatively you can use a `FS URL `__ to open up a filesystem:\n\n.. code-block:: python\n\n from fs import open_fs\n gcsfs = open_fs(\"gs://mybucket/root_path?strict=False\")\n\nYou can use GCSFS like your local filesystem:\n\n.. code-block:: python\n\n >>> from fs_gcsfs import GCSFS\n >>> gcsfs = GCSFS(bucket_name=\"mybucket\")\n >>> gcsfs.tree()\n \u251c\u2500\u2500 foo\n \u2502 \u251c\u2500\u2500 bar\n \u2502 \u2502 \u251c\u2500\u2500 file1.txt\n \u2502 \u2502 \u2514\u2500\u2500 file2.csv\n \u2502 \u2514\u2500\u2500 baz\n \u2502 \u2514\u2500\u2500 file3.txt\n \u2514\u2500\u2500 file4.json\n >>> gcsfs.listdir(\"foo\")\n [\"bar\", \"baz\"]\n >>> gcsfs.isdir(\"foo/bar\")\n True\n\n\nUploading a file is as easy as:\n\n.. code-block:: python\n\n from fs_gcsfs import GCSFS\n gcsfs = GCSFS(bucket_name=\"mybucket\")\n with open(\"local/path/image.jpg\", \"rb\") as local_file:\n with gcsfs.open(\"path/on/bucket/image.jpg\", \"wb\") as gcs_file:\n gcs_file.write(local_file.read())\n\n\nYou can even sync an entire bucket on your local filesystem by using PyFilesystem's utility methods:\n\n.. code-block:: python\n\n from fs_gcsfs import GCSFS\n from fs.osfs import OSFS\n from fs.copy import copy_fs\n\n gcsfs = GCSFS(bucket_name=\"mybucket\")\n local_fs = OSFS(\"local/path\")\n\n copy_fs(gcsfs, local_fs)\n\n\nFor exploring all the possibilities of GCSFS and other filesystems implementing the PyFilesystem interface, we recommend visiting the official\n`PyFilesystem Docs `__!\n\n\nDevelopment\n-----------\n\nTo develop on this project make sure you have `pipenv `__ installed\nand run the following from the root directory of the project::\n\n $ pipenv install --dev --three\n\nThis will create a virtualenv with all packages and dev-packages installed.\n\n\nTests\n-----\nAll CI tests run against an actual GCS bucket provided by `Othoz `__. In order to run the tests against your own bucket,\nmake sure to set up a `Service Account `__ with all necessary permissions:\n\n- storage.buckets.get\n- storage.objects.get\n- storage.objects.list\n- storage.objects.create\n- storage.objects.update\n- storage.objects.delete\n\nExpose your bucket name as an environment variable ``$TEST_BUCKET`` and run the tests via::\n\n $ pipenv run pytest\n\nNote that the tests mostly wait for I/O, therefore it makes sense to highly parallelize them with `xdist `__.\n\n\nCredits\n-------\n\nCredits go to `S3FS `__ which was the main source of inspiration and shares a lot of code with GCSFS.", "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/Othoz/gcsfs", "keywords": "pyfilesystem,filesystem,google,gcs,google cloud storage", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "fs-gcsfs", "package_url": "https://pypi.org/project/fs-gcsfs/", "platform": "", "project_url": "https://pypi.org/project/fs-gcsfs/", "project_urls": { "Bug Tracker": "https://github.com/Othoz/gcsfs/issues", "Documentation": "http://fs-gcsfs.readthedocs.io/en/latest/", "Homepage": "https://github.com/Othoz/gcsfs" }, "release_url": "https://pypi.org/project/fs-gcsfs/1.0.0/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A PyFilesystem interface to Google Cloud Storage", "version": "1.0.0" }, "last_serial": 5735322, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "e6cbbd9971b4675ba15fd1fb20b67866", "sha256": "02d76a3488915934b025a0365ffbcdd58e4a5f18024578badb9ddbcaae17c2b7" }, "downloads": -1, "filename": "fs-gcsfs-0.1.1.tar.gz", "has_sig": false, "md5_digest": "e6cbbd9971b4675ba15fd1fb20b67866", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26756, "upload_time": "2018-09-12T15:10:24", "url": "https://files.pythonhosted.org/packages/1c/37/4b0fbbc0792434fe8a53e6696f0dff088cccaaa2fc04946ad5fec5b80804/fs-gcsfs-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "916ad1a73e960bea484d80aa94565901", "sha256": "0bda2ded6c4e1c1a1e970857ddfb58e123ca4923790873f53b1e446d8ec0f7bf" }, "downloads": -1, "filename": "fs-gcsfs-0.1.3.tar.gz", "has_sig": false, "md5_digest": "916ad1a73e960bea484d80aa94565901", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27552, "upload_time": "2018-10-04T15:29:53", "url": "https://files.pythonhosted.org/packages/5a/a8/61cfe228248f1fa0ed714038fcc2737a4b7e2954feb3eab34b23afb145b0/fs-gcsfs-0.1.3.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "38406f5bd53b38f09d83a27dc7aa63c5", "sha256": "100c91dd381d91f09d87e63a483d18674783e8bfbf0cb11a94bae61d112e8db6" }, "downloads": -1, "filename": "fs-gcsfs-0.1.5.tar.gz", "has_sig": false, "md5_digest": "38406f5bd53b38f09d83a27dc7aa63c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27489, "upload_time": "2018-10-10T09:41:55", "url": "https://files.pythonhosted.org/packages/33/73/e8a9861af1612b4c056d4b7ee85ff5b80ae1de01fba313d2129f5b042bdc/fs-gcsfs-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "c88bb30b7e5b47a23e6b8aeac46b97fc", "sha256": "4944234b3daddc21793677c915b4756849c923d68b352c53cab2e28df18503be" }, "downloads": -1, "filename": "fs-gcsfs-0.1.6.tar.gz", "has_sig": false, "md5_digest": "c88bb30b7e5b47a23e6b8aeac46b97fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27830, "upload_time": "2018-10-30T11:54:51", "url": "https://files.pythonhosted.org/packages/13/0e/2ebc389c3af66db0c46b9b8f5c6aad21af534832cf7e4b07cd87b4061dc6/fs-gcsfs-0.1.6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "bfccfd0477369b9bfb43c6d8e99297c2", "sha256": "757aed13c2ac852cf743cd0f23ded47b7f41de365bd840b422ae0d5f53915b6e" }, "downloads": -1, "filename": "fs-gcsfs-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bfccfd0477369b9bfb43c6d8e99297c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 9543, "upload_time": "2018-11-12T09:32:51", "url": "https://files.pythonhosted.org/packages/0d/13/530f43142048856e46df08e52eec484799b33c0e100719340b82dc72f100/fs-gcsfs-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "27c24d44d73e431f704cf2a1cca88103", "sha256": "12380577bb0e5f275e49c1c734c4ffa25f59cb720243255cee96899994b9cd71" }, "downloads": -1, "filename": "fs-gcsfs-0.3.0.tar.gz", "has_sig": false, "md5_digest": "27c24d44d73e431f704cf2a1cca88103", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 11346, "upload_time": "2018-11-20T13:50:03", "url": "https://files.pythonhosted.org/packages/e3/a8/d82b033bde4cf5462eea2238b423423a47c372559ea8eaaca18105f7afa1/fs-gcsfs-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f75d19bbf833170719093aa9417daa7a", "sha256": "ea159de35bfc3a451cf6a1a597a9aab7135d54e8e76ce3b5d3c40f6a2c99f17a" }, "downloads": -1, "filename": "fs-gcsfs-0.4.0.tar.gz", "has_sig": false, "md5_digest": "f75d19bbf833170719093aa9417daa7a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13745, "upload_time": "2018-12-14T08:38:52", "url": "https://files.pythonhosted.org/packages/11/b6/0e606326bcbc77bd18cc767a7daeaaf357409f046d9b56624bbf9cb256cf/fs-gcsfs-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "0416aca4d9c366e95213891d66ab4090", "sha256": "7ffbcb06c3d46beaf4e49c5c16dcd151e7bbc979529d823cdb957d793186852b" }, "downloads": -1, "filename": "fs-gcsfs-0.4.1.tar.gz", "has_sig": false, "md5_digest": "0416aca4d9c366e95213891d66ab4090", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13812, "upload_time": "2018-12-18T11:14:53", "url": "https://files.pythonhosted.org/packages/a3/40/54fe75e6d2ff18832c48dd018fe61fe4dada175a9c350a47fe84348161b2/fs-gcsfs-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "0f9f3a101a4177d21209a69b77b660b9", "sha256": "7ede05cafe71ecc7a8ca91f88e9c64d3f7a28f0675ac4e82bccead789cd621b6" }, "downloads": -1, "filename": "fs-gcsfs-0.4.2.tar.gz", "has_sig": false, "md5_digest": "0f9f3a101a4177d21209a69b77b660b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 13915, "upload_time": "2019-07-31T15:34:00", "url": "https://files.pythonhosted.org/packages/66/17/1193ad2d52fe942dfebefd0589beac9207770dc5c07d51ebf64a61df21ec/fs-gcsfs-0.4.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "a00f1c6ab276cf4e37312ecc5832c585", "sha256": "76a2bb392c4c9db11fd82f7b48c317762642cab768d1c5453edf4acaac3e81c8" }, "downloads": -1, "filename": "fs-gcsfs-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a00f1c6ab276cf4e37312ecc5832c585", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 23252, "upload_time": "2019-08-27T08:14:11", "url": "https://files.pythonhosted.org/packages/a2/7f/8b543adf7e67808331f192302e34c724dc3e962c6ef0af7aed4dd30eb619/fs-gcsfs-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a00f1c6ab276cf4e37312ecc5832c585", "sha256": "76a2bb392c4c9db11fd82f7b48c317762642cab768d1c5453edf4acaac3e81c8" }, "downloads": -1, "filename": "fs-gcsfs-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a00f1c6ab276cf4e37312ecc5832c585", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 23252, "upload_time": "2019-08-27T08:14:11", "url": "https://files.pythonhosted.org/packages/a2/7f/8b543adf7e67808331f192302e34c724dc3e962c6ef0af7aed4dd30eb619/fs-gcsfs-1.0.0.tar.gz" } ] }