Local and Remote Path Utilities#
immlib includes a number of functions that integrate with the
cloudpathlib and the
pathlib libraries in order
to provide a single interface for managing paths. This is simplified to a large
extent by the similarity between the libraries to begin with.
To obtain a path object—either a CloudPath or Path—the
immlib.path function can be used.
import immlib as il
p = il.path(il.doc.__file__)
print(type(p), ': ', il.pathstr(p), sep='')
cp = il.path(
's3://natural-scenes-dataset/nsddata/',
no_sign_request=True)
print(type(cp), ': ', il.pathstr(cp), sep='')
<class 'pathlib.PosixPath'>: /home/runner/work/immlib/immlib/src/immlib/doc/__init__.py
<class 'cloudpathlib.s3.s3path.S3Path'>: s3://natural-scenes-dataset/nsddata/
immlib also provides an OSFPath type for accessing the Open Science
Framework (osf.io). An OSF repository can be accessed using
its 5-digit ID:
import immlib as il
p = il.path('osf://bw9ec/')
list(p.iterdir())
[OSFPath('osf://bw9ec/analyzePRF_HCP7TRET.zip'),
OSFPath('osf://bw9ec/subjectrank.mat'),
OSFPath('osf://bw9ec/prfresultsmgz.zip'),
OSFPath('osf://bw9ec/apertures.zip'),
OSFPath('osf://bw9ec/prfresults.mat'),
OSFPath('osf://bw9ec/generateFigure8.m'),
OSFPath('osf://bw9ec/atlasmgz.zip'),
OSFPath('osf://bw9ec/samplestimulusmovieRETBAR.mov'),
OSFPath('osf://bw9ec/atlas.mat'),
OSFPath('osf://bw9ec/generateFigure7.m'),
OSFPath('osf://bw9ec/rotatingsurfaces'),
OSFPath('osf://bw9ec/Wiki images'),
OSFPath('osf://bw9ec/analysis.m'),
OSFPath('osf://bw9ec/behavior.mat'),
OSFPath('osf://bw9ec/prfresultsnii.zip'),
OSFPath('osf://bw9ec/analysis_ONOFF.m')]