{
"info": {
"author": "Martin Larralde",
"author_email": "martin.larralde@ens-cachan.fr",
"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 :: 2.7",
"Programming Language :: Python :: 3.3",
"Programming Language :: Python :: 3.4",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Filesystems"
],
"description": "fs.proxy\n========\n\n|Source| |PyPI| |Travis| |Codecov| |Codacy| |Format| |License|\n\n.. |Codacy| image:: https://img.shields.io/codacy/grade/6c923611c7fd49809cfe58a4d2e131ce/master.svg?style=flat-square&maxAge=300\n :target: https://www.codacy.com/app/althonos/fs.proxy/dashboard\n\n.. |Travis| image:: https://img.shields.io/travis/althonos/fs.proxy/master.svg?style=flat-square&maxAge=300\n :target: https://travis-ci.org/althonos/fs.proxy/branches\n\n.. |Codecov| image:: https://img.shields.io/codecov/c/github/althonos/fs.proxy/master.svg?style=flat-square&maxAge=300\n :target: https://codecov.io/gh/althonos/fs.proxy\n\n.. |PyPI| image:: https://img.shields.io/pypi/v/fs.proxy.svg?style=flat-square&maxAge=300\n :target: https://pypi.python.org/pypi/fs.proxy\n\n.. |Format| image:: https://img.shields.io/pypi/format/fs.proxy.svg?style=flat-square&maxAge=300\n :target: https://pypi.python.org/pypi/fs.proxy\n\n.. |Versions| image:: https://img.shields.io/pypi/pyversions/fs.proxy.svg?style=flat-square&maxAge=300\n :target: https://travis-ci.org/althonos/fs.proxy\n\n.. |License| image:: https://img.shields.io/pypi/l/fs.proxy.svg?style=flat-square&maxAge=300\n :target: https://choosealicense.com/licenses/mit/\n\n.. |Source| image:: https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=300&style=flat-square\n :target: https://github.com/althonos/fs.proxy\n\n\nRequirements\n------------\n\n+-------------------+-----------------+-------------------+--------------------+\n| **pyfilesystem2** | |PyPI fs| | |Source fs| | |License fs| |\n+-------------------+-----------------+-------------------+--------------------+\n| **six** | |PyPI six| | |Source six| | |License six| |\n+-------------------+-----------------+-------------------+--------------------+\n| **psutil** | |PyPI psutil| | |Source psutil| | |License psutil| |\n+-------------------+-----------------+-------------------+--------------------+\n\n.. |License six| image:: https://img.shields.io/pypi/l/six.svg?maxAge=300&style=flat-square\n :target: https://choosealicense.com/licenses/mit/\n\n.. |Source six| image:: https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=300&style=flat-square\n :target: https://github.com/benjaminp/six\n\n.. |PyPI six| image:: https://img.shields.io/pypi/v/six.svg?maxAge=300&style=flat-square\n :target: https://pypi.python.org/pypi/six\n\n.. |License fs| image:: https://img.shields.io/badge/license-MIT-blue.svg?maxAge=300&style=flat-square\n :target: https://choosealicense.com/licenses/mit/\n\n.. |Source fs| image:: https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=300&style=flat-square\n :target: https://github.com/PyFilesystem/pyfilesystem2\n\n.. |PyPI fs| image:: https://img.shields.io/pypi/v/fs.svg?maxAge=300&style=flat-square\n :target: https://pypi.python.org/pypi/fs\n\n.. |License psutil| image:: https://img.shields.io/pypi/l/psutil.svg?maxAge=300&style=flat-square\n :target: https://choosealicense.com/licenses/bsd-3-clause/\n\n.. |Source psutil| image:: https://img.shields.io/badge/source-GitHub-303030.svg?maxAge=300&style=flat-square\n :target: https://github.com/giampaolo/psutil\n\n.. |PyPI psutil| image:: https://img.shields.io/pypi/v/psutil.svg?maxAge=300&style=flat-square\n :target: https://pypi.python.org/pypi/psutil\n\n\nInstallation\n------------\n\nInstall directly from PyPI, using `pip `_ ::\n\n pip install fs.proxy\n\n\nUsage\n-----\n\nThis module revolves around the notion of proxy filesystems, akin to wrapper\nfilesystems from the core library, but using a *proxy* in combination with the\n*delegate* filesystem used by ``WrapFS``. They also make it easier to create generic\nwrappers, as ``fs.proxy.base.Proxy`` subclasses will use the ``fs.base.FS`` method\nimplementation, while actually deriving from ``WrapFS`` !\n\nThis extension includes a base ``fs.proxy.base.Proxy`` class, that requires only the\n`essential filesystem methods\n`_\nto be implemented.\n\nThe ``fs.proxy.writer`` package also declares two classes that can be used to make\nany read-only filesystem *writeable*, using a secondary writeable filesystem:\n``fs.proxy.writer.ProxyWriter`` and ``fs.proxy.writer.SwapWriter``. ``ProxyWriter``\nwill always write modifications to the secondary filesystem (often a ``MemoryFS`` or\na ``TempFS``), while ``SwapWriter`` will use a third *backup* filesystem in case\nthe memory footprint of the proxy filesystem becomes too large (swapping from a\n``MemoryFS`` to an ``OSFS``, etc.). For instance, let's pretend we can write to\nthe root:\n\n.. code:: python\n\n >>> import fs.proxy.writer\n\n >>> read_only_fs = fs.open_fs(u'/') # this is not actually read-only ;)\n >>> writeable_fs = fs.proxy.writer.ProxyWriter(read_only_fs)\n >>> writeable_fs.setbytes(u'/root.txt', b'I am writing in root !')\n\n >>> writeable_fs.exists(u'/root.txt')\n True\n >>> read_only_fs.exists(u'/root.txt')\n False\n\n\nSee also\n--------\n\n* `fs `_, the core pyfilesystem2 library\n* `fs.archive `_, enhanced archive filesystems\n for pyfilesystem2\n* `fs.sshfs `_, a SFTP/SSH implementation for\n pyfilesystem2 using `paramiko `_\n* `fs.smbfs `_, Pyfilesystem2 over SMB\n using pysmb\n\n\n",
"description_content_type": null,
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://github.com/althonos/fs.proxy",
"keywords": "proxy,filesystem,Pyfilesystem2",
"license": "MIT",
"maintainer": "",
"maintainer_email": "",
"name": "fs.proxy",
"package_url": "https://pypi.org/project/fs.proxy/",
"platform": "any",
"project_url": "https://pypi.org/project/fs.proxy/",
"project_urls": {
"Homepage": "https://github.com/althonos/fs.proxy"
},
"release_url": "https://pypi.org/project/fs.proxy/0.1.4/",
"requires_dist": [
"fs (~=2.0.4)",
"six (~=1.10)",
"psutil (~=2.0)"
],
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"summary": "Miscellaneous proxy filesystems for Pyfilesystem2",
"version": "0.1.4"
},
"last_serial": 3182604,
"releases": {
"0.1.0": [
{
"comment_text": "",
"digests": {
"md5": "d0746e1257863fa1349c4cc656b83e67",
"sha256": "21ef530011bcbb9ab71fc0da01a9a78b2b7f935cc52ec8b92cc5e6107055fb03"
},
"downloads": -1,
"filename": "fs.proxy-0.1.0-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "d0746e1257863fa1349c4cc656b83e67",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": null,
"size": 7408,
"upload_time": "2017-06-29T15:42:35",
"url": "https://files.pythonhosted.org/packages/4d/40/fe911a806d8ee3b73e0ee96d38650603a8b28b6799bffeaa239034d796b7/fs.proxy-0.1.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "1f50d53c42acc87c2b496664f25e341d",
"sha256": "ba56b94e3710bbbdf2b249d1853c818195dada1a92dc49df161438451b7c3030"
},
"downloads": -1,
"filename": "fs.proxy-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "1f50d53c42acc87c2b496664f25e341d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6163,
"upload_time": "2017-06-29T15:42:36",
"url": "https://files.pythonhosted.org/packages/83/c1/e12b04dd9c9ccddea405b6d32e0f4ea2c17ac10f8fc8f32dbe5abfaf4928/fs.proxy-0.1.0.tar.gz"
}
],
"0.1.1": [
{
"comment_text": "",
"digests": {
"md5": "604404810468bd083a5952659509d7c8",
"sha256": "dbd0606718adba8ab6433ff1399fc7f96c71a158cd93cbb8cdf34e0675d01aef"
},
"downloads": -1,
"filename": "fs.proxy-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "604404810468bd083a5952659509d7c8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 6745,
"upload_time": "2017-06-29T17:18:36",
"url": "https://files.pythonhosted.org/packages/47/30/65ed307b007e053365c927b06e960861352a865af01f344e6fa61c27499b/fs.proxy-0.1.1.tar.gz"
}
],
"0.1.2": [
{
"comment_text": "",
"digests": {
"md5": "67f4d119630a8b9b400cee1db747b759",
"sha256": "3b38fe7430fe15e09d359a84c39c430abac03a20c64da6cfdd7e3befd9fbae27"
},
"downloads": -1,
"filename": "fs.proxy-0.1.2-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "67f4d119630a8b9b400cee1db747b759",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 10234,
"upload_time": "2017-07-02T22:54:50",
"url": "https://files.pythonhosted.org/packages/36/38/4544aeccd2a2a5b78c9aa3b3886c391ded3eac24ed13d2335bd1ce2d24e9/fs.proxy-0.1.2-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "c219c2e2e0bd1e9cd5096d97512412eb",
"sha256": "d83d045a4cff50dd26246e035b6c2adf30c870dcfbf98a8273dcb49590315083"
},
"downloads": -1,
"filename": "fs.proxy-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "c219c2e2e0bd1e9cd5096d97512412eb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 7728,
"upload_time": "2017-07-02T22:54:51",
"url": "https://files.pythonhosted.org/packages/1e/df/64d5091d69971c9bb19f6792086a10557286c6e16ce4c7d798dbfe373b2d/fs.proxy-0.1.2.tar.gz"
}
],
"0.1.3": [
{
"comment_text": "",
"digests": {
"md5": "fbd3a04560e47d303d9b1a63ed9d4519",
"sha256": "06525eb24a7f589111b0df84aaca8aa6acbb018a740dc7e3364995e2691d8d16"
},
"downloads": -1,
"filename": "fs.proxy-0.1.3-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "fbd3a04560e47d303d9b1a63ed9d4519",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 10282,
"upload_time": "2017-08-17T00:04:17",
"url": "https://files.pythonhosted.org/packages/5d/b0/9b3f2793f2dfeab23f4472382bb6bb0d395e9ba3d1d8779c3b663e8fbe40/fs.proxy-0.1.3-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "3349d316d883e771671d4b96cce4c0e2",
"sha256": "2f0ee6f6faa45ecd1723775d78d66d085cf4fdbd2d3ae4a2acc17e8b6f878f0d"
},
"downloads": -1,
"filename": "fs.proxy-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "3349d316d883e771671d4b96cce4c0e2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 7786,
"upload_time": "2017-08-17T00:04:19",
"url": "https://files.pythonhosted.org/packages/bb/de/a935493101f0c8ff45004dc4506744c3aa43ba2151d598c24e238227819b/fs.proxy-0.1.3.tar.gz"
}
],
"0.1.4": [
{
"comment_text": "",
"digests": {
"md5": "e0ed9fbc99d0a9f73be360cf284a38ed",
"sha256": "de2e0ec8496c6f6ccf57f714e2122f63f0c6f0eb0f7823b8e2910ae45c691a1d"
},
"downloads": -1,
"filename": "fs.proxy-0.1.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e0ed9fbc99d0a9f73be360cf284a38ed",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 10392,
"upload_time": "2017-09-18T14:39:13",
"url": "https://files.pythonhosted.org/packages/98/1c/fc16b62bb2278aa8117dd7385e729c723fde24400bff1e81cc2f4c93657c/fs.proxy-0.1.4-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "48ace7f77c71df93f4b595c474ba91ee",
"sha256": "0a7a13ad8684a5fb29f9ead14a6218253b423c7f1c89de2ca8d226c851e52f3f"
},
"downloads": -1,
"filename": "fs.proxy-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "48ace7f77c71df93f4b595c474ba91ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 7932,
"upload_time": "2017-09-18T14:39:14",
"url": "https://files.pythonhosted.org/packages/45/b4/24903dab54640aa681ed5e8c3017a8d9512b75ceec757191505f20c3857b/fs.proxy-0.1.4.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "e0ed9fbc99d0a9f73be360cf284a38ed",
"sha256": "de2e0ec8496c6f6ccf57f714e2122f63f0c6f0eb0f7823b8e2910ae45c691a1d"
},
"downloads": -1,
"filename": "fs.proxy-0.1.4-py2.py3-none-any.whl",
"has_sig": false,
"md5_digest": "e0ed9fbc99d0a9f73be360cf284a38ed",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 10392,
"upload_time": "2017-09-18T14:39:13",
"url": "https://files.pythonhosted.org/packages/98/1c/fc16b62bb2278aa8117dd7385e729c723fde24400bff1e81cc2f4c93657c/fs.proxy-0.1.4-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "48ace7f77c71df93f4b595c474ba91ee",
"sha256": "0a7a13ad8684a5fb29f9ead14a6218253b423c7f1c89de2ca8d226c851e52f3f"
},
"downloads": -1,
"filename": "fs.proxy-0.1.4.tar.gz",
"has_sig": false,
"md5_digest": "48ace7f77c71df93f4b595c474ba91ee",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">= 2.7, != 3.0.*, != 3.1.*, != 3.2.*",
"size": 7932,
"upload_time": "2017-09-18T14:39:14",
"url": "https://files.pythonhosted.org/packages/45/b4/24903dab54640aa681ed5e8c3017a8d9512b75ceec757191505f20c3857b/fs.proxy-0.1.4.tar.gz"
}
]
}