pelicanfs


Namepelicanfs JSON
Version 0.0.3 PyPI version JSON
download
home_pagehttps://github.com/PelicanPlatform/pelicanfs
SummaryAn FSSpec Implementation using the Pelican System
upload_time2024-05-01 00:28:21
maintainerNone
docs_urlNone
authorNone
requires_python<4,>=3.7
licenseNone
keywords pelican fsspec
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # PelicanFS

## Overview

PelicanFS is a file system interface (fsspec) for the Pelican Platform.  For more information about pelican, see our [main website](https://pelicanplatform.org) or [Github page](https://github.com/PelicanPlatform/pelican). For more information about fsspec, visit the [filesystem-spec](https://filesystem-spec.readthedocs.io/en/latest/index.html) page.


## Limitations

PelicanFS is built on top of the http fsspec implementation. As such, any functionality that isn’t available in the http implementation is also *not* available in PelicanFS.

### Installation

To install pelican, run:

```
pip install pelicanfs
```

To install from source, run:

```
git clone https://github.com/PelicanPlatform/pelicanfs.git
cd pelicanfs
pip install -e .
```


### Using PelicanFS

To use pelicanfs, first create a `PelicanFileSystem` and provide it with the url for the director of your data federation. As an example using the OSDF director

```python
from pelicanfs.core import PelicanFileSystem

pelfs = PelicanFileSystem("https://osdf-director.osg-htc.org/")
```

Once `pelfs` is pointed at your federation's director, fsspec commands can be applied to Pelican namespaces. For example:

```python
hello_world = pelfs.cat('/ospool/uc-shared/public/OSG-Staff/validation/test.txt')
print(hello_world)
```

### Getting an FSMap

Sometimes various systems that interact with an fsspec want a key-value mapper rather than a url. To do that, call the `PelicanMap` function with the namespace path and a `PelicanFileSystem` object rather than using the fsspec `get_mapper` call. For example

```python
from pelicanfs.core import PelicanFileSystem, PelicanMap

pelfs = PelicanFileSystem(“some-director-url”)
file1 = PelicanMap(“/namespace/file/1”, pelfs=pelfs)
file2 = PelicanMap(“/namespace/file/2”, pelfs=pelfs)
ds = xarray.open_mfdataset([file1,file2], engine='zarr')
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/PelicanPlatform/pelicanfs",
    "name": "pelicanfs",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4,>=3.7",
    "maintainer_email": null,
    "keywords": "pelican, fsspec",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/dc/b8/05b907db54d7c942ebd1f4f0daafba3cbe23423e035ea6364b41393c3ddd/pelicanfs-0.0.3.tar.gz",
    "platform": null,
    "description": "# PelicanFS\n\n## Overview\n\nPelicanFS is a file system interface (fsspec) for the Pelican Platform.  For more information about pelican, see our [main website](https://pelicanplatform.org) or [Github page](https://github.com/PelicanPlatform/pelican). For more information about fsspec, visit the [filesystem-spec](https://filesystem-spec.readthedocs.io/en/latest/index.html) page.\n\n\n## Limitations\n\nPelicanFS is built on top of the http fsspec implementation. As such, any functionality that isn\u2019t available in the http implementation is also *not* available in PelicanFS.\n\n### Installation\n\nTo install pelican, run:\n\n```\npip install pelicanfs\n```\n\nTo install from source, run:\n\n```\ngit clone https://github.com/PelicanPlatform/pelicanfs.git\ncd pelicanfs\npip install -e .\n```\n\n\n### Using PelicanFS\n\nTo use pelicanfs, first create a `PelicanFileSystem` and provide it with the url for the director of your data federation. As an example using the OSDF director\n\n```python\nfrom pelicanfs.core import PelicanFileSystem\n\npelfs = PelicanFileSystem(\"https://osdf-director.osg-htc.org/\")\n```\n\nOnce `pelfs` is pointed at your federation's director, fsspec commands can be applied to Pelican namespaces. For example:\n\n```python\nhello_world = pelfs.cat('/ospool/uc-shared/public/OSG-Staff/validation/test.txt')\nprint(hello_world)\n```\n\n### Getting an FSMap\n\nSometimes various systems that interact with an fsspec want a key-value mapper rather than a url. To do that, call the `PelicanMap` function with the namespace path and a `PelicanFileSystem` object rather than using the fsspec `get_mapper` call. For example\n\n```python\nfrom pelicanfs.core import PelicanFileSystem, PelicanMap\n\npelfs = PelicanFileSystem(\u201csome-director-url\u201d)\nfile1 = PelicanMap(\u201c/namespace/file/1\u201d, pelfs=pelfs)\nfile2 = PelicanMap(\u201c/namespace/file/2\u201d, pelfs=pelfs)\nds = xarray.open_mfdataset([file1,file2], engine='zarr')\n```\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "An FSSpec Implementation using the Pelican System",
    "version": "0.0.3",
    "project_urls": {
        "Bug Reports": "https://github.com/PelicanPlatform/pelicanfs/issues",
        "Homepage": "https://github.com/PelicanPlatform/pelicanfs",
        "Pelican Source": "https://github.com/PelicanPlatform/pelican",
        "Source": "https://github.com/PelicanPlatform/pelicanfs"
    },
    "split_keywords": [
        "pelican",
        " fsspec"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e01d59cdf7885947a2c7abdf4f8cd5e67d1b32e1092d0bedffb3ec4398cf2ec",
                "md5": "22d644f85d4b07e0bf1d7968da880c1f",
                "sha256": "31c354f944f411292f795276211fdf32d30a27438615704c28e86058b68f89e4"
            },
            "downloads": -1,
            "filename": "pelicanfs-0.0.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "22d644f85d4b07e0bf1d7968da880c1f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4,>=3.7",
            "size": 10201,
            "upload_time": "2024-05-01T00:28:19",
            "upload_time_iso_8601": "2024-05-01T00:28:19.764781Z",
            "url": "https://files.pythonhosted.org/packages/1e/01/d59cdf7885947a2c7abdf4f8cd5e67d1b32e1092d0bedffb3ec4398cf2ec/pelicanfs-0.0.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dcb805b907db54d7c942ebd1f4f0daafba3cbe23423e035ea6364b41393c3ddd",
                "md5": "a1d32f113d5fc2cc19cbf34921452ca6",
                "sha256": "50485e282279a09c578713d2177ceea2ce00c5a0b84369b3a2fde1cb349e1839"
            },
            "downloads": -1,
            "filename": "pelicanfs-0.0.3.tar.gz",
            "has_sig": false,
            "md5_digest": "a1d32f113d5fc2cc19cbf34921452ca6",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4,>=3.7",
            "size": 10578,
            "upload_time": "2024-05-01T00:28:21",
            "upload_time_iso_8601": "2024-05-01T00:28:21.389584Z",
            "url": "https://files.pythonhosted.org/packages/dc/b8/05b907db54d7c942ebd1f4f0daafba3cbe23423e035ea6364b41393c3ddd/pelicanfs-0.0.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-01 00:28:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "PelicanPlatform",
    "github_project": "pelicanfs",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pelicanfs"
}
        
Elapsed time: 0.25377s