Skip to main content

Python package for plasma science

Project description

PlasmaPy

PyPI version Conda version PyPI version License Contributor Covenant

Matrix Mastodon Twitter YouTube

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

DOI astropy pre-commit Open Source Helpers

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. Current functionality is described in PlasmaPy's online documentation. If you would like an idea of what PlasmaPy can do, check out our example gallery of Jupyter notebooks. Many of our recent presentations are available from the PlasmaPy Community on Zenodo.

Please submit a feature request in our GitHub repository if you have an idea for new functionality. PlasmaPy is community-driven, and feature requests really help guide the direction of software development. Please also submit a bug report 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 also a number of good first issues in our GitHub repository. New contributors are very welcome!

Installation

PlasmaPy requires Python 3.9 or newer. If you do not have Python installed already, here are the instructions to download and install Python.

To install PlasmaPy on macOS or Linux, open a terminal and run:

python -m pip install plasmapy

On some systems, it might be necessary to specify the Python version number, for example by using python3 or python3.11 instead of python.

To install PlasmaPy on Windows, open a terminal and run

py -3.11 -m pip install plasmapy

The 3.11 may be replaced by any version of Python that is supported by PlasmaPy.

If you have installed Conda, then you can also install PlasmaPy into an activated Conda environment by running:

conda install -c conda-forge plasmapy

PlasmaPy can also be installed using Anaconda Navigator so long as conda-forge is added as a channel.

Check out our instructions on installing PlasmaPy for more details.

Please check out our documentation for more information on how to install PlasmaPy. To contribute to the package or use the most recent version, check out our instructions on installing PlasmaPy from source.

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 October 2023, our office hours are on most Thursdays at 2 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 October 2023, our community meetings are on most Tuesdays at 2 pm Eastern.

Project meetings

PlasmaPy's weekly project meetings are a place to discuss education, outreach, and project coordination. Topics might range from creating educational notebooks to organizing community events. As of October 2023, project meetings are held on most Wednesdays at 3 pm Eastern.

Working group meetings

PlasmaPy has started several working groups, including on diagnostics, dispersion relations, and simulation. These working groups usually meet fortnightly, and their meeting times can be found in PlasmaPy's event calendar. If you would like to join a PlasmaPy working group or even start a new one, please email us at team@plasmapy.org!

Plasma Hack Week

A hack week is a mix of a hackathon and a summer school. Hack weeks provide an opportunity to learn from each other and code together. The inaugural Plasma Hack Week was held virtually in the summer of 2021, and will hopefully be held annually. Please check out the Plasma Hack Week website for more details, and email team@plasmapy.org if you would like to become an organizer.

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.

Suggestion box

We have a suggestion box if you would like to (optionally anonymously) suggest a feature/topic for consideration. These suggestions might be changed into GitHub issues for further discussion.

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.

License

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

Citing PlasmaPy

An emerging best practice for software citation is to cite the specific version of each software package used in a research project (instead of only citing a journal article, website, or GitHub repository). The citation should include a persistent identifier that uniquely identifies which version of the software was used. We therefore ask that you cite the specific version of PlasmaPy used in your research project. Releases of PlasmaPy are available from the PlasmaPy community on Zenodo, along with many other PlasmaPy resources. Please check our documentation for more detailed citation instructions.

Acknowledgments

Early development on PlasmaPy was supported in part by the U.S. Department of Energy, the Smithsonian Institution, NASA, and Google Summer of Code. Ongoing PlasmaPy development is being supported through a collaborative award from the Cyberinfrastructure for Sustained Scientific Innovation program of the U.S. National Science Foundation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

plasmapy-2023.10.0.tar.gz (13.4 MB view details)

Uploaded Source

Built Distribution

plasmapy-2023.10.0-py3-none-any.whl (8.8 MB view details)

Uploaded Python 3

File details

Details for the file plasmapy-2023.10.0.tar.gz.

File metadata

  • Download URL: plasmapy-2023.10.0.tar.gz
  • Upload date:
  • Size: 13.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for plasmapy-2023.10.0.tar.gz
Algorithm Hash digest
SHA256 77387ef63838cc3c525791332700fe75b2a79d6036ee85dc90d1e4c746d7f89c
MD5 513d2e0d77cc31e5fe577d891ebf578e
BLAKE2b-256 ac963ba84383cdb099e6daf1043f28a6cb92ae9ffa4e4ff775913fa0b77210d7

See more details on using hashes here.

Provenance

File details

Details for the file plasmapy-2023.10.0-py3-none-any.whl.

File metadata

File hashes

Hashes for plasmapy-2023.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f4e9fcd6ec18c1ae455943e967e9c7df30c9df4b7d19bb6aab73841b39e9494
MD5 a1648ce033308652362b956c08d6f12e
BLAKE2b-256 d449e392c6995745a1a31c54f4348adf6aca7336539e1c0e4298d13fc9bd043f

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page