PlasmaPy is an open source, community-developed Python package for plasma research and education. PlasmaPy intends to be for plasma science what Astropy is for astronomy — a collection of functionality commonly needed by plasma scientists and researchers globally, running within and leveraging the open source scientific Python ecosystem. The goals of PlasmaPy are more thoroughly described in this video. Many of our recent presentations are available from the PlasmaPy Community on Zenodo.
Please check out our online documentation to learn more about PlasmaPy's capabilities.
If you would like an idea of what PlasmaPy can do, go to our example gallery of Jupyter notebooks. To learn more about how to contribute, check out PlasmaPy's contributor guide.
PlasmaPy's online documentation has detailed instructions on how to install PlasmaPy.
To install PlasmaPy on macOS or Linux, open a terminal and run:
python -m pip install plasmapy
Note
On some systems, it might be necessary to specify the Python version
number, for example by using python3
or python3.12
instead of
python
.
To install PlasmaPy on Windows, open a terminal and run
py -3.12 -m pip install plasmapy
The 3.12
may be replaced by any version of Python that is installed
and supported by PlasmaPy.
If you use PlasmaPy for research resulting in a publication, please cite PlasmaPy. It really helps support the project! Citing software used in research provides credit to its authors, promotes open science & scientific reproducibility, and helps open source projects demonstrate to funding agencies that continued development should be supported.
Please check out the PlasmaPy community on Zenodo for prior releases of PlasmaPy and other resources.
Please submit a feature request in our GitHub repository if you have an idea for new or improved functionality. PlasmaPy is community-driven, and feature requests really help guide the future of the project.
Please submit a bug report on PlasmaPy's GitHub repository if you notice any problems. We really appreciate it!
If you are interested in contributing, please check out our contributor guide and code of conduct. There are a number of good first issues in our GitHub repository. New contributors are very welcome!
PlasmaPy has several meetings that are on our calendar. Events are usually held on PlasmaPy's Zoom room.
Last-minute changes are usually announced on the Matrix/Gitter chat room. The most up-to-date information about these meetings is on the meetings page of PlasmaPy's website.
Our weekly informal office hours are an opportunity to chat with active members of the PlasmaPy community about topics related to Python and plasma science. If you'd like to learn more about PlasmaPy, our office hours are one of the best places to start. As of July 2024, our office hours are on most Thursdays at 3 pm Eastern. Please feel free to come by!
PlasmaPy's weekly community meetings are a place to talk about code development. If you have an idea for a new feature or would like to make a code contribution, community meetings are a good place to go to. As of July 2024, our community meetings are on most Tuesdays at 2 pm Eastern.
If you have any questions, the quickest way to get a response is to ask on our Matrix/Gitter channel. Both of these are the same chat channel; Gitter uses a bridge to link the two.
We're trying out GitHub discussions as a place to suggest ideas, bring up discussion topics, and ask questions.
You can subscribe to PlasmaPy's low-volume mailing list to receive PlasmaPy newsletters and other announcements.
Please feel free to reach out to us at team@plasmapy.org or stop by our office hours with any ideas, questions, and/or puns about computational magnetohydrodynamics.
Please use these links to submit a feature request and to submit a bug report on PlasmaPy's GitHub repository.
PlasmaPy is permissively licensed under a 3-clause BSD license with added protections against software patents.
Development of PlasmaPy has been supported in part by the National Science Foundation, Department of Energy, NASA, and the Smithsonian Institution. For more details, please see PlasmaPy's documentation page on authors and credits.