dataClay admire

DataClay

DataClay is a distributed data store that enables applications to store and access objects in the same format they have in memory, and executes object methods within the data store. These two main features accelerate both the development of applications and their execution.

To ease interoperability and allow dataClay to be used as a backend, a minimal translation layer is offered. This experimental user library offers seamless interaction between \cargo{} files and dataClay objects by translating POSIX file paths into dataClay object identifiers.

Installation

Downloading source code archives

  • Go to the DataClay repository [here]
  • Press the green button "<> Code"
  • Download the ZIP

picture

  • Extract the content of the zip

-Or-

Cloning the repository

http

git clone https://github.com/admire-eurohpc/DataClay.git

-or-

ssh

git clone git@github.com:admire-eurohpc/DataClay.git

Usage:

pip install /<path>/<to>/<plugin>/dataclay-plugin/requirements.txt 
  • Modify (if necessary) the python path and/or it's version at the Makefile

  • Change the "/<path>/<to>/<plugin>/" paths

  • Add what is needed to the Makefile

  • Include the plugin to your code #include "/<path>/<to>/<plugin>/dataclay-plugin/dataclayplugin.h"

  • Remember: When calling the function "dataclay_plugin()" you must write the path to the </dataclay-plugin> folder

make
docker compose -f /<path>/<to>/<plugin>/dataclay-plugin/docker-compose.yaml up
./main
  • ...
docker compose -f /<path>/<to>/<plugin>/dataclay-plugin/docker-compose.yaml down

Recompile Shared Object:

If some changes are done to the dataclay_plugin.c file, the shared object can be recompiled with the following command line:

gcc -shared -o libdataclayplugin.so -fPIC -I/usr/include/python<python-version> dataclay_plugin.c -lpython<python-version>