Skip to content

A project that explores how to achieve interoperability between Python and other programming languages.

License

Notifications You must be signed in to change notification settings

msbc/hello_interoperability

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Hello Interoperability

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.

Over Ambitious Goals

Text with strikethrough is used to indicate features that are/were planned but not yet implemented.

Overview

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++
  • Fortran
  • Rust

Useful Links

Features

  • 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.).

Getting Started

  1. Clone the repository:
git clone https://github.com/msbc/hello_interoperability.git
cd hello_interoperability
  1. Follow the instructions in each language-specific folder to set up and run the examples.

Prerequisites

  • Python 3.x installed on your system.
  • Language-specific compilers or tools (e.g., GCC for C++, GFortran for Fortran, Rust toolchain).

Examples

  • C++: Using pybind11 to call C++ functions from Python.
  • Fortran: Using f2py to integrate Fortran code with Python.
  • Rust: Leveraging pyo3 to call Rust functions from Python.

Todo

  • Fix Makefile so that cpp_print_pybind.cpp doesn't recompile every time.
  • Make example of C++ code that calls Python code.
  • Implement strikethrough features.

Contributing

Contributions are welcome! Feel free to submit issues or pull requests to improve the examples or add support for additional languages.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Acknowledgments

Special thanks to the open-source community for providing tools and libraries that make interoperability possible.

Happy coding!

About

A project that explores how to achieve interoperability between Python and other programming languages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published