mpi4py

Python bindings for MPI

https://github.com/mpi4py/mpi4py

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
  • Committers with academic emails
    5 of 27 committers (18.5%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

mpi mpi-applications mpi-library mpi4py parallel-computing python

Keywords from Contributors

mesh wx tk build-tools qt gtk closember periodic-table interactive chemistry
Last synced: 6 months ago · JSON representation ·

Repository

Python bindings for MPI

Basic Info
  • Host: GitHub
  • Owner: mpi4py
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 9.57 MB
Statistics
  • Stars: 873
  • Watchers: 14
  • Forks: 129
  • Open Issues: 7
  • Releases: 18
Topics
mpi mpi-applications mpi-library mpi4py parallel-computing python
Created over 12 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog License Citation

README.rst

==============
MPI for Python
==============

.. image::  https://github.com/mpi4py/mpi4py/workflows/ci/badge.svg?branch=master
   :target: https://github.com/mpi4py/mpi4py/actions/
.. image::  https://readthedocs.org/projects/mpi4py/badge/?version=latest
   :target: https://mpi4py.readthedocs.io/en/latest/
.. image::  https://dev.azure.com/mpi4py/mpi4py/_apis/build/status/ci?branchName=master&label=azure
   :target: https://dev.azure.com/mpi4py/mpi4py/_build
.. image::  https://ci.appveyor.com/api/projects/status/whh5xovp217h0f7n?svg=true
   :target: https://ci.appveyor.com/project/mpi4py/mpi4py
.. image::  https://circleci.com/gh/mpi4py/mpi4py.svg?style=shield
   :target: https://circleci.com/gh/mpi4py/mpi4py
.. image::  https://codecov.io/gh/mpi4py/mpi4py/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/mpi4py/mpi4py
.. image::  https://scan.coverity.com/projects/mpi4py-mpi4py/badge.svg
   :target: https://scan.coverity.com/projects/mpi4py-mpi4py

| |pypy| |mpi4py| |conda-forge| |anaconda|
| |homebrew| |fedora| |ubuntu| |debian| |archlinux|

.. |pypy| image:: https://img.shields.io/pypi/v/mpi4py?logo=pypi
   :target: https://pypi.org/project/mpi4py/
.. |mpi4py| image::  https://img.shields.io/conda/vn/mpi4py/mpi4py?logo=pypi
   :target: https://anaconda.org/conda-forge/mpi4py
.. |conda-forge| image::  https://img.shields.io/conda/vn/conda-forge/mpi4py?logo=anaconda
   :target: https://anaconda.org/conda-forge/mpi4py
.. |anaconda| image::  https://img.shields.io/conda/vn/anaconda/mpi4py?logo=anaconda
   :target: https://anaconda.org/anaconda/mpi4py

.. |homebrew| image::  https://img.shields.io/homebrew/v/mpi4py?logo=homebrew
   :target: https://formulae.brew.sh/formula/mpi4py
.. |fedora| image::  https://img.shields.io/fedora/v/mpi4py-common?logo=fedora
   :target: https://packages.fedoraproject.org/pkgs/mpi4py/
.. |ubuntu| image::  https://img.shields.io/ubuntu/v/mpi4py/noble?logo=ubuntu
   :target: https://packages.ubuntu.com/source/noble/mpi4py
.. |debian| image::  https://img.shields.io/debian/v/mpi4py/stable?logo=debian
   :target: https://packages.debian.org/source/stable/mpi4py
.. |archlinux| image::  https://img.shields.io/archlinux/v/extra/x86_64/python-mpi4py?logo=archlinux
   :target: https://archlinux.org/packages/extra/x86_64/python-mpi4py/

Overview
--------

This package provides Python bindings for the *Message Passing
Interface* (`MPI `_) standard. It is
implemented on top of the MPI specification and exposes an API which
grounds on the standard MPI-2 C++ bindings.

Prerequisites
-------------

* `Python `_ 3.8 or above,
  or `PyPy `_ 7.3 or above.

* An MPI implementation like `MPICH `_ or
  `Open MPI `_ built with shared/dynamic
  libraries.

Documentation
-------------

* Read the Docs: https://mpi4py.readthedocs.io/
* GitHub Pages:  https://mpi4py.github.io/

Support
-------

* Mailing List:       mpi4py@googlegroups.com
* Google Groups:      https://groups.google.com/g/mpi4py
* GitHub Discussions: https://github.com/mpi4py/mpi4py/discussions

Testsuite
---------

The testsuite is run periodically on

* `GitHub Actions `_

* `Read the Docs `_

* `Azure Pipelines `_

* `AppVeyor `_

* `Circle CI `_

* `Codecov `_

Citation
--------

+ L. Dalcin and Y.-L. L. Fang,
  *mpi4py: Status Update After 12 Years of Development*,
  Computing in Science & Engineering, 23(4):47-54, 2021.
  https://doi.org/10.1109/MCSE.2021.3083216

* M. Rogowski, S. Aseeri, D. Keyes, and L. Dalcin,
  *mpi4py.futures: MPI-Based Asynchronous Task Execution for Python*,
  IEEE Transactions on Parallel and Distributed Systems, 34(2):611-622, 2023.
  https://doi.org/10.1109/TPDS.2022.3225481

Owner

  • Name: MPI for Python
  • Login: mpi4py
  • Kind: organization
  • Email: mpi4py@googlegroups.com

Python bindings for MPI

Citation (CITATION.cff)

cff-version: 1.2.0
message: Please cite this software using the metadata from 'preferred-citation'.

title: MPI for Python
abstract: Python bindings for MPI
license: BSD-3-Clause
url: https://mpi4py.github.io
doi: 10.5281/zenodo.5645087
repository-code: https://github.com/mpi4py/mpi4py
contact:
  - name: MPI for Python
    email: mpi4py@googlegroups.com
    website: https://groups.google.com/g/mpi4py
authors:
  - family-names: Dalcin
    given-names: Lisandro
    alias: dalcinl
    orcid: https://orcid.org/0000-0001-8086-0155
  - family-names: Fang
    given-names: Yao-Lung L.
    alias: leofang
    orcid: https://orcid.org/0000-0001-7191-1651
  - family-names: Rogowski
    given-names: Marcin
    alias: mrogowski
    orcid: https://orcid.org/0000-0002-5662-2082

preferred-citation:
  type: article
  title: "mpi4py: Status Update After 12 Years of Development"
  authors:
    - family-names: Dalcin
      given-names: Lisandro
      orcid: https://orcid.org/0000-0001-8086-0155
    - family-names: Fang
      given-names: Yao-Lung L.
      orcid: https://orcid.org/0000-0001-7191-1651
  journal: Computing in Science & Engineering
  doi: 10.1109/mcse.2021.3083216
  issn: 1558-366X
  volume: 23
  issue: 4
  start: 47
  end: 54
  year: 2021

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 2,951
  • Total Committers: 27
  • Avg Commits per committer: 109.296
  • Development Distribution Score (DDS): 0.018
Past Year
  • Commits: 313
  • Committers: 6
  • Avg Commits per committer: 52.167
  • Development Distribution Score (DDS): 0.022
Top Committers
Name Email Commits
Lisandro Dalcin d****l@g****m 2,899
Thomas Spura t****a@g****m 12
Leo Fang l****g@b****v 11
Rob Latham r****l@m****v 2
dependabot[bot] 4****] 2
George Bosilca b****a@i****u 2
Paul Romano p****o@g****m 2
Saori Sudo s****i@j****m 2
Bas Nijholt b****t@g****m 1
Andrei Alexandru i****s@l****m 1
Ben b****d@g****m 1
Bradley Dice b****e@b****m 1
Dmitry Kabanov k****y@g****m 1
Don Kirkby d****y 1
Drew Parsons d****s@d****g 1
Gilles Gouaillardet g****s@r****p 1
Leo Fang l****f@n****m 1
Lev Givon l****v@c****u 1
Maksym Lefarov m****v@g****m 1
Marcin Rogowski m****i@k****a 1
Matthias Diener m****r@g****m 1
Max H. Gerlach g****t@m****e 1
Scott Sievert s****t@g****m 1
Simon May s****y@p****h 1
Sven Cerk s****k@x****i 1
Yury V. Zaytsev y****y@s****m 1
felixtherrien f****n@g****m 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 149
  • Total pull requests: 306
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 2 days
  • Total issue authors: 113
  • Total pull request authors: 15
  • Average comments per issue: 4.99
  • Average comments per pull request: 0.7
  • Merged pull requests: 283
  • Bot issues: 0
  • Bot pull requests: 20
Past Year
  • Issues: 50
  • Pull requests: 107
  • Average time to close issues: 9 days
  • Average time to close pull requests: about 10 hours
  • Issue authors: 42
  • Pull request authors: 4
  • Average comments per issue: 3.32
  • Average comments per pull request: 0.35
  • Merged pull requests: 101
  • Bot issues: 0
  • Bot pull requests: 12
Top Authors
Issue Authors
  • drew-parsons (9)
  • leofang (6)
  • jan-janssen (4)
  • dalcinl (4)
  • PhilipVinc (3)
  • YarShev (3)
  • JBlaschke (3)
  • limburgher (3)
  • zhuo121 (3)
  • watchpoints (2)
  • MaximilienLC (2)
  • MarzioVallero (2)
  • FreddieWitherden (2)
  • paugier (2)
  • cgcgcg (2)
Pull Request Authors
  • dalcinl (284)
  • dependabot[bot] (31)
  • EwoutH (4)
  • matthiasdiener (3)
  • ykhnygin-intel (2)
  • ericch1 (2)
  • chillenb (2)
  • inwaves (1)
  • mitya57 (1)
  • leofang (1)
  • Shixiaowei02 (1)
  • mrogowski (1)
  • lrbison (1)
  • bosilca (1)
  • adrn (1)
Top Labels
Issue Labels
build (3) duplicate (1) test (1) bug (1) enhancement (1) documentation (1)
Pull Request Labels
test (72) build (61) enhancement (51) refactor (48) feature (48) documentation (36) dependencies (34) python (28) bug (21) github_actions (18) typing (13) lint (8)

Packages

  • Total packages: 18
  • Total downloads:
    • pypi 661,555 last-month
  • Total docker downloads: 4,027,942
  • Total dependent packages: 356
    (may contain duplicates)
  • Total dependent repositories: 2,126
    (may contain duplicates)
  • Total versions: 68
  • Total maintainers: 4
pypi.org: mpi4py

Python bindings for MPI

  • Versions: 33
  • Dependent Packages: 273
  • Dependent Repositories: 1,809
  • Downloads: 660,238 Last month
  • Docker Downloads: 4,027,908
Rankings
Dependent packages count: 0.1%
Dependent repos count: 0.3%
Docker downloads count: 0.6%
Downloads: 0.8%
Average: 1.4%
Stargazers count: 2.4%
Forks count: 4.6%
Maintainers (2)
Last synced: 6 months ago
pypi.org: mpi4py-mpich

Python bindings for MPI (includes MPICH binaries)

  • Versions: 3
  • Dependent Packages: 4
  • Dependent Repositories: 3
  • Downloads: 1,317 Last month
  • Docker Downloads: 34
Rankings
Dependent packages count: 2.1%
Stargazers count: 2.4%
Downloads: 3.1%
Average: 4.3%
Forks count: 4.6%
Dependent repos count: 9.1%
Maintainers (3)
Last synced: 6 months ago
alpine-v3.18: py3-mpi4py-pyc

Precompiled Python bytecode for py3-mpi4py

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 5.5%
Stargazers count: 10.2%
Forks count: 11.6%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.18: py3-mpi4py

Python bindings for MPI

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 5.5%
Stargazers count: 10.2%
Forks count: 11.6%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.16: py3-mpi4py

Python bindings for MPI

  • Versions: 1
  • Dependent Packages: 3
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 6.5%
Stargazers count: 7.9%
Dependent packages count: 9.0%
Forks count: 9.3%
Maintainers (1)
Last synced: 6 months ago
alpine-edge: py3-mpi4py

Python bindings for MPI

  • Versions: 4
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 6.0%
Average: 7.6%
Stargazers count: 11.7%
Forks count: 12.7%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: mpi4py

MPI for Python provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.

  • Versions: 10
  • Dependent Packages: 71
  • Dependent Repositories: 157
Rankings
Dependent packages count: 1.1%
Dependent repos count: 2.8%
Average: 9.6%
Stargazers count: 15.9%
Forks count: 18.6%
Last synced: 6 months ago
alpine-edge: py3-mpi4py-pyc

Precompiled Python bytecode for py3-mpi4py

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 9.7%
Stargazers count: 12.0%
Forks count: 12.8%
Dependent packages count: 14.1%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.17: py3-mpi4py

Python bindings for MPI

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 9.7%
Forks count: 11.1%
Average: 12.0%
Dependent packages count: 27.3%
Maintainers (1)
Last synced: 6 months ago
anaconda.org: mpi4py

MPI for Python provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.

  • Versions: 3
  • Dependent Packages: 4
  • Dependent Repositories: 157
Rankings
Dependent packages count: 7.0%
Dependent repos count: 15.8%
Average: 20.6%
Stargazers count: 28.2%
Forks count: 31.6%
Last synced: 6 months ago
alpine-v3.22: py3-mpi4py-pyc

Precompiled Python bytecode for py3-mpi4py

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.21: py3-mpi4py

Python bindings for MPI

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.22: py3-mpi4py

Python bindings for MPI

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.20: py3-mpi4py-pyc

Precompiled Python bytecode for py3-mpi4py

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.20: py3-mpi4py

Python bindings for MPI

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.21: py3-mpi4py-pyc

Precompiled Python bytecode for py3-mpi4py

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.19: py3-mpi4py

Python bindings for MPI

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago
alpine-v3.19: py3-mpi4py-pyc

Precompiled Python bytecode for py3-mpi4py

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.0%
Average: 100%
Maintainers (1)
Last synced: 6 months ago

Dependencies

conf/requirements-docs.txt pypi
  • sphinx ==5.1.1
  • sphinx-rtd-theme ==1.0.0
conf/requirements-test.txt pypi
  • cffi * test
  • numpy * test
  • pickle5 * test
  • pyyaml * test
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mpi4py/setup-mpi v1 composite
conf/requirements-lint.txt pypi
  • flake8 *
  • flake8-assertive *
  • flake8-bandit *
  • flake8-bugbear *
  • flake8-use-fstring *
  • pycodestyle *
  • pydocstyle *
  • pylint *
conf/requirements-type.txt pypi
  • mypy *
  • numpy *
.github/workflows/ci-build.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mpi4py/setup-mpi v1 composite
.github/workflows/ci-check.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
.github/workflows/ci-cover.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mamba-org/setup-micromamba v1 composite
.github/workflows/ci-test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mpi4py/setup-mpi v1 composite
.github/workflows/dist.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
conf/requirements-build-cython.txt pypi
  • cython >=3.0.0
conf/requirements-build-mesonpy.txt pypi
  • meson-python *
conf/requirements-build-skbuild.txt pypi
  • scikit-build-core *
  • setuptools *
pyproject.toml pypi
setup.py pypi