Open-like interface to globus remotes
Project description
Open-like context managers for remote globus files.
glopen(filename, mode, endpoint):
Creates a temporary file
[On a read mode:] Transfers the remote file to the temporary file
Opens the temporary file with the given mode
Yields the open temporary file
Closes the temporary file
[On a write mode:] Transfers the temporary file to the remote file
Deletes the temporary file
glopen_many(filenames, mode, endpoint) takes a list of filenames and yeilds a list of open files. The remote copies are grouped into a single globus transfer, improving performance for small files.
Example
>>> from glopen import glopen
>>> with glopen("path/to/remote/file.anything", mode="r",
endpoint="globusid#endpoint") as f:
... lines = f.readlines()
>>> from glopen import glopen_many
>>> files = ["file1", "file2", "file3"]
>>> with glopen_many(files, mode="w", endpoint="globusid#endpoint") as fs:
... for f,d in zip(fs,d):
... f.write(d)
Install
glopen is on the Python Package Index (PyPI):
pip install glopen
It depends on globussh, a light-weight wrapper around the globus SSH interface.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.