internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: PlasmaPy/PlasmaPy

Issue:
Archive version 0.1.1 on Zenodo and get a DOI
There is a partnership between [Zenodo](https://zenodo.org/) and GitHub that allows Zenodo to archive releases and [make code citable](https://guides.github.com/activities/citable-code/).  Zenodo can then mint a digital object identifier (DOI) that would make that version of PlasmaPy citable.  We can also get a persistent doi that would alway refers to the most recent version.  We should make archiving our release on Zenodo part of our regular release process.  [SunPy](https://doi.org/10.5281/zenodo.591887) has done this already.  

- [x] Link the PlasmaPy organization/repository to Zenodo
- [ ] Archive version 0.1 on Zenodo and get a persistent DOI and a release DOI
- [ ] Put a badge on our main README.md for our DOI
- [ ] Put the persistent DOI in our docs and on our main website, along with instructions on how to cite the code
- [ ] Document instructions on how to put a release on Zenodo in our release guide.





Discussion:
I attempted to link PlasmaPy to Zenodo.  However, I could only get Zenodo to list my repositories and not the PlasmaPy organization's repositories even after I temporarily enabled third-party access like I was supposed to.

Resolving patch:
diff --git a/plasmapy/__init__.py b/plasmapy/__init__.py
--- a/plasmapy/__init__.py
+++ b/plasmapy/__init__.py
@@ -57,7 +57,7 @@ def online_help(query):
     webbrowser.open(url)
 
 __citation__ = """@misc{plasmapy_community_2018_1238132,
-  author       = {PlasmaPy Community and
+  author       = {{PlasmaPy Community} and
                   Murphy, Nicholas A. and
                   Leonard, Andrew J. and
                   Sta\'nczak, Dominik and


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Broken link to Coulomb Logarithms
The `Collisions` documentation page under the `Coulomb Logarithms` heading refers to documentation on `Coulomb Logarithms` which does not seem to exist. Perhaps it is supposed to link to the [function definition](http://docs.plasmapy.org/en/stable/api/plasmapy.physics.transport.collisions.Coulomb_logarithm.html)?
Broken link to Coulomb Logarithms
The `Collisions` documentation page under the `Coulomb Logarithms` heading refers to documentation on `Coulomb Logarithms` which does not seem to exist. Perhaps it is supposed to link to the [function definition](http://docs.plasmapy.org/en/stable/api/plasmapy.physics.transport.collisions.Coulomb_logarithm.html)?


Discussion:

Resolving patch:
diff --git a/plasmapy/transport/collisions.py b/plasmapy/transport/collisions.py
--- a/plasmapy/transport/collisions.py
+++ b/plasmapy/transport/collisions.py
@@ -16,7 +16,7 @@
 Coulomb logarithms
 ==================
 
-Please see the documentation for the `Coulomb logarithm <Coulomb_logarithm>`_
+Please see the documentation for the `Coulomb_logarithm`
 for a review of the many ways in which one can define and calculate
 that quantity.
 
@@ -33,6 +33,7 @@
 ======================
 
 These include:
+
 * `Spitzer_resistivity`
 * `mobility`
 * `Knudsen_number`


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Add binder links to generated example notebooks
Stumbled upon at #638 

* Binder is a cool tool I'd love to learn more about
* https://sphinx-gallery.github.io/configuration.html#binder-links is pretty cool
	* https://github.com/mne-tools/mne-bids/pull/207/files is an implementation


Discussion:

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -180,4 +180,15 @@
     # path where to save gallery generated examples
     'backreferences_dir': 'gen_modules/backreferences',
     'gallery_dirs': 'auto_examples',
+    'binder': {
+        # Required keys
+        'org': 'PlasmaPy',
+        'repo': 'PlasmaPy',
+        'branch': 'master',  # noqa: E501 Can be any branch, tag, or commit hash. Use a branch that hosts your docs.
+        'binderhub_url': 'https://mybinder.org',  # noqa: E501 Any URL of a binderhub deployment. Must be full URL (e.g. https://mybinder.org).
+        'dependencies': [
+            '../requirements/environment.yml'
+        ],
+        'use_jupyter_lab': True,
+    },
 }


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Update acknowledgements to include NSF CSSI grant
Good news, everyone!  The NSF CSSI proposal that we submitted has officially been awarded!  At the request of NSF program manager Slava Lukin, we should update our acknowledgements to include this grant and reflect the support from NSF.  I'll assign myself to do this when the grant officially starts (which appears to have been moved up to October 1, 2019).  The things that we need to do include:

 - [x] Revise the sentence that we ask people to include in the acknowledgements section of their papers to reflect funding from NSF 
 - [x] Add an acknowledgements section at the end of `README.md`
 - [x] Update `CITATION.md`
 - [x] Update `docs/about/credits.rst`
 - [x] Update `plasmapy.__citation__`

Another thing peripherally related to this issue is to:

 - [x] Update the [proposal](https://doi.org/10.5281/zenodo.2633286) that we archived on Zenodo to include the answers to questions we had to send in and the panel's comments

I'll assign this to myself. 





Discussion:
🎉 

It would probably make sense to have that ready as a PR to be merged at the crack of October dawn ;)
> It would probably make sense to have that ready as a PR to be merged at the crack of October dawn ;)

Coincidentally, I never stay up on New Year's Eve until past midnight to submit a PR that updates that copyright dates for our license.  Nope, I have not done that at all.  



Resolving patch:
diff --git a/plasmapy/__init__.py b/plasmapy/__init__.py
--- a/plasmapy/__init__.py
+++ b/plasmapy/__init__.py
@@ -50,8 +50,13 @@
 
 __name__ = "plasmapy"
 
+__citation__ = (
+    "Instructions on how to cite and acknowledge PlasmaPy are provided in the "
+    "online documentation at: http://docs.plasmapy.org/en/latest/about/citation.html"
+)
+
 if sys.version_info < tuple((int(val) for val in "3.6".split('.'))):
-    raise Exception("plasmapy does not support Python < {}".format(3.6))
+    raise Exception("PlasmaPy does not support Python < {}".format(3.6))
 
 
 def online_help(query):
@@ -76,9 +81,3 @@ def online_help(query):
         url = 'http://docs.astropy.org/en/stable/units/'
 
     webbrowser.open(url)
-
-
-__citation__ = [
-    "https://doi.org/10.5281/zenodo.1238132",
-    "https://doi.org/10.5281/zenodo.3235817",
-]


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
CircleCI docs build failing on master
https://app.circleci.com/pipelines/github/PlasmaPy/PlasmaPy/64/workflows/0dbf9222-a93e-4040-8ec7-890385b78174/jobs/5471 is failing, seemingly due to a new warning in https://www.sphinx-doc.org/en/master/changes.html#id14. RTD on the other hand is building nicely https://readthedocs.org/projects/plasmapy/builds/10782778/, but that's probably because we don't set it to raise on warnings. I'll fix it as time allows.


Discussion:
I've looked into this a little bit and it appears the error is coming from duplicate docstrings on `kinetic_energy_history` [here](https://github.com/PlasmaPy/PlasmaPy/blob/8ade13ccc99161ed50889c7987b3254490c41503/plasmapy/simulation/particletracker.py#L54-L55) and [here](https://github.com/PlasmaPy/PlasmaPy/blob/8ade13ccc99161ed50889c7987b3254490c41503/plasmapy/simulation/particletracker.py#L117-L125).  When I removed the duplicate from the class level docstring, then the error was fixed but a new one popped up.  I'm trying to figure the new error out before establishing a PR, but I'm at a bit of a loss.  The new error appears to be similar to the issue https://github.com/sphinx-doc/sphinx/issues/3350.
It'd be easier to discuss the errors themselves with an exploratory draft pr already out there ;)
Agreed, just haven't gotten around to it.  I'll have something up a little later.

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -32,12 +32,16 @@
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
-extensions = ['sphinx.ext.autodoc', 'sphinx.ext.mathjax',
-              'sphinx.ext.napoleon', 'sphinx.ext.intersphinx',
-              'sphinx_automodapi.automodapi',
-              'sphinx_automodapi.smart_resolver',
-              'sphinx_gallery.gen_gallery',
-              'sphinx.ext.graphviz']
+extensions = [
+    'sphinx.ext.autodoc',
+    'sphinx.ext.intersphinx',
+    'sphinx.ext.graphviz',
+    'sphinx.ext.mathjax',
+    'sphinx.ext.napoleon',
+    'sphinx_automodapi.automodapi',
+    'sphinx_automodapi.smart_resolver',
+    'sphinx_gallery.gen_gallery',
+]
 
 
 intersphinx_mapping = {
diff --git a/plasmapy/simulation/particletracker.py b/plasmapy/simulation/particletracker.py
--- a/plasmapy/simulation/particletracker.py
+++ b/plasmapy/simulation/particletracker.py
@@ -49,10 +49,6 @@ class ParticleTracker:
     eff_q : `astropy.units.Quantity`
     eff_m : `astropy.units.Quantity`
         Total charge and mass of macroparticle.
-    kinetic_energy
-        calculated from `v`, as in, current velocity.
-    kinetic_energy_history
-        calculated from `velocity_history`.
 
     Examples
     ----------


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Fix definition of `version` and `release` in docs conf.py
Update the the definition of sphinx project info `version` and `release`, such that they are automatically updated with package versions.  A good example of how to do this can be seen in Astorpy's `conf.py` [here](https://github.com/astropy/astropy/blob/f6a9846b5e7c054878080ba49212a961bab2ff78/docs/conf.py#L111-L114).

```python
# The full version, including alpha/beta/rc tags.
release = pkg_resources.get_distribution(project).version
# The short X.Y version.
version = '.'.join(release.split('.')[:2])
```

This method does create a documentation dependency on `setuptools`.


Discussion:
Everyone has setuptools nowadays. Isn't it a dependency for pip?
`pip` probably does depend on `setuptools`, so it's unlikely that `setuptools` won't be installed.  This is more of a FYI and that we should indicated the dependency in any *"requirements"*.
On an unrelated note, every time I see an issue of this kind I think it would have been more global-work-time-efficient to write the description here as a commit message and just send a lightning-fast PR ;)
But of course that's probably just my chaotic good alignment manifesting via grumpiness about your orderly way of doing things, so don't mind me :laughing: 

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -64,17 +64,22 @@
 
 # General information about the project.
 project = 'PlasmaPy'
-copyright = '2015-2019, PlasmaPy Community'
+copyright = '2015-2020, PlasmaPy Community'
 author = 'PlasmaPy Community'
 
 # The version info for the project you're documenting, acts as replacement for
 # |version| and |release|, also used in various other places throughout the
 # built documents.
 #
-# The short X.Y version.
-version = '0.2'
 # The full version, including alpha/beta/rc tags.
-release = '0.2.0'
+#  Note: If plasmapy.__version__ can not be defined then it is set to 'unknown'.
+#        However, release needs to be a semantic style version number, so set
+#        the 'unknown' case to ''.
+from plasmapy import __version__ as release
+release = '' if release == 'unknown' else release
+# The short X.Y version.
+version = '.'.join(release.split('.')[:2])
+
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Thumbnails missing/broken on plasmapy documentation webpage home
As the title suggests, and can be seen on the screenshot, two of the three thumbnails
are missing from the PlasmaPy documentation front page at https://docs.plasmapy.org/en/latest/
<img width="598" alt="Untitled" src="https://user-images.githubusercontent.com/7075058/88436433-2b75b680-cdb9-11ea-92a0-83ebd8d67880.png">

Thumbnails missing/broken on plasmapy documentation webpage home
As the title suggests, and can be seen on the screenshot, two of the three thumbnails
are missing from the PlasmaPy documentation front page at https://docs.plasmapy.org/en/latest/
<img width="598" alt="Untitled" src="https://user-images.githubusercontent.com/7075058/88436433-2b75b680-cdb9-11ea-92a0-83ebd8d67880.png">

Thumbnails missing/broken on plasmapy documentation webpage home
As the title suggests, and can be seen on the screenshot, two of the three thumbnails
are missing from the PlasmaPy documentation front page at https://docs.plasmapy.org/en/latest/
<img width="598" alt="Untitled" src="https://user-images.githubusercontent.com/7075058/88436433-2b75b680-cdb9-11ea-92a0-83ebd8d67880.png">



Discussion:
Arg!  Thanks for the notification.  I'm pretty sure I know what is causing this.
Arg!  Thanks for the notification.  I'm pretty sure I know what is causing this.
Arg!  Thanks for the notification.  I'm pretty sure I know what is causing this.

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -21,6 +21,7 @@
 import os
 import sys
 
+from datetime import datetime
 from pkg_resources import parse_version
 from sphinx.application import Sphinx
 
@@ -72,8 +73,8 @@
 
 # General information about the project.
 project = "PlasmaPy"
-copyright = "2015-2020, PlasmaPy Community"
 author = "PlasmaPy Community"
+copyright = f"2015-{datetime.utcnow().year}, {author}"
 
 
 # The version info for the project you're documenting, acts as replacement for
@@ -131,13 +132,24 @@
 # further.  For a list of options available for each theme, see the
 # documentation.
 #
-# html_theme_options = {}
+html_logo = "./_static/with-text-light-190px.png"
+html_theme_options = {
+    "logo_only": True,
+    #
+    # TOC options
+    #   https://sphinx-rtd-theme.readthedocs.io/en/stable/configuring.html#theme-options
+    "includehidden": False,
+}
 
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
-# html_static_path = ['_static']
+html_static_path = ["_static"]
 
+# A list of prefixes that are ignored for sorting the Python module
+# index (e.g., if this is set to ['foo.'], then foo.bar is shown under
+# B, not F).
+modindex_common_prefix = ["plasmapy."]
 
 # -- Options for HTMLHelp output ------------------------------------------
 
@@ -237,3 +249,4 @@
 
 def setup(app: Sphinx) -> None:
     app.add_config_value("revision", "", True)
+    app.add_stylesheet("rtd_theme_overrides.css")


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Change name of chat room from Matrix/Riot to Element
The name of the chat platform we are using has [changed from Matrix/Riot to Element](https://element.io/blog/the-world-is-changing/).  We should change the name of our chat room accordingly, including in our README file and possibly some places in our documentation.


Discussion:
The link of the chat room is now: `https://app.element.io/#/room/#plasmapy:openastronomy.org`
The interesting thing here:

* Matrix is the chat platform we were and still are using;
* Riot is the old name of the particular chat client we're using;
* Element is the new name for that chat client.

> nowadays there are lots of other Matrix clients, vendors and hosting providers that demonstrate perfectly the diversity of the Matrix ecosystem.

(from the linked page)

So I'm going to standardize this to Matrix in most cases, but link to Element. I guess we could link to https://matrix.to/#/#plasmapy:openastronomy.org (I found the site by looking at what provides the ![Matrix](https://matrix.to/img/matrix-badge.svg) badge), but since Matrix is a bit niche as is, having the chat another step away and making people decide which chat client to use seems counterproductive.

Also, it's sad that they couldn't get the element.im domain - I liked that for Instant Messaging. Instead of that they went from riot.im/app (cool!) they went to app.element.io (generic!). Oh well.

Resolving patch:
diff --git a/plasmapy/particles/elements.py b/plasmapy/particles/elements.py
--- a/plasmapy/particles/elements.py
+++ b/plasmapy/particles/elements.py
@@ -26,7 +26,7 @@ def _element_obj_hook(obj):
     return obj
 
 
-# this code was used to create the JSON file as per vn-ki on Riot:
+# this code was used to create the JSON file as per vn-ki on Matrix:
 # https://matrix.to/#/!hkWCiyhQyxiYJlUtKF:matrix.org/
 #    $1554667515670438wIKlP:matrix.org?via=matrix.org&via=cadair.com
 #
diff --git a/plasmapy/particles/isotopes.py b/plasmapy/particles/isotopes.py
--- a/plasmapy/particles/isotopes.py
+++ b/plasmapy/particles/isotopes.py
@@ -11,7 +11,7 @@
 import json
 import pkgutil
 
-# this code was used to create the JSON file as per vn-ki on Riot:
+# this code was used to create the JSON file as per vn-ki on Matrix:
 # https://matrix.to/#/!hkWCiyhQyxiYJlUtKF:matrix.org/
 #    $1554667515670438wIKlP:matrix.org?via=matrix.org&via=cadair.com
 #


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Notebook for ExB drift
A Jupyter notebook needs to be created in our documentation that not only shows how to use `plamsapy.formulary.drifts.ExB_drift()` but that also describes the physics behind the drift.  The notebook has to be placed in `/docs/notebooks/` or one of it's sub-directories.  Then the notebook needs to be properly reference in the documentation.


Discussion:
I don't think that needs to be a new notebook; I don't think we had that functionality when I was first drafting the particle tracker notebook, and I didn't add it there later on. How about I add that as part of #953 ?
I'm basically trying to come up with projects that new contributors could pick up to learn the mechanics of contributing and don't feel to daunting. This is not a high priority item, but it would be useful to have a notebook on drifts. This notebook would be more useful as educational material than to show how to use functionality.
Ah, in that case - sure, these two are not mutually exclusive :)

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -49,6 +49,7 @@
     "nbsphinx",
     "sphinx_copybutton",
     "sphinx_gallery.load_style",
+    "IPython.sphinxext.ipython_console_highlighting",
 ]
 
 intersphinx_mapping = {
@@ -110,10 +111,8 @@
 # List of patterns, relative to source directory, that match files and
 # directories to ignore when looking for source files.
 # This patterns also effect to html_static_path and html_extra_path
-exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
+exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "**.ipynb_checkpoints"]
 
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = "sphinx"
 
 # If true, `todo` and `todoList` produce output, else they produce nothing.
 todo_include_todos = False


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Drop Python 3.6 support for version 0.6.0
[NumPy Enhancement Proposal 29](https://numpy.org/neps/nep-0029-deprecation_policy.html) suggests that scientific Python projects support versions of Python released in the last 42 months.  Python 3.6 was released more than 42 months ago, so this suggests that we no longer need to support Python 3.6.  Astropy 4.2 also requires Python 3.7+, so we'll need to go with a more recent version of Python anyway.  There are a few [new features in Python 3.7](https://docs.python.org/3/whatsnew/3.7.html) that look relevant, including dataclasses.  I propose we drop Python 3.6 support with PlasmaPy version 0.6.0.  I think this would require:

- [ ] Updating the requirements declarations
- [ ] Updating our test matrix
- [ ] Updating our documentation where it mentions
- [ ] Updating our website
- [ ] Updating the main `__init__.py` (I think)
- [ ] Discussing this in the changelog

...though it's probable I'm missing a few things.

(NEP 29 also suggests that projects support versions of NumPy from the last 24 months, which would mean that we should support NumPy 1.17+.  However, we've been supporting NumPy 1.18.1+ since #831, since there were apparently issues with units being dropped for some operations in older versions.  This seems to me like a good enough reason to support only more recent versions of NumPy.)


Discussion:
Let's!

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python3.6
+#!/usr/bin/env python3.7
 # -*- coding: utf-8 -*-
 #
 # PlasmaPy documentation build configuration file, created by
diff --git a/plasmapy/__init__.py b/plasmapy/__init__.py
--- a/plasmapy/__init__.py
+++ b/plasmapy/__init__.py
@@ -20,8 +20,8 @@
 # This is the same check as the one at the top of setup.py
 import sys
 
-if sys.version_info < tuple((int(val) for val in "3.6".split("."))):
-    raise Exception("PlasmaPy does not support Python < {}".format(3.6))
+if sys.version_info < (3, 7):
+    raise Exception("PlasmaPy does not support Python < 3.7")
 
 # Packages may add whatever they like to this file, but
 # should keep this content at the top.


Test patch:
diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml
--- a/.github/workflows/testing.yml
+++ b/.github/workflows/testing.yml
@@ -18,15 +18,10 @@ jobs:
       matrix:
         include:
 
-          - name: Python 3.6 with minimal dependencies
+          - name: Python 3.7 with minimal dependencies
             os: ubuntu-latest
-            python: 3.6
-            toxenv: py36-minimal
-
-          - name: Python 3.6
-            os: ubuntu-latest
-            python: 3.6
-            toxenv: py36
+            python: 3.7
+            toxenv: py37-minimal
 
           - name: Python 3.7
             os: ubuntu-latest
Repository: PlasmaPy/PlasmaPy

Issue:
Describe plasma physics behind upper and lower hybrid frequencies
The docstrings for `upper_hybrid_frequency` and `lower_hybrid_frequency` in `plasmapy.formulary` should be expanded to include a description of the physics related to these frequencies, including how they fit in with plasma waves.  


Discussion:
Looking at the format (or rather ordering/"sectioning") in the docstring, it seems to me that such information should be added to the "Notes" section, is that correct?
> Looking at the format (or rather ordering/"sectioning") in the docstring, it seems to me that such information should be added to the "Notes" section, is that correct?

Yep, a discussion of the physics associated with these frequencies is probably best put in the "Notes" section.  If there's a short definition, it can be included in the first line of the docstring.  Thanks!
now I just need to recall what you just told us about how to create a pull-request in your lecture ;-)

Resolving patch:
diff --git a/plasmapy/formulary/parameters.py b/plasmapy/formulary/parameters.py
--- a/plasmapy/formulary/parameters.py
+++ b/plasmapy/formulary/parameters.py
@@ -1863,6 +1863,14 @@ def lower_hybrid_frequency(B: u.T, n_i: u.m ** -3, ion: Particle) -> u.rad / u.s
     :math:`ω_{ce}` is the electron gyrofrequency, and
     :math:`ω_{pi}` is the ion plasma frequency.
 
+    The lower hybrid frequency consitutes a resonance for electromagnetic
+    waves in magnetized plasmas, namely for the X-mode. These are waves
+    with their wave electric field being perpendicular to the background
+    magnetic field. For the lower hybrid frequency, ion and electron
+    dynamics both play a role. As the name suggests, it has a lower frequency
+    compared to the upper hybrid frequency. It can play an important role
+    for heating and current drive in fusion plasmas.
+
     Example
     -------
     >>> from astropy import units as u


Test patch: