url
: Utils for data locators#
URL module
- slice_sequence_to_string(data_slice)[source]#
Convert a Python slice sequence or a slice into a string
- Parameters:
data_slice (
Union
[Iterable
[Union
[slice
,int
,EllipsisType
]],slice
,int
,EllipsisType
])- Return type:
str
- class DataUrl(path=None, file_path=None, data_path=None, data_slice=None, scheme=None)[source]#
Non-mutable object to parse a string representing a resource data locator.
It supports:
path to file and path inside file to the data
data slicing
fabio or silx access to the data
absolute and relative file access
>>> # fabio access using absolute path >>> DataUrl("fabio:///data/image.edf?slice=2") >>> DataUrl("fabio:///C:/data/image.edf?slice=2")
>>> # silx access using absolute path >>> DataUrl("silx:///data/image.h5?path=/data/dataset&slice=1,5") >>> DataUrl("silx:///data/image.edf?path=/scan_0/detector/data") >>> DataUrl("silx:///C:/data/image.edf?path=/scan_0/detector/data")
>>> # `path=` can be omitted if there are no other query keys >>> DataUrl("silx:///data/image.h5?/data/dataset") >>> # is the same as >>> DataUrl("silx:///data/image.h5?path=/data/dataset")
>>> # `::` can be used instead of `?` which can be useful with shell in >>> # command lines >>> DataUrl("silx:///data/image.h5::/data/dataset") >>> # is the same as >>> DataUrl("silx:///data/image.h5?/data/dataset")
>>> # Relative path access >>> DataUrl("silx:./image.h5") >>> DataUrl("fabio:./image.edf") >>> DataUrl("silx:image.h5") >>> DataUrl("fabio:image.edf")
>>> # It also supports parsing of file access for convenience >>> DataUrl("./foo/bar/image.edf") >>> DataUrl("C:/data/")
- Parameters:
path (
str
|Path
|None
) – Path representing a link to a data. If specified, other arguments must not be provided.file_path (
str
|Path
|None
) – Link to the file containing the the data. None if there is no data selection.data_path (
str
|None
) – Data selection applied to the data file selected. None if there is no data selection.data_slice (
tuple
[Union
[slice
,int
,EllipsisType
],...
] |None
) – Slicing applied of the selected data. None if no slicing applied.scheme (
str
|None
) – Scheme of the URL. “silx”, “fabio” is supported. Other strings can be provided, butis_valid()
will be false.
- is_valid()[source]#
Returns true if the URL is valid. Else attributes can be None.
- Return type:
bool