## 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**
### Installation Steps
1. **Install required packages:**
```bash
sudo apt install build-essential mpich
```
2. **Install mpiPython:**
```bash
pip install mpiPython
```
3. **Compile Library**
```bash
python -m mpiPython
```
The last step is not technically needed, but because mpiPython will self compile the library if it is not present, running a program with a lot of nodes will have every node compile the shared library.
### Additional Notes
* **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 MPIpy
MPI = MPIpy()
rank = MPI.Rank()
size = MPI.Size()
print("Hello from process {} out of {}".format(rank, size))
```
To run program:
```python
$mpirun -n 2 python file.py
```
Raw data
{
"_id": null,
"home_page": null,
"name": "mpiPython",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "mpi",
"author": null,
"author_email": "Judah Nava <judah.nava@go.mnstate.edu>, Jaden Jinu Lee <jinu.lee@go.mnstate.edu>",
"download_url": "https://files.pythonhosted.org/packages/e4/e8/b07ed6dd1ac62c09657a6e2a612f2f0a44cd3d05611affe6c1635acb7a6a/mpipython-1.0.14.tar.gz",
"platform": null,
"description": "## Installing and Using mpiPython on Debian-based Systems\n\n### Overview\nThis guide outlines the steps to install and use mpiPython on Debian-based systems.\n\n### Prerequisites\n* **Debian-based system** (e.g., Ubuntu, Debian)\n* **`build-essential`** package installed (provides necessary compilers and tools)\n* **'mpich'** the program is made to work with this, you can either have it installed by package manager or custom compiled with '--enable-shared'\n* **Python >=3.10**\n\n### Installation Steps\n1. **Install required packages:**\n ```bash\n sudo apt install build-essential mpich\n ```\n2. **Install mpiPython:**\n ```bash\n pip install mpiPython\n ```\n3. **Compile Library**\n ```bash\n python -m mpiPython\n ```\nThe last step is not technically needed, but because mpiPython will self compile the library if it is not present, running a program with a lot of nodes will have every node compile the shared library.\n\n### Additional Notes\n* **Virtual Environments:** Consider using virtual environments to isolate Python environments and avoid conflicts.\n\n### Using mpiPython\nOnce installed, you can import and use mpiPython in your Python scripts:\n\n```python\nfrom mpiPython import MPIpy\n\nMPI = MPIpy()\nrank = MPI.Rank()\nsize = MPI.Size()\n\nprint(\"Hello from process {} out of {}\".format(rank, size))\n```\n\nTo run program:\n```python\n$mpirun -n 2 python file.py\n```\n",
"bugtrack_url": null,
"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. ",
"summary": "An MPI wrapper for Python",
"version": "1.0.14",
"project_urls": null,
"split_keywords": [
"mpi"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7476a3cdf0c8c11f2286ae0da77163c156deef72a8ccf1fbf710dc9a8579f11a",
"md5": "45fbb89569a2edefd8585d07ee4da206",
"sha256": "1723c189321bf85b1cb1dbe3b2d38a8194df27cb743f40d08a4eb05d286014c3"
},
"downloads": -1,
"filename": "mpiPython-1.0.14-py3-none-any.whl",
"has_sig": false,
"md5_digest": "45fbb89569a2edefd8585d07ee4da206",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 14117,
"upload_time": "2024-09-12T00:57:20",
"upload_time_iso_8601": "2024-09-12T00:57:20.964715Z",
"url": "https://files.pythonhosted.org/packages/74/76/a3cdf0c8c11f2286ae0da77163c156deef72a8ccf1fbf710dc9a8579f11a/mpiPython-1.0.14-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e4e8b07ed6dd1ac62c09657a6e2a612f2f0a44cd3d05611affe6c1635acb7a6a",
"md5": "6ea7d39ab22f066aef5ef90d0eddb1f1",
"sha256": "4f2f5c61ed16002e3c0588d5eb1ad7b0cdad30c1017da821b02f29713d6b8954"
},
"downloads": -1,
"filename": "mpipython-1.0.14.tar.gz",
"has_sig": false,
"md5_digest": "6ea7d39ab22f066aef5ef90d0eddb1f1",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 11358,
"upload_time": "2024-09-12T00:57:23",
"upload_time_iso_8601": "2024-09-12T00:57:23.695400Z",
"url": "https://files.pythonhosted.org/packages/e4/e8/b07ed6dd1ac62c09657a6e2a612f2f0a44cd3d05611affe6c1635acb7a6a/mpipython-1.0.14.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-12 00:57:23",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "mpipython"
}