ArcaPix PixStor C Library Python API

ArcaPix’s PixStor C Library Python API is licensed under the ArcaPix EULA

Please consult the CHANGELOG.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

An Introduction to the ArcaPix PixStor C Library Python API

The ArcaPix PixStor C Library Python API provides a Pythonic wrapper of the GPFS C API.

ArcaPix’s PixStor C Library Python API closely mirrors the GPFS C API. I.E. one to one mappings of the GPFS C API functions are presented in a Pythonic manner. Familiarity with the GPFS C API is useful for context, but not required.

Various utility functions are also offered.

ArcaPix’s PixStor C Library Python API is intended to be distributed with the ArcaPix PixStor Python API, but can also be used as a standalone library. CLib offers some functionality not currently available in the Python API.

BETA DISCLAIMER

THE BETA SOFTWARE LICENSED HERE UNDER IS STILL IN TESTING PHASE AND IS PROVIDED ON AN “AS IS” AND “AS AVAILABLE” BASIS AND IS BELIEVED TO CONTAIN DEFECTS AND A PRIMARY PURPOSE OF THIS BETA TESTING LICENSE IS TO OBTAIN FEEDBACK ON SOFTWARE PERFORMANCE AND THE IDENTIFICATION OF DEFECTS. LICENSEE IS ADVISED TO SAFEGUARD IMPORTANT DATA, TO USE CAUTION AND NOT TO RELY IN ANY WAY ON THE CORRECT FUNCTIONING OR PERFORMANCE OF THE BETA LICENSED SOFTWARE AND/OR ACCOMPANYING MATERIALS.

Bugs, feature requests and patches

Please submit all such items to support@[arcastream|pixitmedia].com.

Obtaining the API

The GPFS C Library Python API is available only to ArcaStream and Pixit Media (‘ArcaPix’) customers. Existing customers can install the API via applying updates or by contacting the support team.

The API is provided as a RPM package to be installed on all server nodes in the cluster or via ArcaPix’s PIP repository.

Setup

The API is compatible with:

  • Python >= 2.7 and >= 3.6

  • RedHat/CentOS >= 6, SLES >= 11

  • PixStor 3.5.x and greater

The API is provided as a RPM package to be installed on all server nodes in the cluster. Recent ArcaServe/PixStor installations are provided with the API pre-installed.

Compatibility

The API has been written to work with whichever string type is native to the python version being used. This means byte strings in python 2 and unicode in python 3.

In python 3, the bytes returned from GPFS C API are decoded to UTF-8, using ‘surrogate escapes’ for non-unicode bytes in accordance with PEP 383.

Note - surrogate escapes may not be printable. If you get a UnicodeEncodeError, you may need to re-encode the string.

In python 3, any function which takes a path as a parameter will accept unicode strings, byte strings, or pathlib Path.

Getting started

To use the API interactively, simply start Python, then import a CLib module’s function(s):

$ python

>>> from arcapix.fs.gpfs.clib.fssnap import get_fssnaphandle_by_path, get_fsname_from_fssnaphandle
>>>
>>> # Create FssnapHandle object
... fs = get_fssnaphandle_by_path('/gpfs/fs1/testfile.txt')
>>>
>>> # Get Filesystem name
... print(get_fsname_from_fssnaphandle(fs))
'fs1'

Licensing

ArcaPix’s PixStor Python API is proprietary commercial software.

You may not distribute the API to any third party.

For further information, please consult the LICENSE file included.

Queries regarding licensing should be forwarded to support@[arcastream|pixitmedia].com.

Indices and tables

Module Index

Index

Search Page

quick access to all modules

all functions, classes, terms

search this documentation