A Python library for automating code generation and module management for the IOWarp Runtime (Chimaera).
IOWarp Runtime Utilities provides a comprehensive set of tools to help developers automate code generation, module creation, and repository management for the Chimaera runtime. This library simplifies the development workflow for creating high-performance I/O modules, compression, encryption, and other runtime functionalities.
We recommend using a local installation. The scripts assume they are called from the git clone directory.
pip install -e .A module repository is a directory that contains a set of modules and a chimaera_repo.yaml file. It serves as a container for organizing related modules that can be managed and built together.
A module represents a specific functionality to be executed in the runtime, such as an I/O system, compression, or encryption. Each module resides within a module repository and contains a chimaera_mod.yaml file.
The following utility commands are available after installation:
- Usage:
./chi_clear_temp [MOD_REPO_DIR] - Description: Clears auto-generated temporary files in the specified module repository directory using the Chimaera codegen utility.
- Usage:
chi_make_config [CHI_ROOT (optional)] - Description: Generates default configuration header files for client and server (
config_client_default.h,config_server_default.h) in the${CHI}/src/directory. IfCHI_ROOTis not provided, uses the current working directory.
- Usage:
./chi_make_macro [PATH] - Description: Generates macro files at the specified path using the Chimaera codegen utility.
- Usage:
./chi_make_mod [MODULE_ROOT] - Description: Creates a new module within a module repository at the specified root path.
- Usage:
./chi_make_repo [MOD_REPO_DIR] [MOD_NAMESPACE] - Description: Initializes a new module repository at the given directory with the specified namespace, which is used for CMake project naming and install namespace.
- Usage:
./chi_refresh_mods [MOD_REPO_DIR] - Description: Refreshes the module repository, updating or regenerating necessary files.
- Usage:
chi_repo_reformat <repo_path> - Description: Reformats a module repository:
- Renames source/header files to follow new naming conventions.
- Updates references in source and include files.
- Modifies CMake files to use updated function names and namespaces.
- Creates backups and new client source files as needed.
bin/- Utility scriptschimaera_util/- Core Python librarysetup.py- Package configuration
IOWarp Runtime Util is licensed under the BSD 3-Clause License. You can find the full license text in the source files.
For issues, questions, or contributions, please:
- Open an issue on the GitHub repository
- Refer to the IOWarp Runtime documentation for runtime-specific questions
- Contact the Gnosis Research Center at Illinois Institute of Technology