From 2c8c006965f3a04437ea46fd57621d079e922015 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 15:34:24 -0500 Subject: [PATCH 01/13] Include some Nikola checks --- noxfile.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index 9fccc0ac0..e85993822 100644 --- a/noxfile.py +++ b/noxfile.py @@ -18,7 +18,8 @@ def check(session) -> None: session.run( "nikola", "check", - "--check-links", +# "--check-links", + "--check-files", "--find-sources", ) From c65f78ad2e3e4f71f65ece79d97c773d6714b11c Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 15:34:45 -0500 Subject: [PATCH 02/13] Re-enable nox -s check in CI --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e666b9b5a..d9facad7d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,8 +22,8 @@ jobs: - name: Build website nox_session: build -# - name: Perform Nikola checks -# nox_session: check + - name: Perform Nikola checks + nox_session: check steps: From 54ec740422d18ae696a7824ef73d8eb668f6c438 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 15:36:16 -0500 Subject: [PATCH 03/13] pre-commit --- noxfile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/noxfile.py b/noxfile.py index e85993822..7e0043afc 100644 --- a/noxfile.py +++ b/noxfile.py @@ -18,7 +18,7 @@ def check(session) -> None: session.run( "nikola", "check", -# "--check-links", + # "--check-links", "--check-files", "--find-sources", ) From c681e4e8350f96f542a51fe9fa709687beb9dd85 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 15:37:54 -0500 Subject: [PATCH 04/13] Change how to submit requests to be on affiliates page --- pages/affiliates/index.md | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/pages/affiliates/index.md b/pages/affiliates/index.md index 9d1495b05..00c76b79b 100644 --- a/pages/affiliates/index.md +++ b/pages/affiliates/index.md @@ -2,25 +2,17 @@ title: Plasma Packages hidetitle: True author: Erik T. Everson -PlasmaPy's charter includes promoting open-source software for all of -the plasma community, and not just `plasmapy`. We feel the entire community +PlasmaPy's charter includes promoting open source software for all of +the plasma community, and not just PlasmaPy. The entire community benefits when there are multiple efforts trying to build functionality for all aspects of the plasma field. As such, we want to promote any ongoing effort. This page displays projects that have requested to be shown. If you want your -project include, and increase its visibility, then please submit a request. - -
- -
Submit Request
-
-
-
+project include, and increase its visibility, then please submit a request +to . All projects/packages are considered **Community Packages** {{% community_shield %}}, but packages designed with -`plasmapy` interoperability are marked as **Affiliated Packages** +PlasmaPy interoperability are marked as **Affiliated Packages** {{% affiliated_shield %}}. ---- From 9a5e85f7f2e5a83f0cbce067d881be4b296659a9 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 15:45:28 -0500 Subject: [PATCH 05/13] Check links again --- noxfile.py | 2 +- pages/contribute.md | 35 ++--------------------------------- 2 files changed, 3 insertions(+), 34 deletions(-) diff --git a/noxfile.py b/noxfile.py index 7e0043afc..00b90999e 100644 --- a/noxfile.py +++ b/noxfile.py @@ -18,7 +18,7 @@ def check(session) -> None: session.run( "nikola", "check", - # "--check-links", + "--check-links", "--check-files", "--find-sources", ) diff --git a/pages/contribute.md b/pages/contribute.md index 4bee6ccb9..87f9ebef1 100644 --- a/pages/contribute.md +++ b/pages/contribute.md @@ -8,33 +8,6 @@ providing code and documentation, suggesting and discussing ideas, submitting issues and bug reports, and engaging the broader plasma physics community. -**Imposter syndrome disclaimer**: We want your help. No, really. - -There may be a little voice inside your head that is telling you that you're not -ready to be an open source contributor; that your skills aren't nearly good -enough to contribute. What could you possibly offer a project like this one? - -We assure you - the little voice in your head is wrong. If you can write code at -all, you can contribute code to open source. Contributing to open source -projects is a fantastic way to advance one's coding skills. Writing perfect code -isn't the measure of a good developer (that would disqualify all of us!); it's -trying to create something, making mistakes, and learning from those -mistakes. That's how we all improve, and we are happy to help others learn. - -Being an open source contributor doesn't just mean writing code, either. You can -help out by writing documentation, tests, or even giving feedback about the -project (and yes - that includes giving feedback about the contribution -process). Some of these contributions may be the most valuable to the project as -a whole, because you're coming to the project with fresh eyes, so you can see -the errors and assumptions that seasoned contributors have glossed over. - -*This disclaimer was originally written by -[Adrienne Lowe](https://github.com/adriennefriend) for a -[PyCon talk](https://www.youtube.com/watch?v=6Uj746j9Heo), and was adapted by -[yt](https://github.com/yt-project/yt) in their README file based on its use -in the README file for the [MetPy project](https://github.com/Unidata/MetPy). -It was then adapted by PlasmaPy.* - ## Sharing ideas There are several methods of communication that are being used in the @@ -50,10 +23,6 @@ early stages of PlasmaPy development: [submit issues](https://github.com/PlasmaPy/plasmapy/issues) and review [pull requests](https://github.com/PlasmaPy/plasmapy/pulls). -* The PlasmaPy [Matrix](https://app.element.io/#/room/#plasmapy:openastronomy.org) or - [Gitter](https://gitter.im/PlasmaPy/Lobby) joint channel - is a great place to have informal conversations, coordinate efforts, - and share ideas. * We have biweekly telecons which are announced on the email list. ## Contributing code or documentation to PlasmaPy @@ -64,9 +33,9 @@ a great idea for something to include in the package, start hacking away on that! However, please announce your intent first in the relevant issue (or make one if necessary) to make sure there is no work duplication. -You can find most of what you should know in the [Contributing Guide](http://docs.plasmapy.org/en/latest/development/index.html). +You can find most of what you should know in the [Contributing Guide](https://docs.plasmapy.org/en/latest/contributing/index.html). -Please note that PlasmaPy has a [Code of Conduct](/conduct). +Please note that PlasmaPy has a [Code of Conduct](https://docs.plasmapy.org/en/latest/CODE_OF_CONDUCT.html). Issues marked by the community as *help wanted* mean just that - either they're good contributions for outsiders or there's an issue in the ongoing work that From 916e55a5efd0edd8f942d9d210622dab9b0088ac Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:03:44 -0500 Subject: [PATCH 06/13] Update contributing page --- pages/contribute.md | 63 ++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 38 deletions(-) diff --git a/pages/contribute.md b/pages/contribute.md index 87f9ebef1..c281f8061 100644 --- a/pages/contribute.md +++ b/pages/contribute.md @@ -1,42 +1,29 @@ -title: Contribute to PlasmaPy +title: Contributing to PlasmaPy slug: contribute # Contributing to PlasmaPy -There are numerous ways to contribute to PlasmaPy, including by -providing code and documentation, suggesting and discussing ideas, -submitting issues and bug reports, and engaging the broader plasma -physics community. - -## Sharing ideas - -There are several methods of communication that are being used in the -early stages of PlasmaPy development: - -* [Signing up for the PlasmaPy email - list](https://groups.google.com/forum/#!forum/plasmapy) will allow - you to participate in broader discussions and keep up with the - latest developments. - -* The [PlasmaPy repository on - GitHub](https://github.com/PlasmaPy/plasmapy) is the best place to - [submit issues](https://github.com/PlasmaPy/plasmapy/issues) and - review [pull requests](https://github.com/PlasmaPy/plasmapy/pulls). - -* We have biweekly telecons which are announced on the email list. - -## Contributing code or documentation to PlasmaPy - -If you see something you'd like to work on amongst our -[issues](https://github.com/PlasmaPy/PlasmaPy/issues), or if you've got -a great idea for something to include in the package, start hacking away on -that! However, please announce your intent first in the relevant issue (or make -one if necessary) to make sure there is no work duplication. - -You can find most of what you should know in the [Contributing Guide](https://docs.plasmapy.org/en/latest/contributing/index.html). - -Please note that PlasmaPy has a [Code of Conduct](https://docs.plasmapy.org/en/latest/CODE_OF_CONDUCT.html). - -Issues marked by the community as *help wanted* mean just that - either they're -good contributions for outsiders or there's an issue in the ongoing work that -requires a second opinion. Please consider these first! +Thank you for your interest in contributing to PlasmaPy! To learn more, +please check out the [Contributor Guide] in PlasmaPy's online documentation. +This guide describes: + +- The [many ways to contribute] +- [Getting ready to contribute] +- The [code contribution workflow] +- Best practices and common conventions for [writing code] +- Creating and running [software tests] +- Writing and building [documentation] + +If you would like to learn more, we encourage you to stop by one of +our [community meetings](/meetings/weekly). + +The PlasmaPy community abides by the Contributor Covenant [Code of Conduct]. + +[code contribution workflow]: https://docs.plasmapy.org/en/latest/contributing/workflow.html +[code of conduct]: https://docs.plasmapy.org/en/latest/CODE_OF_CONDUCT.html +[contributor guide]: https://docs.plasmapy.org/en/latest/contributing/index.html +[documentation]: https://docs.plasmapy.org/en/latest/contributing/doc_guide.html +[getting ready to contribute]: https://docs.plasmapy.org/en/latest/contributing/getting_ready.html +[many ways to contribute]: https://docs.plasmapy.org/en/latest/contributing/many_ways.html +[software tests]: https://docs.plasmapy.org/en/latest/contributing/testing_guide.html +[writing code]: https://docs.plasmapy.org/en/latest/contributing/coding_guide.html From ba60873cfab33cd121f995ef9ce6593d98c2bcdd Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:28:34 -0500 Subject: [PATCH 07/13] Remove no longer needed logistics info --- pages/meetings/aps/62nd_dpp_mini_conf_followups.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/pages/meetings/aps/62nd_dpp_mini_conf_followups.md b/pages/meetings/aps/62nd_dpp_mini_conf_followups.md index bb4a3ee55..d775c8038 100644 --- a/pages/meetings/aps/62nd_dpp_mini_conf_followups.md +++ b/pages/meetings/aps/62nd_dpp_mini_conf_followups.md @@ -2,19 +2,12 @@ title: 62nd APS DPP - 11.04 Mini-Conference Followups author: Erik T. Everson hidetitle: True -[Zoom link]: https://harvard.zoom.us/j/91600794594?pwd=L09iTGtTRUN1RmpsVnNvU05LRnNwQT09 - # 62nd APS DPP - 11.04 Mini-Conference | Post-Meeting Discussions ### Growing an open-source software ecosystem for plasma science -
- -**Where:** [On Zoom][Zoom Link]
**Day 1:** Tuesday, November 17th at 21 UTC / 4 pm EST / 1 pm PST
**Day 2:** Thursday, November 19th at 19 UTC / 2 pm EST / 11 am PST
-
- In order to capitalize on the opportunities afforded by bringing together the diversity of speakers and attendees and perspectives during this year's mini-conference, we plan to host two **post-meeting discussions**. Here From b66c603cb5d2e77f644715b1f4c5a57f9063c663 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:47:05 -0500 Subject: [PATCH 08/13] Update mini-conferences link --- pages/meetings/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/meetings/index.md b/pages/meetings/index.md index d70ffa4a2..e5d1bedbf 100644 --- a/pages/meetings/index.md +++ b/pages/meetings/index.md @@ -25,7 +25,7 @@ We provided a [PlasmaPy tutorial](./magnetus2023) at the [MagNetUS 2023 meeting](https://sites.google.com/view/magnetus2023/home?authuser=0) at Auburn University on Thursday, June 15. -#### [62nd APS DPP - 11.04 Mini-Conference](https://engage.aps.org/dpp/meetings/annual-meeting/mini-conferences): Growing an open source software ecosystem for plasma science +#### [62nd APS DPP - 11.04 Mini-Conference](https://engage.aps.org/dpp/meetings/mini-conferences): Growing an open source software ecosystem for plasma science November 11 & 12, 2020
From 1fe405d1a77ca2104235f24897c853fff79bff9d Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:47:17 -0500 Subject: [PATCH 09/13] Update links from initial release posts --- posts/plasmapy-v01-release.rst | 14 +++++++------- posts/plasmapy-v011-bugfix-release.rst | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/posts/plasmapy-v01-release.rst b/posts/plasmapy-v01-release.rst index e0662a4da..c8ee7ce25 100644 --- a/posts/plasmapy-v01-release.rst +++ b/posts/plasmapy-v01-release.rst @@ -13,7 +13,7 @@ We are faced with the very newest of releases. - GitHub calls this one `PlasmaPy v0.1.0 `_, the first of the alphas. + GitHub calls this one `PlasmaPy v0.1.0 `_, the first of the alphas. And yet, for the first time in the history of this project our team has the technology to prevent its own procrastination. @@ -27,18 +27,18 @@ `_, even the code reviews that we performed have provided us with the tools to prevent this exciting event. - Through all the chaos that is our Git tree, through all of the `PEP8 + Through all the chaos that is our Git tree, through all of the `PEP 8 `_ and the `Matrix discussion `_, through all the `pain of learning Sphinx `_ and rebasing, through `all of our ~2000 commits `_, there is one thing that has nourished our souls, and pushed us to complete this release, and that is our `pretty plots - `_. Oh, and the + `_. Oh, and the possibility to - `apply `_ - `more `_ - `decorators `_. + `apply `_ + `more `_ + `decorators `_. The dreams of the entire PlasmaPy community are focused tonight on these `31 brave committers `_, @@ -47,7 +47,7 @@ And may we all, plasma enthusiasts the world over, see this release through. `Thermal speed - `_, + `_, and a :math:`\sqrt{2}` to you, ~PlasmaPy diff --git a/posts/plasmapy-v011-bugfix-release.rst b/posts/plasmapy-v011-bugfix-release.rst index 9a6328db7..442b69bd8 100644 --- a/posts/plasmapy-v011-bugfix-release.rst +++ b/posts/plasmapy-v011-bugfix-release.rst @@ -9,7 +9,7 @@ We have just released PlasmaPy v0.1.1, our first bugfix release which attempts to correct many of the flaws in our code we only noticed while releasing v0.1! -Take a look at the `release notes `_ to see what's changed. +Take a look at the `release notes `_ to see what's changed. As usual (although this is likely the first time you have reason to run this command), you should now be able to update via `pip install --upgrade plasmapy`. From fd81c9d532b3c103f53918e314cc0eb8a65b4f05 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:49:33 -0500 Subject: [PATCH 10/13] Split Nox sessions --- noxfile.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/noxfile.py b/noxfile.py index 00b90999e..73edc6eca 100644 --- a/noxfile.py +++ b/noxfile.py @@ -12,17 +12,36 @@ def build(session) -> None: @nox.session def check(session) -> None: - """Check links and files in the generated site.""" + """Perform basic checks on the generated site.""" session.install("-r", "requirements.txt") session.run("nikola", "build") session.run( "nikola", "check", - "--check-links", "--check-files", "--find-sources", ) +@nox.session +def check_thoroughly(session) -> None: + """ + Perform extensive checks on the generated site, including remote links. + + This check includes some expected failures. For example, the + --check-links option fails due to `url('None')` showing up in the + generated output for affiliates/index.html. + """ + session.install("-r", "requirements.txt") + session.run("nikola", "build") + session.run( + "nikola", + "check", + "--check-files", + "--find-sources", + "--check-links", + "--remote", + ) + @nox.session def clean(session) -> None: From de85eb9a01273f746615bc02b00c228f9baafbcb Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:49:46 -0500 Subject: [PATCH 11/13] Update affiliated packages info --- data/affiliated_pkgs.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/affiliated_pkgs.json b/data/affiliated_pkgs.json index a8d4f4c00..1f61e89fd 100644 --- a/data/affiliated_pkgs.json +++ b/data/affiliated_pkgs.json @@ -6,12 +6,12 @@ }, "urls": { "home": "https://www.plasmapy.org", - "repo": "https://github.com/plasmapy/plasmapy", + "repo": "https://github.com/PlasmaPy/PlasmaPy", "image": "/images/plasmapy-graphic-circular.png" }, "description": { "short": "A open-source Python 3 package for plasma physics.", - "long": "PlasmaPy is an open-source community developed Python 3 package for plasma physics. PlasmaPy intends to be a collection of functionality commonly used and shared between plasma physicists and researchers globally." + "long": "PlasmaPy is an open-source community developed Python package for plasma research and education." }, "affiliated": false, "keywords": [ From 071f21d37fc3a6fe6ebf4dc398acb6de0543676e Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:50:08 -0500 Subject: [PATCH 12/13] Update affiliated packages info --- data/affiliated_pkgs.json | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/data/affiliated_pkgs.json b/data/affiliated_pkgs.json index 1f61e89fd..d32776d32 100644 --- a/data/affiliated_pkgs.json +++ b/data/affiliated_pkgs.json @@ -37,8 +37,8 @@ "image": null }, "description": { - "short": "tofu is an open-source python library providing a toolbox for synthetic diagnostics and tomography.", - "long": "tofu is an open-source python library. It aims at providing the user with a ready-set toolbox for modelling synthetic diagnostics and performing tomographic inversions on linear or toroidal (quasi-axisymmetric) fusion devices. It is relevant for diagnostics integrating an emissivity on a set of Lines of Sight or Volumes of Sight corresponding to as many detectors or pixels, and for which the plasma can be considered transparent (i.e. not for radio-frequencies / microwaves)." + "short": "tofu is an open source python library providing a toolbox for synthetic diagnostics and tomography.", + "long": "tofu is an open source python library. It aims at providing the user with a ready-set toolbox for modelling synthetic diagnostics and performing tomographic inversions on linear or toroidal (quasi-axisymmetric) fusion devices. It is relevant for diagnostics integrating an emissivity on a set of Lines of Sight or Volumes of Sight corresponding to as many detectors or pixels, and for which the plasma can be considered transparent (i.e. not for radio-frequencies or microwaves)." }, "affiliated": true, "keywords": [ @@ -67,14 +67,13 @@ }, "description": { "short": "A open-source Python 3 package for plasma physics.", - "long": "OMFIT - One Modeling Framework for Integrated Tasks - is an integrated modeling and experimental data analysis framework written in python. The goal of OMFIT is to enhance existing scientific workflows and enable new integrated modeling capabilities." + "long": "OMFIT — One Modeling Framework for Integrated Tasks — is an integrated modeling and experimental data analysis framework written in python. The goal of OMFIT is to enhance existing scientific workflows and enable new integrated modeling capabilities." }, "affiliated": false, "keywords": [ "plasma", "physics", "Python", - "Python 3", "fusion", "simulation", "diagnostics" @@ -126,8 +125,8 @@ "image": null }, "description": { - "short": "ALOHA is a coupling code for LHCD antennas facing tokamak magnetized fusion plasma.", - "long": "ALOHA is a coupling code for Lower Hybrid Current Drive antennas facing tokamak magnetized fusion plasma. This coupling code is based on the linear coupling theory. It allows one to model the coupling of a 'grill'-like antenna to a cold plasma of the kind one can find in Tokamaks. It allows taking into account advanced antennas (such as multijunctions or passive-active multijunction antennas)." + "short": "ALOHA is a coupling code for LHCD antennas facing tokamak magnetized fusion plasma.", + "long": "ALOHA is a coupling code for Lower Hybrid Current Drive antennas facing tokamak magnetized fusion plasma. This coupling code is based on the linear coupling theory. It allows one to model the coupling of a 'grill'-like antenna to a cold plasma of the kind one can find in Tokamaks. It allows taking into account advanced antennas (such as multijunctions or passive-active multijunction antennas)." }, "affiliated": false, "keywords": [ From 58ec5c9f43c00265029b54f8ee4503c2d972be99 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 12 Jan 2026 16:50:51 -0500 Subject: [PATCH 13/13] pre-commit --- data/affiliated_pkgs.json | 2 +- noxfile.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/data/affiliated_pkgs.json b/data/affiliated_pkgs.json index d32776d32..dc652a3ee 100644 --- a/data/affiliated_pkgs.json +++ b/data/affiliated_pkgs.json @@ -67,7 +67,7 @@ }, "description": { "short": "A open-source Python 3 package for plasma physics.", - "long": "OMFIT — One Modeling Framework for Integrated Tasks — is an integrated modeling and experimental data analysis framework written in python. The goal of OMFIT is to enhance existing scientific workflows and enable new integrated modeling capabilities." + "long": "OMFIT \u2014 One Modeling Framework for Integrated Tasks \u2014 is an integrated modeling and experimental data analysis framework written in python. The goal of OMFIT is to enhance existing scientific workflows and enable new integrated modeling capabilities." }, "affiliated": false, "keywords": [ diff --git a/noxfile.py b/noxfile.py index 73edc6eca..26c832b09 100644 --- a/noxfile.py +++ b/noxfile.py @@ -22,6 +22,7 @@ def check(session) -> None: "--find-sources", ) + @nox.session def check_thoroughly(session) -> None: """