/PlasmaPy

A community developed Python package for plasma physics in development

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

PlasmaPy

PyPI version Conda version PyPI version License Contributor Covenant

Matrix Mastodon YouTube

CI weekly tests pre-commit.ci status codecov Read the Docs Status

DOI astropy pre-commit

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.

Documentation

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.

Installing PlasmaPy

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.

Citing 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.

Requesting features

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.

Submitting bug reports

Please submit a bug report on PlasmaPy's GitHub repository if you notice any problems. We really appreciate it!

Contributing

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!

Events

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.

Office hours

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!

Community meetings

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.

Community

Matrix chat

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.

GitHub discussions

We're trying out GitHub discussions as a place to suggest ideas, bring up discussion topics, and ask questions.

Mailing list

You can subscribe to PlasmaPy's low-volume mailing list to receive PlasmaPy newsletters and other announcements.

Contact information

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.

License

PlasmaPy is permissively licensed under a 3-clause BSD license with added protections against software patents.

Acknowledgments

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.