Welcome to Hello Interoperability, a project that explores how to achieve interoperability between Python and other programming languages. The focus of this project is demonstrating how to call print statements in various languages from Python.
Text with strikethrough is used to indicate features that are/were planned but not yet implemented.
Interoperability is a key aspect of modern software development, enabling developers to leverage the strengths of multiple programming languages within a single project. This repository provides examples and explanations for calling print statements in languages such as:
- C++
FortranRust
- https://docs.python.org/3/extending/extending.html
- https://www.mit.edu/people/amliu/vrut/python/ext/parseTuple.html
- https://pybind11.readthedocs.io/en/stable/
- Examples of calling print statements in different languages.
- Step-by-step instructions for setting up and running the examples.
Insights into tools and libraries that facilitate interoperability (e.g., FFI,ctypes,cffi, etc.).
- Clone the repository:
git clone https://github.com/msbc/hello_interoperability.git
cd hello_interoperability- Follow the instructions in each language-specific folder to set up and run the examples.
- Python 3.x installed on your system.
- Language-specific compilers or tools (e.g., GCC for C++, GFortran for Fortran, Rust toolchain).
- C++: Using
pybind11to call C++ functions from Python. Fortran: Usingf2pyto integrate Fortran code with Python.Rust: Leveragingpyo3to call Rust functions from Python.
- Fix Makefile so that
cpp_print_pybind.cppdoesn't recompile every time. - Make example of C++ code that calls Python code.
- Implement
strikethroughfeatures.
Contributions are welcome! Feel free to submit issues or pull requests to improve the examples or add support for additional languages.
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to the open-source community for providing tools and libraries that make interoperability possible.
Happy coding!