Metadata-Version: 2.1
Name: mpiPython
Version: 1.0.1
Summary: An MPI wrapper for Python
Author-email: Judah Nava <judah.nava@go.mnstate.edu>, Jaden Jinu Lee <jinu.lee@go.mnstate.edu>
License: Copyright 2024 Judah Nava
        
        Licensed under the Apache License, Version 2.0 (the "License");
        you may not use this file except in compliance with the License.
        You may obtain a copy of the License at
        
            http://www.apache.org/licenses/LICENSE-2.0
        
        Unless required by applicable law or agreed to in writing, software
        distributed under the License is distributed on an "AS IS" BASIS,
        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
        See the License for the specific language governing permissions and
        limitations under the License.
        
Keywords: mpi
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: setuptools

## Installing and Using mpiPython on Debian-based Systems

### Overview
This guide outlines the steps to install and use mpiPython on Debian-based systems.

### Prerequisites
* **Debian-based system** (e.g., Ubuntu, Debian)
* **`build-essential`** package installed (provides necessary compilers and tools)
* **'mpich'** the program is made to work with this, you can either have it installed by package manager or custom compiled with '--enable-shared'
* **Python 3.10 to 3.12**

### Installation Steps
1. **Install required packages:**
   ```bash
   sudo apt install build-essential mpich
   ```
2. **Install mpiPython:**
   ```bash
   pip install mpiPython
   ```

### Explanation
* **`build-essential`**: Provides necessary tools like the C compiler for building mpiPython.
* **`pip install mpiPython`**: Installs the mpiPython package.

### Additional Notes
* **MPICH Installation:** Ensure that MPICH is installed with the `--enable-shared` flag during compilation. This is crucial for mpiPython to function correctly.
* **Python Version:** This guide assumes Python 3.10 to 3.12. Adjust commands accordingly if using a different Python version.
* **Error Handling:** If you encounter errors, check the logs or output of the commands for more details.
* **Virtual Environments:** Consider using virtual environments to isolate Python environments and avoid conflicts.

### Using mpiPython
Once installed, you can import and use mpiPython in your Python scripts:

```python
from mpiPython import MPI

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()

print("Hello from process {} out of {}".format(rank, size))
```

By following these steps, you should have a working mpiPython environment on your Debian-based system.
 
**Would you like to know more about specific use cases or troubleshooting mpiPython?**
