Skip to content

Commit 6ad81d9

Browse files
authored
Re-enable nikola check commands in CI (#209)
* Include some Nikola checks * Re-enable nox -s check in CI * pre-commit * Change how to submit requests to be on affiliates page * Check links again * Update contributing page * Remove no longer needed logistics info * Update mini-conferences link * Update links from initial release posts * Split Nox sessions * Update affiliated packages info * Update affiliated packages info * pre-commit
1 parent 9228b53 commit 6ad81d9

File tree

9 files changed

+71
-110
lines changed

9 files changed

+71
-110
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ jobs:
2222
- name: Build website
2323
nox_session: build
2424

25-
# - name: Perform Nikola checks
26-
# nox_session: check
25+
- name: Perform Nikola checks
26+
nox_session: check
2727

2828
steps:
2929

data/affiliated_pkgs.json

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
},
77
"urls": {
88
"home": "https://www.plasmapy.org",
9-
"repo": "https://github.com/plasmapy/plasmapy",
9+
"repo": "https://github.com/PlasmaPy/PlasmaPy",
1010
"image": "/images/plasmapy-graphic-circular.png"
1111
},
1212
"description": {
1313
"short": "A open-source Python 3 package for plasma physics.",
14-
"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."
14+
"long": "PlasmaPy is an open-source community developed Python package for plasma research and education."
1515
},
1616
"affiliated": false,
1717
"keywords": [
@@ -37,8 +37,8 @@
3737
"image": null
3838
},
3939
"description": {
40-
"short": "tofu is an open-source python library providing a toolbox for synthetic diagnostics and tomography.",
41-
"long": "<code>tofu</code> 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)."
40+
"short": "tofu is an open source python library providing a toolbox for synthetic diagnostics and tomography.",
41+
"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)."
4242
},
4343
"affiliated": true,
4444
"keywords": [
@@ -67,14 +67,13 @@
6767
},
6868
"description": {
6969
"short": "A open-source Python 3 package for plasma physics.",
70-
"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."
70+
"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."
7171
},
7272
"affiliated": false,
7373
"keywords": [
7474
"plasma",
7575
"physics",
7676
"Python",
77-
"Python 3",
7877
"fusion",
7978
"simulation",
8079
"diagnostics"
@@ -126,8 +125,8 @@
126125
"image": null
127126
},
128127
"description": {
129-
"short": "<code>ALOHA</code> is a coupling code for LHCD antennas facing tokamak magnetized fusion plasma.",
130-
"long": "<code>ALOHA</code> 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)."
128+
"short": "ALOHA is a coupling code for LHCD antennas facing tokamak magnetized fusion plasma.",
129+
"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)."
131130
},
132131
"affiliated": false,
133132
"keywords": [

noxfile.py

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,38 @@ def build(session) -> None:
1212

1313
@nox.session
1414
def check(session) -> None:
15-
"""Check links and files in the generated site."""
15+
"""Perform basic checks on the generated site."""
1616
session.install("-r", "requirements.txt")
1717
session.run("nikola", "build")
1818
session.run(
1919
"nikola",
2020
"check",
21-
"--check-links",
21+
"--check-files",
2222
"--find-sources",
2323
)
2424

2525

26+
@nox.session
27+
def check_thoroughly(session) -> None:
28+
"""
29+
Perform extensive checks on the generated site, including remote links.
30+
31+
This check includes some expected failures. For example, the
32+
--check-links option fails due to `url('None')` showing up in the
33+
generated output for affiliates/index.html.
34+
"""
35+
session.install("-r", "requirements.txt")
36+
session.run("nikola", "build")
37+
session.run(
38+
"nikola",
39+
"check",
40+
"--check-files",
41+
"--find-sources",
42+
"--check-links",
43+
"--remote",
44+
)
45+
46+
2647
@nox.session
2748
def clean(session) -> None:
2849
"""Remove output files."""

pages/affiliates/index.md

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,17 @@ title: Plasma Packages
22
hidetitle: True
33
author: Erik T. Everson
44

5-
PlasmaPy's charter includes promoting open-source software for all of
6-
the plasma community, and not just `plasmapy`. We feel the entire community
5+
PlasmaPy's charter includes promoting open source software for all of
6+
the plasma community, and not just PlasmaPy. The entire community
77
benefits when there are multiple efforts trying to build functionality for all
88
aspects of the plasma field. As such, we want to promote any ongoing effort. This
99
page displays projects that have requested to be shown. If you want your
10-
project include, and increase its visibility, then please submit a request.
11-
12-
<div style="width: 100%">
13-
<a href=https://docs.google.com/forms/d/e/1FAIpQLSfz2djEihWkODbkr1ZC5splkX7ZKLAh_Kuy-aXOngTELIm3xQ/viewform?usp=sf_link
14-
class="feature-card feature-link btn-plasmapy-bluegreen"
15-
style="width: 200px">
16-
<div>Submit Request</div>
17-
</a>
18-
</div>
19-
<br>
10+
project include, and increase its visibility, then please submit a request
11+
2012

2113
All projects/packages are considered **Community Packages**
2214
<span style="vertical-align: 2px">{{% community_shield %}}</span>, but packages designed with
23-
`plasmapy` interoperability are marked as **Affiliated Packages**
15+
PlasmaPy interoperability are marked as **Affiliated Packages**
2416
<span style="vertical-align: 2px">{{% affiliated_shield %}}</span>.
2517

2618
----

pages/contribute.md

Lines changed: 25 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,29 @@
1-
title: Contribute to PlasmaPy
1+
title: Contributing to PlasmaPy
22
slug: contribute
33

44
# Contributing to PlasmaPy
55

6-
There are numerous ways to contribute to PlasmaPy, including by
7-
providing code and documentation, suggesting and discussing ideas,
8-
submitting issues and bug reports, and engaging the broader plasma
9-
physics community.
10-
11-
**Imposter syndrome disclaimer**: We want your help. No, really.
12-
13-
There may be a little voice inside your head that is telling you that you're not
14-
ready to be an open source contributor; that your skills aren't nearly good
15-
enough to contribute. What could you possibly offer a project like this one?
16-
17-
We assure you - the little voice in your head is wrong. If you can write code at
18-
all, you can contribute code to open source. Contributing to open source
19-
projects is a fantastic way to advance one's coding skills. Writing perfect code
20-
isn't the measure of a good developer (that would disqualify all of us!); it's
21-
trying to create something, making mistakes, and learning from those
22-
mistakes. That's how we all improve, and we are happy to help others learn.
23-
24-
Being an open source contributor doesn't just mean writing code, either. You can
25-
help out by writing documentation, tests, or even giving feedback about the
26-
project (and yes - that includes giving feedback about the contribution
27-
process). Some of these contributions may be the most valuable to the project as
28-
a whole, because you're coming to the project with fresh eyes, so you can see
29-
the errors and assumptions that seasoned contributors have glossed over.
30-
31-
*This disclaimer was originally written by
32-
[Adrienne Lowe](https://github.com/adriennefriend) for a
33-
[PyCon talk](https://www.youtube.com/watch?v=6Uj746j9Heo), and was adapted by
34-
[yt](https://github.com/yt-project/yt) in their README file based on its use
35-
in the README file for the [MetPy project](https://github.com/Unidata/MetPy).
36-
It was then adapted by PlasmaPy.*
37-
38-
## Sharing ideas
39-
40-
There are several methods of communication that are being used in the
41-
early stages of PlasmaPy development:
42-
43-
* [Signing up for the PlasmaPy email
44-
list](https://groups.google.com/forum/#!forum/plasmapy) will allow
45-
you to participate in broader discussions and keep up with the
46-
latest developments.
47-
48-
* The [PlasmaPy repository on
49-
GitHub](https://github.com/PlasmaPy/plasmapy) is the best place to
50-
[submit issues](https://github.com/PlasmaPy/plasmapy/issues) and
51-
review [pull requests](https://github.com/PlasmaPy/plasmapy/pulls).
52-
53-
* The PlasmaPy [Matrix](https://app.element.io/#/room/#plasmapy:openastronomy.org) or
54-
[Gitter](https://gitter.im/PlasmaPy/Lobby) joint channel
55-
is a great place to have informal conversations, coordinate efforts,
56-
and share ideas.
57-
* We have biweekly telecons which are announced on the email list.
58-
59-
## Contributing code or documentation to PlasmaPy
60-
61-
If you see something you'd like to work on amongst our
62-
[issues](https://github.com/PlasmaPy/PlasmaPy/issues), or if you've got
63-
a great idea for something to include in the package, start hacking away on
64-
that! However, please announce your intent first in the relevant issue (or make
65-
one if necessary) to make sure there is no work duplication.
66-
67-
You can find most of what you should know in the [Contributing Guide](http://docs.plasmapy.org/en/latest/development/index.html).
68-
69-
Please note that PlasmaPy has a [Code of Conduct](/conduct).
70-
71-
Issues marked by the community as *help wanted* mean just that - either they're
72-
good contributions for outsiders or there's an issue in the ongoing work that
73-
requires a second opinion. Please consider these first!
6+
Thank you for your interest in contributing to PlasmaPy! To learn more,
7+
please check out the [Contributor Guide] in PlasmaPy's online documentation.
8+
This guide describes:
9+
10+
- The [many ways to contribute]
11+
- [Getting ready to contribute]
12+
- The [code contribution workflow]
13+
- Best practices and common conventions for [writing code]
14+
- Creating and running [software tests]
15+
- Writing and building [documentation]
16+
17+
If you would like to learn more, we encourage you to stop by one of
18+
our [community meetings](/meetings/weekly).
19+
20+
The PlasmaPy community abides by the Contributor Covenant [Code of Conduct].
21+
22+
[code contribution workflow]: https://docs.plasmapy.org/en/latest/contributing/workflow.html
23+
[code of conduct]: https://docs.plasmapy.org/en/latest/CODE_OF_CONDUCT.html
24+
[contributor guide]: https://docs.plasmapy.org/en/latest/contributing/index.html
25+
[documentation]: https://docs.plasmapy.org/en/latest/contributing/doc_guide.html
26+
[getting ready to contribute]: https://docs.plasmapy.org/en/latest/contributing/getting_ready.html
27+
[many ways to contribute]: https://docs.plasmapy.org/en/latest/contributing/many_ways.html
28+
[software tests]: https://docs.plasmapy.org/en/latest/contributing/testing_guide.html
29+
[writing code]: https://docs.plasmapy.org/en/latest/contributing/coding_guide.html

pages/meetings/aps/62nd_dpp_mini_conf_followups.md

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,12 @@ title: 62nd APS DPP - 11.04 Mini-Conference Followups
22
author: Erik T. Everson
33
hidetitle: True
44

5-
[Zoom link]: https://harvard.zoom.us/j/91600794594?pwd=L09iTGtTRUN1RmpsVnNvU05LRnNwQT09
6-
75
# 62nd APS DPP - 11.04 Mini-Conference | Post-Meeting Discussions
86
### Growing an open-source software ecosystem for plasma science
97

10-
<div style="height: 12px"><!-- Adding vertical whitespace --></div>
11-
12-
**Where:** [On Zoom][Zoom Link] <br/>
138
**Day 1:** Tuesday, November 17th at 21 UTC / 4 pm EST / 1 pm PST <br/>
149
**Day 2:** Thursday, November 19th at 19 UTC / 2 pm EST / 11 am PST <br/>
1510

16-
<div style="height: 12px"><!-- Adding vertical whitespace --></div>
17-
1811
In order to capitalize on the opportunities afforded by bringing together the
1912
diversity of speakers and attendees and perspectives during this year's
2013
mini-conference, we plan to host two **post-meeting discussions**. Here

pages/meetings/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ We provided a [PlasmaPy tutorial](./magnetus2023) at the
2525
[MagNetUS 2023 meeting](https://sites.google.com/view/magnetus2023/home?authuser=0)
2626
at Auburn University on Thursday, June 15.
2727

28-
#### [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
28+
#### [62nd APS DPP - 11.04 Mini-Conference](https://engage.aps.org/dpp/meetings/mini-conferences): Growing an open source software ecosystem for plasma science
2929
November 11 & 12, 2020
3030

3131
<div style="height: 12px"><!-- Adding vertical whitespace --></div>

posts/plasmapy-v01-release.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
1414
We are faced with the very newest of releases.
1515
16-
GitHub calls this one `PlasmaPy v0.1.0 <http://docs.plasmapy.org/en/v0.1/about/release_notes.html#version-0-1-0>`_, the first of the alphas.
16+
GitHub calls this one `PlasmaPy v0.1.0 <https://docs.plasmapy.org/en/stable/changelog/0.1.0.html>`_, the first of the alphas.
1717
1818
And yet, for the first time in the history of this project our team has the
1919
technology to prevent its own procrastination.
@@ -27,18 +27,18 @@
2727
<https://github.com/PlasmaPy/PlasmaPy/issues>`_, even the code reviews that
2828
we performed have provided us with the tools to prevent this exciting event.
2929
30-
Through all the chaos that is our Git tree, through all of the `PEP8
30+
Through all the chaos that is our Git tree, through all of the `PEP 8
3131
<https://github.com/PlasmaPy/PlasmaPy/search?q=pep8&type=Commits>`_ and
3232
the `Matrix discussion <https://app.element.io/#/room/#plasmapy:openastronomy.org>`_,
3333
through all the `pain of learning Sphinx <http://docs.plasmapy.org/>`_ and rebasing,
3434
through `all of our ~2000 commits <https://github.com/PlasmaPy/PlasmaPy/commits/main>`_,
3535
there is one thing that has nourished our souls, and pushed us to complete
3636
this release, and that is our `pretty plots
37-
<http://docs.plasmapy.org/en/latest/auto_examples/index.html>`_. Oh, and the
37+
<https://docs.plasmapy.org/en/stable/examples.html>`_. Oh, and the
3838
possibility to
39-
`apply <http://docs.plasmapy.org/en/v0.1/atomic/decorators.html#passing-particle-instances-to-functions-and-methods>`_
40-
`more <http://docs.plasmapy.org/en/v0.1/api/plasmapy.utils.checks.check_relativistic.html#plasmapy.utils.checks.check_relativistic>`_
41-
`decorators <http://docs.plasmapy.org/en/v0.1/api/plasmapy.utils.checks.check_quantity.html#plasmapy.utils.checks.check_quantity>`_.
39+
`apply <https://docs.plasmapy.org/en/stable/api/plasmapy.particles.decorators.particle_input.html#particle-input>`_
40+
`more <https://docs.plasmapy.org/en/stable/api/plasmapy.utils.decorators.checks.check_relativistic.html#check-relativistic>`_
41+
`decorators <https://docs.plasmapy.org/en/stable/api/plasmapy.utils.decorators.validators.validate_quantities.html#validate-quantities>`_.
4242
4343
The dreams of the entire PlasmaPy community are focused tonight on these `31
4444
brave committers <https://github.com/PlasmaPy/PlasmaPy/graphs/contributors>`_,
@@ -47,7 +47,7 @@
4747
And may we all, plasma enthusiasts the world over, see this release through.
4848
4949
`Thermal speed
50-
<http://docs.plasmapy.org/en/v0.1/api/plasmapy.physics.parameters.thermal_speed.html#plasmapy.physics.parameters.thermal_speed>`_,
50+
<https://docs.plasmapy.org/en/stable/api/plasmapy.formulary.speeds.thermal_speed.html#thermal-speed>`_,
5151
and a :math:`\sqrt{2}` to you,
5252
5353
~PlasmaPy

posts/plasmapy-v011-bugfix-release.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
1010
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!
1111

12-
Take a look at the `release notes <http://docs.plasmapy.org/en/latest/whatsnew/0.1.1.html>`_ to see what's changed.
12+
Take a look at the `release notes <https://docs.plasmapy.org/en/stable/changelog/0.1.1.html>`_ to see what's changed.
1313

1414
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`.
1515

0 commit comments

Comments
 (0)