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

Issue:
cuDNN batch normalization gradient breaks test values
The error only occurs when compute_test_value is enabled. Compiling a function to get the output works fine. 

Example minimal test case:

```
import theano
import theano.tensor as T
from theano.sandbox.cuda import dnn
theano.config.compute_test_value = "raise"
inputs = T.zeros((2, 3))
gamma = T.zeros((1, 3))
beta = T.zeros((1, 3))
res, mean, var = dnn.dnn_batch_normalization_train(inputs, gamma, beta)
g = T.grad(res.sum(), [inputs, gamma, beta])
```

Results in the error:

```
ValueError: Cannot compute test value: input 3 (GpuDnnBatchNorm{mode='per-activation', epsilon=0.0001}.1) of Op GpuDnnBatchNormGrad{mode='per-activation', epsilon=0.0001}(GpuContiguous.0, GpuFromHost.0, GpuContiguous.0, GpuDnnBatchNorm{mode='per-activation', epsilon=0.0001}.1, GpuDnnBatchNorm{mode='per-activation', epsilon=0.0001}.2) missing default value.  
```



Discussion:

Resolving patch:
diff --git a/theano/gpuarray/dnn.py b/theano/gpuarray/dnn.py
--- a/theano/gpuarray/dnn.py
+++ b/theano/gpuarray/dnn.py
@@ -1597,7 +1597,7 @@ def make_node(self, x):
     def grad(self, inp, grads):
         x, = inp
         g_sm, = grads
-        sm = self.make_node(x).outputs[0]
+        sm = self(x)
         return [GpuDnnSoftmaxGrad(
                 self.algo,
                 self.mode
@@ -1685,7 +1685,7 @@ def make_node(self, x, scale, bias, epsilon=1e-4):
     def grad(self, inputs, grads):
         x, scale, bias, epsilon = inputs
         dy = grads[0]
-        _, x_mean, x_invstd = self.make_node(x, scale, bias, epsilon).outputs
+        _, x_mean, x_invstd = self(x, scale, bias, epsilon)
         return GpuDnnBatchNormGrad(self.mode)(x, dy, scale, x_mean,
                                               x_invstd, epsilon) + [DisconnectedType()()]
 
diff --git a/theano/sandbox/cuda/dnn.py b/theano/sandbox/cuda/dnn.py
--- a/theano/sandbox/cuda/dnn.py
+++ b/theano/sandbox/cuda/dnn.py
@@ -2248,7 +2248,7 @@ def method(self):
     def grad(self, inp, grads):
         x, = inp
         g_sm, = grads
-        sm = self.make_node(x).outputs[0]
+        sm = self(x)
         return [GpuDnnSoftmaxGrad(
             self.tensor_format,
             self.algo,
@@ -2603,7 +2603,7 @@ def c_code(self, node, name, inputs, outputs, sub):
     def grad(self, inputs, grads):
         x, scale, bias = inputs
         dy = grads[0]
-        _, x_mean, x_invstd = self.make_node(x, scale, bias).outputs
+        _, x_mean, x_invstd = self(x, scale, bias)
         return GpuDnnBatchNormGrad(self.mode, self.epsilon)(x, dy, scale,
                                                             x_mean, x_invstd)
 


Test patch:
Repository: Theano/Theano

Issue:
Failed cudnn version validation
Hi,
I think there is a bug in _dnn_check_version method. 
The code contains "if version >= 5200" and should contain "if v >= 5200"

Thanks


Discussion:

Resolving patch:
diff --git a/theano/gpuarray/dnn.py b/theano/gpuarray/dnn.py
--- a/theano/gpuarray/dnn.py
+++ b/theano/gpuarray/dnn.py
@@ -116,9 +116,6 @@ def _dnn_check_compile():
         params.extend(['-I%s%s%s' % (path_wrapper, config.dnn.include_path, path_wrapper)])
     if config.dnn.library_path:
         params.extend(['-L%s%s%s' % (path_wrapper, config.dnn.library_path, path_wrapper)])
-    if config.nvcc.compiler_bindir:
-        params.extend(['--compiler-bindir',
-                       '%s%s%s' % (path_wrapper, config.nvcc.compiler_bindir, path_wrapper)])
     # Do not run here the test program. It would run on the
     # default gpu, not the one selected by the user. If mixed
     # GPU are installed or if the GPUs are configured in
@@ -138,7 +135,7 @@ def _dnn_check_version():
     if v < 5000:
         return False, "cuDNN version is too old. Update to v5, was %d." % v
     # 5200 should not print warning with cudnn 5.1 final.
-    if version >= 5200:
+    if v >= 5200:
         warnings.warn("Your cuDNN version is more recent than "
                       "Theano. If you encounter problems, try "
                       "updating Theano or downgrading cuDNN to "


Test patch:
Repository: Theano/Theano

Issue:
cannot import theano in python3.6 (anaconda version 4.3, theano master branch)
```
/home/wenjian/anaconda3/lib/python3.6/site-packages/Theano-0.9.0b1-py3.6.egg/theano/gof/cmodule.py in std_include_dirs()
   1579 
   1580 def std_include_dirs():
-> 1581     numpy_inc_dirs = np.distutils.misc_util.get_numpy_include_dirs()
   1582     py_inc = distutils.sysconfig.get_python_inc()
   1583     py_plat_spec_inc = distutils.sysconfig.get_python_inc(plat_specific=True)

AttributeError: module 'numpy' has no attribute 'distutils'
```


Discussion:
I'm experiencing a similar import error. 
same
I dirty fixed it by adding 
 import numpy.distutils I'm the offending file. 
I noticed there was a to-do item regarding it so I guess it's a wip

I'm on a win 10 machine and a gtx1060 I was hitting a wall. The current release was not working for me and this error was another blocker, so this quick fix will have to do for now. 
To be specific @mmusket refers to [this line](https://github.com/Theano/Theano/blob/master/theano/gof/cmodule.py#L23), just add:
`import numpy.distutils` below, should fix your build. 
Hello,

This might be related to this change

https://github.com/Theano/Theano/commit/316f10443fbad9cd2185f6be64e5cb3dad275910

from PR #5454 
As far as I can tell, numpy.distutils needs to be explicitly imported.

(This also seems to break keras CI tests...)

Thank you

Thomas

Resolving patch:
diff --git a/theano/gof/cmodule.py b/theano/gof/cmodule.py
--- a/theano/gof/cmodule.py
+++ b/theano/gof/cmodule.py
@@ -20,7 +20,7 @@
 import distutils.sysconfig
 import warnings
 
-import numpy as np  # TODO: TensorType should handle nunpy.distutils
+import numpy.distutils
 
 import theano
 from theano.compat import PY3, decode, decode_iter
@@ -1578,7 +1578,7 @@ def get_gcc_shared_library_arg():
 
 
 def std_include_dirs():
-    numpy_inc_dirs = np.distutils.misc_util.get_numpy_include_dirs()
+    numpy_inc_dirs = numpy.distutils.misc_util.get_numpy_include_dirs()
     py_inc = distutils.sysconfig.get_python_inc()
     py_plat_spec_inc = distutils.sysconfig.get_python_inc(plat_specific=True)
     python_inc_dirs = ([py_inc] if py_inc == py_plat_spec_inc


Test patch:
Repository: Theano/Theano

Issue:
Import yields TypeError: can't concat bytes to str
The first import of Theano (dev version and conda version) fails with this traceback:
```python

  File "[...]/Theano/theano/__init__.py", line 88, in <module>
    from theano.compile import (

  File "[...]/Theano/theano/compile/__init__.py", line 10, in <module>
    from theano.compile.function_module import *

  File "[...]/Theano/theano/compile/function_module.py", line 21, in <module>
    import theano.compile.mode

  File "[...]/Theano/theano/compile/mode.py", line 10, in <module>
    import theano.gof.vm

  File "[...]/Theano/theano/gof/vm.py", line 670, in <module>
    from . import lazylinker_c

  File "[...]/Theano/theano/gof/lazylinker_c.py", line 125, in <module>
    args = cmodule.GCC_compiler.compile_args()

  File "[...]/Theano/theano/gof/cmodule.py", line 2090, in compile_args
    default_compilation_result, default_execution_result = try_march_flag(GCC_compiler.march_flags)

  File "[...]/Theano/theano/gof/cmodule.py", line 1865, in try_march_flag
    flags=cflags, try_run=True)

  File "[...]/Theano/theano/gof/cmodule.py", line 2177, in try_compile_tmp
    comp_args)

  File "[...]/Theano/theano/gof/cmodule.py", line 1798, in _try_compile_tmp
    err += "\n" + str(e)

TypeError: can't concat bytes to str
```
The only function setting the `err` variable is `output_subprocess_Popen` in `misc/windows.py` (BTW I'm working on a Linux machine). That function, in turn, returns a tuple containing the return value from `Popen.communicate()` in the `subprocess` module. The return value of that method is of type `bytes` according to [the documentation](https://docs.python.org/3.5/library/subprocess.html#subprocess.Popen.communicate).

I suspect that this type of issue has the potential to pop up at random places, but for this particular case a simple fix would be to replace the line in question by
```python
err = str(err) + "\n" + str(e)
```


Discussion:
Do you want to make a PR with that to have your name in the history? Otherwise, I can do it.

When you fix that manually, does the rest work for you?

Resolving patch:
diff --git a/theano/gof/cmodule.py b/theano/gof/cmodule.py
--- a/theano/gof/cmodule.py
+++ b/theano/gof/cmodule.py
@@ -1795,7 +1795,7 @@ def _try_compile_tmp(cls, src_code, tmp_prefix='', flags=(),
             if err is None:
                 err = str(e)
             else:
-                err += "\n" + str(e)
+                err = str(err) + "\n" + str(e)
             compilation_ok = False
 
         if not try_run and not output:


Test patch:
Repository: Theano/Theano

Issue:
Clean-up generation of kernel binaries
With the disk cache of libgpuarray, it is no longer necessary to store compiled GPU kernel binaries in the C code of Theano Ops.
I started removing that in #5847, but probably missed some things.
For instance:
- `binvar` is still a member of `Kernel`
- I'm not sure if `bin_id` should still be part of the C cache version
- documentation may need to be updated


Discussion:

Resolving patch:
diff --git a/theano/gpuarray/basic_ops.py b/theano/gpuarray/basic_ops.py
--- a/theano/gpuarray/basic_ops.py
+++ b/theano/gpuarray/basic_ops.py
@@ -166,9 +166,6 @@ class Kernel(object):
     codevar: str
         the name of the variable for the code object.
         (defaults to `kcode_` + name)
-    binvar: str
-        the name of the variable for the binary object.
-        (defaults to `kbin_` + name)
     objvar: str
         the name of the variable for the kernel object.
         (defaults to `k_` + name)
@@ -182,8 +179,7 @@ class Kernel(object):
     """
 
     def __init__(self, code, params, name, flags,
-                 codevar=None, binvar=None, objvar=None, fname=None,
-                 sname=None):
+                 codevar=None, objvar=None, fname=None, sname=None):
         self.code = code
         self.params = params
         self.name = name
@@ -191,9 +187,6 @@ def __init__(self, code, params, name, flags,
         if codevar is None:
             codevar = 'kcode_' + name
         self.codevar = codevar
-        if binvar is None:
-            binvar = 'kbin_' + name
-        self.binvar = binvar
         if objvar is None:
             objvar = 'k_' + name
         self.objvar = objvar
@@ -453,8 +446,7 @@ def c_code_cache_version_apply(self, node):
     def kernel_version(self, node):
         """
         If you override :meth:`c_code_cache_version_apply`, call this
-        method to have the version of the kernel support code and
-        device.
+        method to have the version of the kernel support code.
 
         Parameters
         ----------
@@ -462,7 +454,7 @@ def kernel_version(self, node):
             The node that we need the cache version for.
 
         """
-        return (8, self.get_gpu_context(node).bin_id)
+        return (9,)
 
 
 def forward_string_meth(name):


Test patch:
Repository: Theano/Theano

Issue:
Fix deprecation warnings for comparison of array == None
The behaviour changed with numpy 1.13.
See #6064 as well.


Discussion:

Resolving patch:
diff --git a/theano/tensor/var.py b/theano/tensor/var.py
--- a/theano/tensor/var.py
+++ b/theano/tensor/var.py
@@ -520,10 +520,14 @@ def includes_bool(args_el):
             args[ellipsis_at: ellipsis_at + 1] = (
                 [slice(None)] * (self.ndim - index_dim_count))
 
+        def is_empty_array(val):
+            return ((isinstance(val, (tuple, list)) and len(val) == 0) or
+                    (isinstance(val, np.ndarray) and val.size == 0))
+
         # Force input to be int64 datatype if input is an empty list or tuple
         # Else leave it as is if it is a real number
         args = tuple([np.array(inp, dtype=np.int64)
-                      if(inp == [] or inp == ()) else inp for inp in args])
+                      if(is_empty_array(inp)) else inp for inp in args])
         # Convert python literals to theano constants
         args = theano.tensor.subtensor.make_constant(args)
         # Determine if advanced indexing is needed or not


Test patch:
Repository: Theano/Theano

Issue:
Could it be acceptable to extend PATH at runtime with required folders ?
For example, on Windows, we always need to add cuDNN bin path to system `PATH` environment variable so that `cudnn*.dll` can be found to run cuDNN-related Theano ops.

What about directly add the required folder (here `theano.config.dnn.bin_path`, if defined) at runtime to `PATH` ? Doing that, PATH will be automatically correctly set by Theano and only inside Theano (changes are discarded as soon as Python closes). I made a branch about that: https://github.com/Theano/Theano/compare/master...notoraptor:allow-modify-path-at-runtime

Is it risky/unsafe, @nouiz @abergeron @lamblin ?


Discussion:

Resolving patch:
diff --git a/theano/gpuarray/dnn.py b/theano/gpuarray/dnn.py
--- a/theano/gpuarray/dnn.py
+++ b/theano/gpuarray/dnn.py
@@ -49,6 +49,7 @@
 from .opt_util import alpha_merge, output_merge, inplace_allocempty, pad_dims, unpad_dims
 
 from theano.configdefaults import SUPPORTED_DNN_CONV_ALGO_RUNTIME
+import theano.pathparse
 
 DNN_CONV_ALGO_CHOOSE_ONCE = ['guess_once', 'time_once']
 DNN_CONV_ALGO_CHOOSE_TIME = ['time_once', 'time_on_shape_change']
@@ -61,6 +62,9 @@
 # Update these names when new versions of cudnn are supported.
 WIN32_CUDNN_NAMES = ['cudnn64_7.dll', 'cudnn64_6.dll', 'cudnn64_5.dll']
 
+if sys.platform == 'win32':
+    theano.pathparse.PathParser(theano.config.dnn.bin_path)
+
 
 def _load_lib(name):
     try:
diff --git a/theano/pathparse.py b/theano/pathparse.py
new file mode 100644
--- /dev/null
+++ b/theano/pathparse.py
@@ -0,0 +1,57 @@
+from __future__ import absolute_import, print_function, division
+import os
+import sys
+
+
+class PathParser(object):
+    """
+    Class that allows to modify system's PATH environment variable
+    at runtime. Currently used in ``theano.gpuarray.dnn`` module
+    on Windows only.
+
+    **Examples**:
+
+    ..code-block:: python
+
+        theano.pathparse.PathParser(pathToAdd1, pathToAdd2, ...)
+        # PATH is then automatically updated for this execution.
+
+
+    ..code-block:: python
+
+        paths = theano.pathparse.PathParser()
+        paths.add(path1)
+        paths.add(path2)
+        # PATH is updated after each call to ``add()``.
+
+    """
+    paths = set()
+
+    def _add(self, path):
+        path = path.strip()
+        if path:
+            if sys.platform == 'win32':
+                # Windows is case-insensitive.
+                path = path.lower()
+            self.paths.add(os.path.abspath(path))
+
+    def _update(self):
+        os.environ['PATH'] = os.pathsep.join(sorted(self.paths))
+
+    def _parse(self):
+        for path in os.environ['PATH'].split(os.pathsep):
+            self._add(path)
+
+    def __init__(self, *paths):
+        self._parse()
+        for path in paths:
+            self._add(path)
+        self._update()
+
+    def add(self, path):
+        self._add(path)
+        self._update()
+
+    def _debug(self):
+        for path in sorted(self.paths):
+            print(path)


Test patch:
Repository: Theano/Theano

Issue:
Rename 0.10 to 1.0 in the doc/tags/website.



Discussion:

Resolving patch:
diff --git a/theano/configdefaults.py b/theano/configdefaults.py
--- a/theano/configdefaults.py
+++ b/theano/configdefaults.py
@@ -751,7 +751,7 @@ def warn_cxx(val):
               "Warning for specific bugs can be configured with specific "
               "[warn] flags."),
              EnumStr('0.8', 'None', 'all', '0.3', '0.4', '0.4.1', '0.5', '0.6',
-                     '0.7', '0.8', '0.8.1', '0.8.2', '0.9', '0.10',
+                     '0.7', '0.8', '0.8.1', '0.8.2', '0.9', '0.10', '1.0',
                      allow_override=False),
              in_c_key=False)
 
diff --git a/theano/version.py b/theano/version.py
--- a/theano/version.py
+++ b/theano/version.py
@@ -2,7 +2,7 @@
 
 from theano._version import get_versions
 
-FALLBACK_VERSION = "0.10.0beta4+unknown"
+FALLBACK_VERSION = "1.0.0dev+unknown"
 
 info = get_versions()
 if info['error'] is not None:


Test patch:
Repository: Theano/Theano

Issue:
MissingInputError when scan use hidden variable to calculate condition
When I reading code in scan, I found if variable is used by condition and not be declared in 'non_sequences'， a MissingInputError will be raised.
So I write a test case:

```python
def test_condition_hidden_inp():

    max_value = theano.tensor.scalar("max_value")
    n_steps = theano.tensor.iscalar("n_steps")

    def accum(prev_value, step):
        new_value = prev_value + step
        new_step = step + 1
        condition = theano.scan_module.until(new_value > max_value)
        return [new_value, new_step], condition

    rs, updates = theano.scan(
        fn=accum,
        outputs_info=[0, 0],
        n_steps=n_steps)

    f = theano.function(
        inputs=[max_value, n_steps],
        outputs=rs)

    _sum, total_steps = f(100, 100)
```

I found it's easy to fix.
https://github.com/Theano/Theano/blob/f2a2df153871470ce7d33082202e805af8f508a7/theano/scan_module/scan.py#L820-L840

Just remove line 839-840, and add 
```python
    if condition is not None:
        outputs.append(condition)
```
at line 823.

I'm not sure if it's written this way on purpose or a bug.


Discussion:

Resolving patch:
diff --git a/theano/scan_module/scan.py b/theano/scan_module/scan.py
--- a/theano/scan_module/scan.py
+++ b/theano/scan_module/scan.py
@@ -820,6 +820,8 @@ def wrap_into_list(x):
 
     # extract still missing inputs (there still might be so) and add them
     # as non sequences at the end of our args
+    if condition is not None:
+        outputs.append(condition)
     fake_nonseqs = [x.type() for x in non_seqs]
     fake_outputs = scan_utils.clone(outputs,
                                     replace=OrderedDict(izip(non_seqs,
@@ -836,8 +838,6 @@ def wrap_into_list(x):
     dummy_args += extra_inputs
 
     dummy_outs = outputs
-    if condition is not None:
-        dummy_outs.append(condition)
     # Perform a try-except to provide a meaningful error message to the
     # user if inputs of the inner function are missing.
     try:


Test patch:
diff --git a/theano/scan_module/tests/test_scan.py b/theano/scan_module/tests/test_scan.py
--- a/theano/scan_module/tests/test_scan.py
+++ b/theano/scan_module/tests/test_scan.py
@@ -5718,3 +5718,23 @@ def test_grad_until_and_truncate_sequence_taps(self):
         numpy_grad = np.array([0, 0, 0, 5, 6, 10, 4, 5, 0, 0, 0, 0, 0, 0, 0])
         numpy_grad = numpy_grad.astype(theano.config.floatX)
         utt.assert_allclose(theano_gradient, numpy_grad)
+
+def test_condition_hidden_inp():
+    max_value = theano.tensor.scalar("max_value")
+    n_steps = theano.tensor.iscalar("n_steps")
+    def accum(prev_value, step):
+        new_value = prev_value + step
+        new_step = step + 1
+        condition = theano.scan_module.until(new_value > max_value)
+        return [new_value, new_step], condition
+
+    rs, updates = theano.scan(
+        fn=accum,
+        outputs_info=[0, 0],
+        n_steps=n_steps)
+
+    f = theano.function(
+        inputs=[max_value, n_steps],
+        outputs=rs)
+
+    _sum, total_steps = f(100, 100)
Repository: Theano/Theano

Issue:
Update `config.gpuarray.sched` docs with CU_CTX_SCHED_BLOCKING_SYNC
AFAIU, libgpuarray is using `cudaDeviceScheduleBlockingSync` instead of `CudaDeviceScheduleYield` [for a few releases already](https://github.com/Theano/libgpuarray/pull/448#event-1113418241) (see also: #5706). But docs still [say](https://github.com/Theano/Theano/blob/b37f333bd15d404dbb5eb4617eb176d61f63dbd1/doc/library/config.txt#L484-L485) `using "multi" mean using the parameter cudaDeviceScheduleYield`.  Maybe, those last single word should be replaced?


Discussion:
Do you want to send a PR?
Your name will stay in the code history of Theano.

On Sat, Jan 12, 2019 at 6:52 PM i3v <notifications@github.com> wrote:

> AFAIU, libgpuarray is cudaDeviceScheduleBlockingSync instead of
> CudaDeviceScheduleYield since v0.7.6
> <https://github.com/Theano/libgpuarray/pull/448#event-1113418241> (see
> also: #5706 <https://github.com/Theano/Theano/issues/5706>). But docs
> still say
> <https://github.com/Theano/Theano/blob/b37f333bd15d404dbb5eb4617eb176d61f63dbd1/doc/library/config.txt#L484-L485> using
> "multi" mean using the parameter cudaDeviceScheduleYield. Maybe, those
> last single word should be replaced?
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/Theano/Theano/issues/6677>, or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AALC-1sfVKTsAaSAioNsf3t3ZmGxUssXks5vCnUygaJpZM4Z86DU>
> .
>


Resolving patch:
diff --git a/theano/configdefaults.py b/theano/configdefaults.py
--- a/theano/configdefaults.py
+++ b/theano/configdefaults.py
@@ -222,7 +222,7 @@ def deprecated_gpuarray_sync(val):
 AddConfigVar('gpuarray.sched',
              """The sched parameter passed for context creation to pygpu.
                 With CUDA, using "multi" is equivalent to using the parameter
-                cudaDeviceScheduleYield. This is useful to lower the
+                cudaDeviceScheduleBlockingSync. This is useful to lower the
                 CPU overhead when waiting for GPU. One user found that it
                 speeds up his other processes that was doing data augmentation.
              """,


Test patch:
Repository: Theano/Theano

Issue:
Fix simple typo: varible->size -> variable->size
# Issue Type

[x] Bug (Typo)

# Steps to Replicate

1. Examine theano/compile/profiling.py.
2. Search for `varible->size`.

# Expected Behaviour

1. Should read `variable->size`.




Discussion:

Resolving patch:
diff --git a/theano/compile/profiling.py b/theano/compile/profiling.py
--- a/theano/compile/profiling.py
+++ b/theano/compile/profiling.py
@@ -770,7 +770,7 @@ def summary_globals(self, file):
     def summary_memory(self, file, N=None):
         fct_memory = {}  # fgraph->dict(node->[outputs size])
         fct_shapes = {}  # fgraph->dict(node->[outputs shapes]))
-        var_mem = {}  # varible->size in bytes; don't include input variables
+        var_mem = {}  # variable->size in bytes; don't include input variables
         node_mem = {}  # node->total outputs size (only dense outputs)
 
         for node in self.apply_callcount:


Test patch:
Repository: mne-tools/mne-bids

Issue:
ADD: Configure CircleCI
So that we can check the artifacts tab for builds of the docs


Discussion:
@jasmainak I guess somebody with write-access needs to do this? Potential milestone for 0.1.0? I remember in my PR, there were occasional issues with `make html` in the `/doc` directory that you caught but I didn't notice. Circle CI would have alerted me to that earlier, wouldn't it?
Yeah sure I can give you write access. Do you want to make a PR?

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,5 @@
 #! /usr/bin/env python
-from setuptools import setup
+from setuptools import setup, find_packages
 
 descr = """Experimental code for BIDS using MNE."""
 
@@ -35,8 +35,6 @@
               'Operating System :: MacOS',
           ],
           platforms='any',
-          packages=[
-              'mne_bids'
-          ],
+          packages=find_packages(),
           scripts=['bin/mne_bids']
-)
+          )


Test patch: