# DataLad FUSE extension package
[![codecov.io](https://codecov.io/github/datalad/datalad-fuse/coverage.svg?branch=master)](https://codecov.io/github/datalad/datalad-fuse?branch=master) [![tests](https://github.com/datalad/datalad-fuse/workflows/Test/badge.svg)](https://github.com/datalad/datalad-fuse/actions?query=workflow%3ATest) [![docs](https://github.com/datalad/datalad-fuse/workflows/docs/badge.svg)](https://github.com/datalad/datalad-fuse/actions?query=workflow%3Adocs)
`datalad-fuse` provides commands for reading files in a
[DataLad](http://datalad.org) dataset from their remote web URLs without having
to download them in their entirety first. Instead,
[fsspec](http://github.com/fsspec/filesystem_spec) is used to sparsely download
and locally cache the files as needed.
## Installation
Current version of `datalad-fuse` requires Python 3.7 or higher. Just use
[pip](https://pip.pypa.io) for Python 3 (You have pip, right?) to install it:
python3 -m pip install datalad-fuse
In addition, use of the `datalad fusefs` command requires FUSE to be installed;
on Debian-based systems, this can be done with:
sudo apt-get install fuse
## Commands
### `datalad fsspec-cache-clear [<options>]`
Clears the local download cache for a dataset.
#### Options
- `-d <DATASET>`, `--dataset <DATASET>` — Specify the dataset to operate on.
If no dataset is given, an attempt is made to identify the dataset based on
the current working directory.
- `-r`, `--recursive` — Clear the caches of subdatasets as well.
### `datalad fsspec-head [<options>] <path>`
Shows leading lines/bytes of an annexed file by fetching its data from a remote
URL.
#### Options
- `-d <DATASET>`, `--dataset <DATASET>` — Specify the dataset to operate on.
If no dataset is given, an attempt is made to identify the dataset based on
the current working directory.
- `-n <INT>`, `--lines <INT>` — How many lines to show (default: 10)
- `-c <INT>`, `--bytes <INT>` — How many bytes to show
### `datalad fusefs [<options>] <mount-path>`
Create a read-only FUSE mount at `<mount-path>` that exposes the files in the
given dataset. Opening a file under the mount that is not locally present in
the dataset will cause its contents to be downloaded from the file's web URL as
needed.
When the command finishes, `fsspec-cache-clear` may be run depending on the
value of the `datalad.fusefs.cache-clear` configuration option. If it is set
to "`visited`", then any (sub)datasets that were accessed in the FUSE mount
will have their caches cleared; if it is instead set to "`recursive`", then all
(sub)datasets in the dataset being operated on will have their caches cleared.
#### Options
- `--allow-other` — Allow all users to access files in the mount. This
requires setting `user_allow_other` in `/etc/fuse.conf`.
- `-d <DATASET>`, `--dataset <DATASET>` — Specify the dataset to operate on.
If no dataset is given, an attempt is made to identify the dataset based on
the current working directory.
- `-f`, `--foreground` — Run the FUSE process in the foreground; use Ctrl-C to
exit. This option is currently required.
- `--mode-transparent` — Expose the dataset's `.git` directory in the mount
Raw data
{
"_id": null,
"home_page": "https://github.com/datalad/datalad-fuse",
"name": "datalad-fuse",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "The DataLad Team and Contributors",
"author_email": "team@datalad.org",
"download_url": "https://files.pythonhosted.org/packages/ba/ab/1f1fc336a0df1320ee047644729a209a9315d05af46940fba074d21e0927/datalad-fuse-0.5.1.tar.gz",
"platform": null,
"description": "# DataLad FUSE extension package\n\n[![codecov.io](https://codecov.io/github/datalad/datalad-fuse/coverage.svg?branch=master)](https://codecov.io/github/datalad/datalad-fuse?branch=master) [![tests](https://github.com/datalad/datalad-fuse/workflows/Test/badge.svg)](https://github.com/datalad/datalad-fuse/actions?query=workflow%3ATest) [![docs](https://github.com/datalad/datalad-fuse/workflows/docs/badge.svg)](https://github.com/datalad/datalad-fuse/actions?query=workflow%3Adocs)\n\n`datalad-fuse` provides commands for reading files in a\n[DataLad](http://datalad.org) dataset from their remote web URLs without having\nto download them in their entirety first. Instead,\n[fsspec](http://github.com/fsspec/filesystem_spec) is used to sparsely download\nand locally cache the files as needed.\n\n## Installation\n\nCurrent version of `datalad-fuse` requires Python 3.7 or higher. Just use\n[pip](https://pip.pypa.io) for Python 3 (You have pip, right?) to install it:\n\n python3 -m pip install datalad-fuse\n\nIn addition, use of the `datalad fusefs` command requires FUSE to be installed;\non Debian-based systems, this can be done with:\n\n sudo apt-get install fuse\n\n## Commands\n\n### `datalad fsspec-cache-clear [<options>]`\n\nClears the local download cache for a dataset.\n\n#### Options\n\n- `-d <DATASET>`, `--dataset <DATASET>` \u2014 Specify the dataset to operate on.\n If no dataset is given, an attempt is made to identify the dataset based on\n the current working directory.\n\n- `-r`, `--recursive` \u2014 Clear the caches of subdatasets as well.\n\n### `datalad fsspec-head [<options>] <path>`\n\nShows leading lines/bytes of an annexed file by fetching its data from a remote\nURL.\n\n#### Options\n\n- `-d <DATASET>`, `--dataset <DATASET>` \u2014 Specify the dataset to operate on.\n If no dataset is given, an attempt is made to identify the dataset based on\n the current working directory.\n\n- `-n <INT>`, `--lines <INT>` \u2014 How many lines to show (default: 10)\n\n- `-c <INT>`, `--bytes <INT>` \u2014 How many bytes to show\n\n### `datalad fusefs [<options>] <mount-path>`\n\nCreate a read-only FUSE mount at `<mount-path>` that exposes the files in the\ngiven dataset. Opening a file under the mount that is not locally present in\nthe dataset will cause its contents to be downloaded from the file's web URL as\nneeded.\n\nWhen the command finishes, `fsspec-cache-clear` may be run depending on the\nvalue of the `datalad.fusefs.cache-clear` configuration option. If it is set\nto \"`visited`\", then any (sub)datasets that were accessed in the FUSE mount\nwill have their caches cleared; if it is instead set to \"`recursive`\", then all\n(sub)datasets in the dataset being operated on will have their caches cleared.\n\n#### Options\n\n- `--allow-other` \u2014 Allow all users to access files in the mount. This\n requires setting `user_allow_other` in `/etc/fuse.conf`.\n\n- `-d <DATASET>`, `--dataset <DATASET>` \u2014 Specify the dataset to operate on.\n If no dataset is given, an attempt is made to identify the dataset based on\n the current working directory.\n\n- `-f`, `--foreground` \u2014 Run the FUSE process in the foreground; use Ctrl-C to\n exit. This option is currently required.\n\n- `--mode-transparent` \u2014 Expose the dataset's `.git` directory in the mount\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "DataLad FUSE extension package",
"version": "0.5.1",
"project_urls": {
"Homepage": "https://github.com/datalad/datalad-fuse"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8c736749bde486cf7450a82b0f97d1fa9a840da407550c8b0529c53dc7d0724d",
"md5": "9cbe0b23b0a14355fdda424418c23999",
"sha256": "a2bd234646a665fd54211eaf7125b7934005ef95aec882da3a8aa9cbe74c1faa"
},
"downloads": -1,
"filename": "datalad_fuse-0.5.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9cbe0b23b0a14355fdda424418c23999",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7",
"size": 26744,
"upload_time": "2024-03-20T13:19:26",
"upload_time_iso_8601": "2024-03-20T13:19:26.627464Z",
"url": "https://files.pythonhosted.org/packages/8c/73/6749bde486cf7450a82b0f97d1fa9a840da407550c8b0529c53dc7d0724d/datalad_fuse-0.5.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "baab1f1fc336a0df1320ee047644729a209a9315d05af46940fba074d21e0927",
"md5": "fe829912df06b67ab597261c2db02dc0",
"sha256": "ea46178e37e0b981db780a0288c829ac5099473ba36e422f2c3662a6860d4881"
},
"downloads": -1,
"filename": "datalad-fuse-0.5.1.tar.gz",
"has_sig": false,
"md5_digest": "fe829912df06b67ab597261c2db02dc0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 57716,
"upload_time": "2024-03-20T13:19:30",
"upload_time_iso_8601": "2024-03-20T13:19:30.973623Z",
"url": "https://files.pythonhosted.org/packages/ba/ab/1f1fc336a0df1320ee047644729a209a9315d05af46940fba074d21e0927/datalad-fuse-0.5.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-03-20 13:19:30",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "datalad",
"github_project": "datalad-fuse",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "datalad-fuse"
}