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

Issue:
Update `Coulomb_log` example to use `n_e` instead of `n`
In [the example section](https://github.com/PlasmaPy/PlasmaPy/blob/8091c31ae3d18c5adebaf15518ef56676921f9b7/plasmapy/formulary/collisions/coulomb.py#L407) of `plasmapy.formulary.collisions.coulomb.Coulomb_log`, the variable used for electron density is `n`, but it should be changed to `n_e` to make it more clear that it should be the electron density.  This issue would be especially good for a first-time contributor.

The origin story of this issue is that it came up in #1986, in the same discussion that led to #2000.


Discussion:
Hi, I would like to take this issue.

Resolving patch:
diff --git a/plasmapy/formulary/collisions/coulomb.py b/plasmapy/formulary/collisions/coulomb.py
--- a/plasmapy/formulary/collisions/coulomb.py
+++ b/plasmapy/formulary/collisions/coulomb.py
@@ -407,11 +407,11 @@ def Coulomb_logarithm(
     Examples
     --------
     >>> import astropy.units as u
-    >>> n = 1e19 * u.m**-3
+    >>> n_e = 1e19 * u.m**-3
     >>> T = 1e6 * u.K
-    >>> Coulomb_logarithm(T, n, ('e-', 'p+'))
+    >>> Coulomb_logarithm(T, n_e, ('e-', 'p+'))
     14.545527...
-    >>> Coulomb_logarithm(T, n, ('e-', 'p+'), V = 1e6 * u.m / u.s)
+    >>> Coulomb_logarithm(T, n_e, ('e-', 'p+'), V = 1e6 * u.m / u.s)
     11.363478...
 
     See Also


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
ExcessStatistics class throws an error for `time_step` with an astropy unit 
### Bug description

The current implementation of the `ExcessStatistics` class doesn't allow astropy units for the parameter `time_step`. See example below.

### Expected outcome

Ideally, `total_time_above_threshold`, `average_times` and `rms_times` should have the same units as `time_step`.

### Minimal complete verifiable example

```Python
from plasmapy.analysis.time_series.excess_statistics import ExcessStatistics
import astropy.units as u

signal = [0, 0, 2, 2, 0, 4]
thresholds = 1
time_step = 1 * u.s

excess_statistics = ExcessStatistics(signal, thresholds, time_step)
```


### Package versions

v2023.5.1

### Additional context

This is also relevant for PR #2275. One could also add a check whether time units are used for `time_step` or would this be to cumbersome? 

Since I implemented the `ExcessStatistics` class I would be happy to be assigned to this issue.



Discussion:

Resolving patch:
diff --git a/plasmapy/analysis/time_series/excess_statistics.py b/plasmapy/analysis/time_series/excess_statistics.py
--- a/plasmapy/analysis/time_series/excess_statistics.py
+++ b/plasmapy/analysis/time_series/excess_statistics.py
@@ -9,6 +9,7 @@
 __all__ = ["ExcessStatistics"]
 
 
+import astropy.units as u
 import numbers
 import numpy as np
 
@@ -98,6 +99,9 @@ def _calculate_excess_statistics(self, signal, thresholds, time_step):
                     time_step * len(event_lengths[i]) for i in range(len(event_lengths))
                 ]
 
+                if isinstance(time_step, u.Quantity):
+                    self._times_above_threshold *= time_step.unit
+
                 self._number_of_crossings.append(len(event_lengths))
                 if indices_above_threshold[0] == 0:
                     # Don't count the first event if there is no crossing.


Test patch:
diff --git a/plasmapy/analysis/time_series/tests/test_excess_statistics.py b/plasmapy/analysis/time_series/tests/test_excess_statistics.py
--- a/plasmapy/analysis/time_series/tests/test_excess_statistics.py
+++ b/plasmapy/analysis/time_series/tests/test_excess_statistics.py
@@ -18,6 +18,14 @@
             32,
             ([1], [1], [1], [0]),
         ),
+        (
+            [0, 2, 0],
+            1,
+            1 * u.s,
+            False,
+            32,
+            ([1] * u.s, [1], [1] * u.s, [0] * u.s),
+        ),
         (
             [0, 2, 0],
             1,
Repository: PlasmaPy/PlasmaPy

Issue:
Unpin version of Sphinx after next release of sphinx-notfound-page
```py3tb
Exception occurred:
  File "/home/runner/work/PlasmaPy/PlasmaPy/.tox/build_docs_pins/lib/python3.11/site-packages/notfound/extension.py", line 337, in setup
    from sphinx.builders.html import setup_js_tag_helper
ImportError: cannot import name 'setup_js_tag_helper' from 'sphinx.builders.html' (/home/runner/work/PlasmaPy/PlasmaPy/.tox/build_docs_pins/lib/python3.11/site-packages/sphinx/builders/html/__init__.py)
The full traceback has been saved in /tmp/sphinx-err-a746pmo7.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
build_docs_pins: exit 2 (3.82 seconds) /home/runner/work/PlasmaPy/PlasmaPy> sphinx-build docs docs/_build/html -W -n --keep-going -b html -q pid=2209
.pkg: _exit> python /opt/hostedtoolcache/Python/3.11.4/x64/lib/python3.11/site-packages/pyproject_api/_backend.py True setuptools.build_meta
  build_docs_pins: FAIL code 2 (81.97=setup[78.16]+cmd[3.82] seconds)
  evaluation failed :( (82.05 seconds)
```


Discussion:
Looks like the issue is with the `sphinx-notfound-page` exception: https://github.com/readthedocs/sphinx-notfound-page/issues/219

For the time being, let's pin the version of Sphinx to 6.2.1.  I'll rename this issue accordingly.

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -416,6 +416,8 @@
     (python_role, "automod.*"),
     (python_role, "Builder"),
     (python_role, "docutils.*"),
+    (python_role, "Documenter"),
+    (python_role, "Node"),
     (python_role, "level"),
     (python_role, ".*member.*"),
     (python_role, "OptionSpec"),


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Discuss `CustomParticle` and `ParticleList` in the narrative docs for `plasmapy.particles`
As a follow-up to #1017, we should discuss `ParticleList` near the end of the narrative documentation for the `Particle` class.  Some examples that could be included/adapted are...
```Python
>>> from plasmapy.particles import ParticleList
>>> iron_ions = ParticleList(["Fe 13+", "Fe 14+", "Fe 15+"])
>>> iron_ions.charge_number
>>> iron_ions.mass
>>> iron_ions.append("Fe 16+")
```
The discussion could also include how we can now do things like:
```Python
>>> D = Particle("D")
>>> T = Particle("T")
>>> α = Particle("α")
>>> n = Particle("n")
>>> D + T > α + n
<Quantity whatever J>
>>> electron = Particle("e-")
>>> positron = Particle("e+")
>>> electron + positron > ParticleList([])
```


Discussion:

Resolving patch:
diff --git a/plasmapy/particles/particle_class.py b/plasmapy/particles/particle_class.py
--- a/plasmapy/particles/particle_class.py
+++ b/plasmapy/particles/particle_class.py
@@ -2285,7 +2285,7 @@ def charge(self, q: Optional[Union[u.Quantity, Real]]):
     @property
     def charge_number(self) -> Real:
         """The ratio of the charge to the elementary charge."""
-        return self.charge / const.e.si
+        return (self.charge / const.e.si).value
 
     @charge_number.setter
     def charge_number(self, Z: int):


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Ion thermal conductivity should say "See also electron thermal conductivity."
### Nature of improvement

Ion thermal conductivity currently says to see also: ion thermal conductivity. 

### Location of improvement

https://docs.plasmapy.org/en/stable/api/plasmapy.formulary.braginskii.ClassicalTransport.html#plasmapy.formulary.braginskii.ClassicalTransport.ion_thermal_conductivity


### Additional context

After three hours of following the documentation, I decided it was an endless loop. ;)


Discussion:

Resolving patch:
diff --git a/plasmapy/formulary/braginskii.py b/plasmapy/formulary/braginskii.py
--- a/plasmapy/formulary/braginskii.py
+++ b/plasmapy/formulary/braginskii.py
@@ -559,7 +559,7 @@ def ion_thermal_conductivity(self) -> u.W / u.m / u.K:
 
         See Also
         --------
-        ion_thermal_conductivity
+        electron_thermal_conductivity
 
         """
         kappa_hat = _nondim_thermal_conductivity(
@@ -945,7 +945,7 @@ def ion_thermal_conductivity(
 
     See Also
     --------
-    ion_thermal_conductivity
+    electron_thermal_conductivity
 
     """
     ct = ClassicalTransport(


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Add an examples section in the docstring for `thermal_bremsstrahlung`
[to be added]


Discussion:

Resolving patch:
diff --git a/plasmapy/formulary/radiation.py b/plasmapy/formulary/radiation.py
--- a/plasmapy/formulary/radiation.py
+++ b/plasmapy/formulary/radiation.py
@@ -94,6 +94,23 @@ def thermal_bremsstrahlung(
     Notes
     -----
     For details, see :cite:t:`bekefi:1966`\ .
+
+    Examples
+    --------
+    >>> import astropy.units as u
+    >>> import numpy as np
+    >>> thermal_bremsstrahlung(10**15 * u.Hz, 1e10 * u.cm**-3, 2e7 * u.K)  # solar flare
+    <Quantity 8.17560238e-23 kg / (m s2)>
+    >>> thermal_bremsstrahlung(
+    ...     10 ** np.arange(15, 16, 0.1) * u.Hz, 1e22 * u.cm**-3, 1e2 * u.eV
+    ... )
+    <Quantity [ 79.59052452, 117.73282254, 127.85119908, 127.12505588,
+           121.01549498, 112.02367743, 101.45553309,  90.04503155,
+            78.23475796,  66.32227273] kg / (m s2)>
+    >>> thermal_bremsstrahlung(
+    ...     1e17 * u.Hz, 1e16 * u.cm**-3, 1e4 * u.eV, ion="Fe-56 12+"
+    ... )
+    <Quantity 2.16932808e-10 kg / (m s2)>
     """
 
     if n_i is None:  # default is quasineutrality


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Multiple density values in `formulary.radiation.thermal_bremsstrahlung` returns `ValueError`
### Bug description

The function `~plasmapy.formulary.radiation.thermal_bremsstrahlung` returns a `ValueError` when given multiple density values.  Presumably it should instead return an array of spectrum values?  

Not sure if this is a bug or it simply lacks the functionality.

It may be related to #2595 in that the logic issues seem similar.



### Minimal complete verifiable example

```Python
>>> import numpy as np
>>> import astropy.units as u
>>> from plasmapy.formulary.radiation import thermal_bremsstrahlung
>>> thermal_bremsstrahlung(1e15 * u.Hz, [1e9]*u.cm**-3, 1e6*u.K)  # looks good!
<Quantity [1.85816525e-24] kg / (m s2)>
>>> thermal_bremsstrahlung(1e15 * u.Hz, 1e10*u.cm**-3, 1e6*u.K)  # looks good!
<Quantity 1.85816525e-22 kg / (m s2)>
>>> thermal_bremsstrahlung(1e15 * u.Hz, [1e9,10]*u.cm**-3, 1e6*u.K)  # oh no!
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/reep/Documents/Forks/PlasmaPy/plasmapy/utils/decorators/validators.py", line 205, in wrapper
    _return = f(**bound_args.arguments)
              ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/reep/Documents/Forks/PlasmaPy/plasmapy/particles/decorators.py", line 980, in wrapper
    return callable__(  # type: ignore[no-any-return]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/reep/Documents/Forks/PlasmaPy/plasmapy/formulary/radiation.py", line 127, in thermal_bremsstrahlung
    if np.min(ω) < ω_pe:
       ^^^^^^^^^^^^^^^^
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
```




Discussion:

Resolving patch:
diff --git a/plasmapy/formulary/radiation.py b/plasmapy/formulary/radiation.py
--- a/plasmapy/formulary/radiation.py
+++ b/plasmapy/formulary/radiation.py
@@ -124,7 +124,7 @@ def thermal_bremsstrahlung(
     ω_pe = plasma_frequency(n=n_e, particle="e-")
 
     # Check that all ω < ω_pe (this formula is only valid in this limit)
-    if np.min(ω) < ω_pe:
+    if np.min(ω) < np.max(ω_pe):
         raise PhysicsError(
             "Lowest frequency must be larger than the electron "
             f"plasma frequency {ω_pe:.1e}, but min(ω) = {np.min(ω):.1e}"


Test patch:
Repository: PlasmaPy/PlasmaPy

Issue:
Adding  `__str__` to `CustomParticle`.
### Feature description

Currently, `CustomParticle` only has a `__repr__` implemented. If it has a symbol, it should be returned when calling `__str__`.

### Motivation

Printing a `Particle` instance gives its symbol. When printing elements of a collection of  `CustomParticle` and `Particle`, the behavior is inconsistent as `CustomParticle` falls back to its repr.

### Implementation strategy

_No response_

### Additional context

_No response_

Edit : should the same be true for `DimensionlessParticle` ?


Discussion:

Resolving patch:
diff --git a/src/plasmapy/particles/particle_class.py b/src/plasmapy/particles/particle_class.py
--- a/src/plasmapy/particles/particle_class.py
+++ b/src/plasmapy/particles/particle_class.py
@@ -2283,6 +2283,30 @@ def __repr__(self) -> str:
             else f"CustomParticle(mass={self.mass}, charge={self.charge}, symbol={self.symbol})"
         )
 
+    def __str__(self) -> str:
+        """
+        Return the particle's symbol if provided, otherwise the `repr`.
+
+        Examples
+        --------
+        >>> custom_particle = CustomParticle(
+        ...     mass=4.21e-25 * u.kg,
+        ...     charge=1.6e-19 * u.C,
+        ...     symbol="I2+",
+        ... )
+        >>> str(custom_particle)
+        'I2+'
+
+        Without a symbol, the |repr| is returned.
+
+        >>> mass = 1.2e-26 * u.kg
+        >>> charge = 9.2e-19 * u.C
+        >>> custom_particle = CustomParticle(mass=mass, charge=charge)
+        >>> repr(custom_particle)
+        'CustomParticle(mass=1.2e-26 kg, charge=9.2e-19 C)'
+        """
+        return self.symbol
+
     @property
     def json_dict(self) -> dict[str, Any]:
         """


Test patch:
diff --git a/tests/particles/test_particle_class.py b/tests/particles/test_particle_class.py
--- a/tests/particles/test_particle_class.py
+++ b/tests/particles/test_particle_class.py
@@ -1102,6 +1102,25 @@ def test_customized_particle_repr(cls, kwargs, expected_repr) -> None:
         )
 
 
+custom_particle_str_table = [
+    (
+        {"mass": 5.12 * u.kg, "charge": 6.2 * u.C},
+        "CustomParticle(mass=5.12 kg, charge=6.2 C)",
+    ),
+    (
+        {"mass": 5.12 * u.kg, "charge": 6.2 * u.C, "symbol": "I2"},
+        "I2",
+    ),
+]
+
+
+@pytest.mark.parametrize(("kwargs", "expected_str"), custom_particle_str_table)
+def test_custom_particle_str(kwargs, expected_str) -> None:
+    """Test the string representation of a custom particle."""
+    instance = CustomParticle(**kwargs)
+    assert str(instance) == expected_str
+
+
 @pytest.mark.parametrize("cls", [CustomParticle, DimensionlessParticle])
 @pytest.mark.parametrize("not_a_str", [1, u.kg])
 def test_typeerror_redefining_symbol(cls, not_a_str) -> None:
Repository: PlasmaPy/PlasmaPy

Issue:
Expands examples in docstrings of `HarrisSheet` and its methods
Currently, the docstring for `HarrisSheet` ([permalink](https://github.com/PlasmaPy/PlasmaPy/blob/2c1ee2e74e86d9519d1a306a6f78413683ca9a02/src/plasmapy/plasma/equilibria1d.py#L12)) doesn't contain any examples. It would be helpful to add a simple working example that shows how to use it.

One possibility would be to adapt some of the [tests](https://github.com/PlasmaPy/PlasmaPy/blob/2c1ee2e74e86d9519d1a306a6f78413683ca9a02/tests/plasma/test_equilibria1d.py).


Discussion:
Is this still an existing issue? Can it be assigned to me? Thanks🐼
@Panda5130 — This is still an existing issue, so I just assigned it to you.  Thank you in advance!

Resolving patch:
diff --git a/src/plasmapy/plasma/equilibria1d.py b/src/plasmapy/plasma/equilibria1d.py
--- a/src/plasmapy/plasma/equilibria1d.py
+++ b/src/plasmapy/plasma/equilibria1d.py
@@ -72,6 +72,18 @@ def magnetic_field(self, y: u.Quantity[u.m]) -> u.Quantity[u.T]:
         ----------
         y : `~astropy.units.Quantity`
            Orthogonal distance from the current sheet center.
+
+        Examples
+        --------
+        >>> import astropy.units as u
+        >>> B0 = 1 * u.T
+        >>> delta = 1 * u.m
+        >>> P0 = 0 * u.Pa
+        >>> hs = HarrisSheet(B0, delta, P0)
+        >>> y = [-2, 0, 2] * u.m
+        >>> hs.magnetic_field(y)
+        <Quantity [-0.96402758007, 0, 0.96402758007] T>
+
         """
         return self.B0 * np.tanh(u.rad * y / self.delta)
 
@@ -88,6 +100,17 @@ def current_density(self, y: u.Quantity[u.m]) -> u.Quantity[u.A / u.m**2]:
         ----------
         y : `~astropy.units.Quantity`
           Orthogonal distance from the current sheet center.
+
+        Examples
+        --------
+        >>> import astropy.units as u
+        >>> B0 = 1 * u.T
+        >>> delta = 1 * u.m
+        >>> P0 = 0 * u.Pa
+        >>> hs = HarrisSheet(B0, delta, P0)
+        >>> y = [-2, 0, 2] * u.m
+        >>> hs.current_density(y)
+        <Quantity [-56222.1400445, -795774.715459, -56222.1400445] A / m2>
         """
         return (
             -self.B0 / (self.delta * const.mu0) * np.cosh(u.rad * y / self.delta) ** -2
@@ -106,6 +129,17 @@ def plasma_pressure(self, y: u.Quantity[u.m]) -> u.Quantity[u.Pa]:
         ----------
         y : `~astropy.units.Quantity`
           Orthogonal distance from the current sheet center.
+
+        Examples
+        --------
+        >>> import astropy.units as u
+        >>> B0 = 1 * u.T
+        >>> delta = 1 * u.m
+        >>> P0 = 0 * u.Pa
+        >>> hs = HarrisSheet(B0, delta, P0)
+        >>> y = [-2, 0, 2] * u.m
+        >>> hs.plasma_pressure(y)
+        <Quantity [28111.07, 397887.36, 28111.07] Pa>
         """
         return (
             self.B0**2 / (2 * const.mu0) * (np.cosh(u.rad * y / self.delta) ** -2)


Test patch:
Repository: google/osv.dev

Issue:
Switch ecosystem from "" to "OSS-Fuzz" for oss-fuzz sourced bugs



Discussion:

Resolving patch:
diff --git a/gcp/api/server.py b/gcp/api/server.py
--- a/gcp/api/server.py
+++ b/gcp/api/server.py
@@ -187,11 +187,14 @@ def query_by_version(project,
                      privileged,
                      to_response=bug_to_response):
   """Query by (fuzzy) version."""
+
   query = osv.Bug.query(osv.Bug.status == osv.BugStatus.PROCESSED,
                         osv.Bug.project == project,
-                        osv.Bug.ecosystem == ecosystem,
                         osv.Bug.affected_fuzzy == osv.normalize_tag(version))
 
+  if ecosystem:
+    query = query.filter(osv.Bug.ecosystem == ecosystem)
+
   if not privileged:
     query = query.filter(osv.Bug.public == True)  # pylint: disable=singleton-comparison
 


Test patch:
diff --git a/gcp/api/integration_tests.py b/gcp/api/integration_tests.py
--- a/gcp/api/integration_tests.py
+++ b/gcp/api/integration_tests.py
@@ -60,7 +60,8 @@ class IntegrationTests(unittest.TestCase):
                  'obj_free\n',
       'id': 'OSV-2020-744',
       'package': {
-          'name': 'mruby'
+          'name': 'mruby',
+          'ecosystem': 'OSS-Fuzz',
       },
       'references': [
           'https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23801'
@@ -74,7 +75,8 @@ class IntegrationTests(unittest.TestCase):
       'details': 'INVALID',
       'id': 'OSV-2020-2258',
       'package': {
-          'name': 'grok'
+          'name': 'grok',
+          'ecosystem': 'OSS-Fuzz',
       },
       'references': [
           'https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28505'
@@ -131,6 +133,7 @@ def test_query_version(self):
             'version': '2.1.2rc',
             'package': {
                 'name': 'mruby',
+                'ecosystem': 'OSS-Fuzz',
             }
         }))
     self.assert_results_equal({'vulns': [self._VULN_744]}, response.json())
Repository: google/osv.dev

Issue:
Allow failed version expansions for non-existent packages.
Some advisories may refer to packages that no longer exist (e.g. malicious packages)


Discussion:

Resolving patch:
diff --git a/lib/osv/ecosystems.py b/lib/osv/ecosystems.py
--- a/lib/osv/ecosystems.py
+++ b/lib/osv/ecosystems.py
@@ -320,6 +320,11 @@ def enumerate_versions(self, package, introduced, fixed, limits=None):
     'RubyGems': RubyGems(),
 }
 
+SEMVER_ECOSYSTEMS = {
+    'Go',
+    'npm',
+}
+
 
 def get(name):
   """Get ecosystem helpers for a given ecosytem."""
diff --git a/lib/osv/impact.py b/lib/osv/impact.py
--- a/lib/osv/impact.py
+++ b/lib/osv/impact.py
@@ -478,6 +478,10 @@ def analyze(vulnerability,
   for affected_package in vulnerability.affected:
     versions = []
     for affected_range in affected_package.ranges:
+      if affected_package.package.ecosystem in ecosystems.SEMVER_ECOSYSTEMS:
+        # Replace erroneous range type.
+        affected_range.type = vulnerability_pb2.Range.SEMVER
+
       if affected_range.type in (vulnerability_pb2.Range.ECOSYSTEM,
                                  vulnerability_pb2.Range.SEMVER):
         # Enumerate ECOSYSTEM and SEMVER ranges.


Test patch:
Repository: google/osv.dev

Issue:
V2 UI: Grouped versions on vulnerability page
Group by the first component leading up to the first period. e.g. "1.", "2."

![image](https://user-images.githubusercontent.com/759062/162373317-33e6f7bb-ffbe-4b82-a376-dc7deafb8587.png)

If no period, maybe just group this under something generic.




Discussion:

Resolving patch:
diff --git a/gcp/appengine/frontend_handlers.py b/gcp/appengine/frontend_handlers.py
--- a/gcp/appengine/frontend_handlers.py
+++ b/gcp/appengine/frontend_handlers.py
@@ -344,6 +344,22 @@ def should_collapse(affected):
   return total_package_length > 70 or len(affected) > 5
 
 
+@blueprint.app_template_filter('group_versions')
+def group_versions(versions):
+  """Group versions by prefix."""
+  groups = {}
+
+  for version in sorted(versions):
+    if '.' not in version:
+      groups.setdefault('Other', []).append(version)
+      continue
+
+    label = version.split('.')[0] + '.*'
+    groups.setdefault(label, []).append(version)
+
+  return groups
+
+
 @blueprint.app_template_filter('log')
 def logarithm(n):
   return math.log(n)


Test patch:
Repository: google/osv.dev

Issue:
Clarify max query limit on bulk query endpoint
Looks like there's [a limit to the number of queries](https://github.com/google/osv/blob/168a6b2c593d4fac2defbc8546e634256cdfa5b0/gcp/api/server.py#L92-L94) that can be submitted at once with the bulk query endpoint, which is [set to 1000](https://github.com/google/osv/blob/168a6b2c593d4fac2defbc8546e634256cdfa5b0/gcp/api/server.py#L42).

It's understandable but not documented in the api docs as far as I can see.


Discussion:
Thanks for reporting! That's a good point -- we'll clarify this in the docs. 

Resolving patch:
diff --git a/gcp/api/osv_service_v1_pb2_grpc.py b/gcp/api/osv_service_v1_pb2_grpc.py
--- a/gcp/api/osv_service_v1_pb2_grpc.py
+++ b/gcp/api/osv_service_v1_pb2_grpc.py
@@ -54,6 +54,7 @@ def QueryAffected(self, request, context):
 
     def QueryAffectedBatch(self, request, context):
         """Query vulnerabilities (batched) for given package versions and commits.
+        This currently allows a maximum of 1000 package versions to be included in a single query.
         """
         context.set_code(grpc.StatusCode.UNIMPLEMENTED)
         context.set_details('Method not implemented!')


Test patch: