Skip to main content

PDCpy is the official Python interface for Proactive Data Containers (PDC), a software-defined data management system designed for HPC environments. This Python API makes PDC's C-based data management capabilities accessible to scientific computing applications, providing tools for container and object management, data manipulation, and querying.

Project description

PDC (Proactive Data Containers) is a software-defined data management system meant for high performance computing systems with several layers of storage, aiming to minimize overhead of moving data between memory and storage layers.

Its existing interface is written in C, but with the rise of Python in scientific computing applications, PDC would be much more accessible with a python interface.

This repository contains that interface, its documentation, and unit tests.

This project was originally developed as part of Google Summer of Code 2022 (project page), and was supported by CROSS.

More information about PDC

Documentation

How To Install

PDCpy is compatible with openmpi and mpich. If neither compiler is installed, it will attempt to compile without mpi support, which will fail if you compile pdc with mpi support.

  1. Install PDC: Follow the instructions on the PDC repository:

    https://pdc.readthedocs.io/en/latest/getting_started.html#installing-pdc-from-source-code
    

    After installing PDC, ensure the following:

    • $PDC_DIR and $MERCURY_DIR are set to their correct locations.
    • pdc_server is on your PATH.
    • $LD_LIBRARY_PATH has the location of libpdc.so.
    • You installed the develop branch, NOT the stable branch.
  2. Install PDCpy:

    pip install PDCpy
    

Manual Build Instructions

If you prefer to build PDCpy manually, follow these steps:

  1. Install build dependencies:
    pip install Cython numpy setuptools wheel
    
  2. Build the Cython extensions:
    python3 setup.py build_ext --inplace
    
    This will compile the Cython source files and place the compiled .so (or .pyd on Windows) files directly in the pdc/ directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pdcpy-0.0.15.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pdcpy-0.0.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file pdcpy-0.0.15.tar.gz.

File metadata

  • Download URL: pdcpy-0.0.15.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for pdcpy-0.0.15.tar.gz
Algorithm Hash digest
SHA256 d08914bfcb9fadbd0b1a9a7d87c31ade151e007ec910871ac5798424c2021588
MD5 9f9c4288100d06bb28324e4983287a44
BLAKE2b-256 8b9a579d4eb7eb01dc823bb7a354277d8d5db5cc55459dcaa1075e9ad4b8ebe7

See more details on using hashes here.

File details

Details for the file pdcpy-0.0.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pdcpy-0.0.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ba17c1d59a2aee957c5cd1356c1a52a6e10149ea610ac7a5066e78d238d3c821
MD5 999e5d8224350d9f3af85e2828f94176
BLAKE2b-256 821e7b2eb51195ff1e6927763433dfce7a0227868e49f8e783142d9a6cace033

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page