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.
- Go to the DataClay repository [here]
- Press the green button "<> Code"
- Download the ZIP
- Extract the content of the zip
git clone https://github.com/admire-eurohpc/DataClay.git
-or-
git clone git@github.com:admire-eurohpc/DataClay.git
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
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>