|
CAPIO-CL 1.2.0
CAPIO-CL: Cross Application Programmable I/O - Coordination Language
|
| OS / Arch | |||
|---|---|---|---|
| YES | YES | YES | |
| YES | YES | N.A. |
CAPIO-CL is a novel I/O coordination language that enables users to annotate file-based workflow data dependencies with synchronization semantics for files and directories. Designed to facilitate transparent overlap between computation and I/O operations, CAPIO-CL allows multiple producer–consumer application modules to coordinate efficiently using a JSON-based syntax.
For detailed documentation and examples, please visit:
The CAPIO Coordination Language (CAPIO-CL) allows applications to declare:
At runtime, CAPIO-CL’s parser and engine components analyze, track, and manage these declared relationships, enabling * *transparent data sharing** and cross-application optimizations.
jsoncons, GoogleTest and pybind11 are fetched automatically by CMake — no manual setup required.
By default, this will:
CAPIO-CL can be included directly into another CMake project using:
When included this way, unit tests and python bindings are not built, keeping integration clean for external projects.
CAPIO-CL now provides native Python bindings built using pybind11.
These bindings expose the core C++ APIs (Engine, Parser and Serializer), directly to Python, allowing the CAPIO-CL logic to be used within python projects.
You can build and install the Python bindings directly from the CAPIO-CL source tree using:
This will build the Python wheel and install it into your current environment using an ad-hoc build environment, which is downloaded, installed, and configured in isolation. A faster way to build and install CAPIO-CL is to use native system packages and then run from within the CAPIO-CL root directory:
This assumes that all build dependencies not fetched by cmake are available.
A simplified example of CAPIO-CL usage in C++:
The py_capio_cl module provides access to CAPIO-CL’s core functionality through a high-level Python interface.
| Name | Role | Contact |
|---|---|---|
| Marco Edoardo Santimaria | Designer and Maintainer | email | Homepage |
| Iacopo Colonnelli | Workflows Expert and Designer | email | Homepage |
| Massimo Torquati | Designer | email | Homepage |
| Marco Aldinucci | Designer | email | Homepage |
| Name | Role | Contact |
|---|---|---|
| Alberto Riccardo Martinelli | Designer | email | Homepage |