internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: zostera/django-bootstrap3

Issue:
Error: "coercing to Unicode: need string or buffer, __proxy__ found"
Trying to use bootstrap_form on the form @https://github.com/pennersr/django-allauth/blob/master/allauth/templates/account/login.html#L34 like

```
  {% load bootstrap3 %}
  {% bootstrap_form form %}
```

results in 

```
TypeError at /accounts/login/
coercing to Unicode: need string or buffer, __proxy__ found
```

at `bootstrap3/forms.py in render_field, line 97`



Discussion:
This is caused when a form field label is translated using django's translation system. 

http://stackoverflow.com/questions/2133508/django-gettext-and-coercing-to-unicode
https://docs.djangoproject.com/en/1.1/ref/unicode/#translated-strings

I this case it is caused by `_("Remember Me")` at https://github.com/pennersr/django-allauth/blob/master/allauth/account/forms.py#L53 


Resolving patch:
diff --git a/bootstrap3/forms.py b/bootstrap3/forms.py
--- a/bootstrap3/forms.py
+++ b/bootstrap3/forms.py
@@ -94,7 +94,8 @@ def render_field(field, inline=False, horizontal=False, field_class=None, label_
 
     # Wrap the rendered field in its label if necessary
     if put_inside_label:
-        rendered_field = render_label(rendered_field + ' ' + field.label, label_title=field.help_text)
+        rendered_field = render_label('%s %s' %(rendered_field, field.label,),
+                                      label_title=field.help_text)
 
     # Add any help text and/or errors
     if not inline:
@@ -190,4 +191,4 @@ def render_form_group(content, css_class=''):
     return '<div class="%(class)s">%(content)s</div>' % {
         'class': add_css_class(FORM_GROUP_CLASS, css_class),
         'content': content,
-    }
\ No newline at end of file
+    }


Test patch:
Repository: zostera/django-bootstrap3

Issue:
Special display of required fields
It would be nice if there was some way to render differently required fields, like with boldface, or with and asterisk.



Discussion:

Resolving patch:
diff --git a/bootstrap3/forms.py b/bootstrap3/forms.py
--- a/bootstrap3/forms.py
+++ b/bootstrap3/forms.py
@@ -172,6 +172,12 @@ def render_field(field, layout='', form_group_class=FORM_GROUP_CLASS,
     elif field.form.is_bound:
         form_group_class = add_css_class(form_group_class, 'has-success')
 
+    # Required and optional classes to the form group
+    if field.field.required:
+        form_group_class = add_css_class(form_group_class, 'required')
+    else:
+        form_group_class = add_css_class(form_group_class, 'optional')
+
     return render_form_group(content, form_group_class)
 
 


Test patch:
Repository: zostera/django-bootstrap3

Issue:
Multiple pagination tags in template
Currently it is not possible to add more than one `bootstrap_pagination` tag per page. If the request-parameter name would be configurable through the tag, multiple paginations per page shouldn't be a problem.



Discussion:
I agree with that, I saw once this matter then I had override the templatetag to do that kind of stuff. But it may be better to have this feature in the original tag.


Resolving patch:
diff --git a/bootstrap3/templatetags/bootstrap3.py b/bootstrap3/templatetags/bootstrap3.py
--- a/bootstrap3/templatetags/bootstrap3.py
+++ b/bootstrap3/templatetags/bootstrap3.py
@@ -536,6 +536,7 @@ def bootstrap_pagination(page, **kwargs):
     **Parameters**:
 
         :page:
+        :parameter_name: Name of paging URL parameter (default: "page")
         :kwargs:
 
     **usage**::
@@ -553,7 +554,8 @@ def bootstrap_pagination(page, **kwargs):
 
 
 def get_pagination_context(page, pages_to_show=11,
-                           url=None, size=None, extra=None):
+                           url=None, size=None, extra=None,
+                           parameter_name='page'):
     """
     Generate Bootstrap pagination context from a page object
     """
@@ -600,8 +602,8 @@ def get_pagination_context(page, pages_to_show=11,
     if url:
         # Remove existing page GET parameters
         url = force_text(url)
-        url = re.sub(r'\?page\=[^\&]+', '?', url)
-        url = re.sub(r'\&page\=[^\&]+', '', url)
+        url = re.sub(r'\?{0}\=[^\&]+'.format(parameter_name), '?', url)
+        url = re.sub(r'\&{0}\=[^\&]+'.format(parameter_name), '', url)
         # Append proper separator
         if '?' in url:
             url += '&'
@@ -631,4 +633,5 @@ def get_pagination_context(page, pages_to_show=11,
         'pages_back': pages_back,
         'pages_forward': pages_forward,
         'pagination_css_classes': ' '.join(pagination_css_classes),
+        'parameter_name': parameter_name,
     }


Test patch:
Repository: zostera/django-bootstrap3

Issue:
support for Django 1.11
  File "*******/lib/python3.4/site-packages/bootstrap3/templatetags/bootstrap3.py", line 16, in <module>
    from ..components import render_icon, render_alert
  File "*******/lib/python3.4/site-packages/bootstrap3/components.py", line 4, in <module>
    from django.forms.widgets import flatatt
ImportError: cannot import name 'flatatt'



Discussion:

Resolving patch:
diff --git a/bootstrap3/components.py b/bootstrap3/components.py
--- a/bootstrap3/components.py
+++ b/bootstrap3/components.py
@@ -1,7 +1,7 @@
 # -*- coding: utf-8 -*-
 from __future__ import unicode_literals
 
-from django.forms.widgets import flatatt
+from django.forms.utils import flatatt
 from django.utils.safestring import mark_safe
 from bootstrap3.utils import render_tag, add_css_class
 
diff --git a/bootstrap3/utils.py b/bootstrap3/utils.py
--- a/bootstrap3/utils.py
+++ b/bootstrap3/utils.py
@@ -13,7 +13,7 @@
 except ImportError:
     from urllib.parse import urlparse, parse_qs, urlunparse
 
-from django.forms.widgets import flatatt
+from django.forms.utils import flatatt
 from django.template import Variable, VariableDoesNotExist
 from django.template.base import FilterExpression, kwarg_re, TemplateSyntaxError
 from django.template.loader import get_template


Test patch:
Repository: zostera/django-bootstrap3

Issue:
Use Poetry, switch to Markdown, update configuration files
* Use Poetry (https://python-poetry.org/) for dependency management and packaging.
* Drop support for Python 3.5 and Django 2.1.
* Change documentation to support main branch rename to 'main'.
* Fix settings override bug (fixes #388).
* Use Markdown for README.
* Fix Travis, ReadTheDocs and tox configurations.
* Update Makefile with lessons learned from other packages.


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -21,7 +21,7 @@
     author_email="dylan@dyve.net",
     url="https://github.com/dyve/django-bootstrap3",
     license="BSD-3-Clause",
-    use_scm_version=True,
+    use_scm_version={"write_to": "src/bootstrap3/_version.py"},
     setup_requires=["setuptools_scm"],
     packages=find_packages(where="src"),
     package_dir={"": "src"},
diff --git a/src/bootstrap3/__init__.py b/src/bootstrap3/__init__.py
--- a/src/bootstrap3/__init__.py
+++ b/src/bootstrap3/__init__.py
@@ -0,0 +1,10 @@
+try:
+    from ._version import version
+except ImportError:
+    try:
+        from setuptools_scm import get_version
+
+        version = get_version()
+    except ImportError:
+        version = "???"
+__version__ = version


Test patch:
diff --git a/tests/test_version.py b/tests/test_version.py
new file mode 100644
--- /dev/null
+++ b/tests/test_version.py
@@ -0,0 +1,12 @@
+from django.test import TestCase
+
+
+class VersionTest(TestCase):
+    """Test presence of package version."""
+
+    def test_version(self):
+        import bootstrap3
+
+        version = bootstrap3.__version__
+        version_parts = version.split(".")
+        self.assertTrue(len(version_parts) >= 3)
Repository: zostera/django-bootstrap3

Issue:
Fix simple typo: attrivute -> attribute
There is a small typo in src/bootstrap3/templatetags/bootstrap3.py.
Should read `attribute` rather than `attrivute`.




Discussion:

Resolving patch:
diff --git a/src/bootstrap3/templatetags/bootstrap3.py b/src/bootstrap3/templatetags/bootstrap3.py
--- a/src/bootstrap3/templatetags/bootstrap3.py
+++ b/src/bootstrap3/templatetags/bootstrap3.py
@@ -623,7 +623,7 @@ def bootstrap_icon(icon, **kwargs):
             Extra CSS classes to add to the icon HTML
 
         title
-            A title for the icon (HTML title attrivute)
+            A title for the icon (HTML title attribute)
 
     **Usage**::
 


Test patch:
Repository: zostera/django-bootstrap3

Issue:
Distinguish between errors and help text
You should be able to distinguish between errors and help texts. Now they are all rendered by one template.


Discussion:

Resolving patch:
diff --git a/src/bootstrap3/renderers.py b/src/bootstrap3/renderers.py
--- a/src/bootstrap3/renderers.py
+++ b/src/bootstrap3/renderers.py
@@ -405,6 +405,8 @@ def append_to_field(self, html):
                 "bootstrap3/field_help_text_and_errors.html",
                 context={
                     "field": self.field,
+                    "errors": self.field_errors,
+                    "help_text": self.field_help,
                     "help_text_and_errors": help_text_and_errors,
                     "layout": self.layout,
                     "show_help": self.show_help,


Test patch:
Repository: zostera/django-bootstrap3

Issue:
Bootstrap alert with <br> tag
When I use the `bootstrap_alert` template tag like so :

    {% bootstrap_alert "Sorry but you don't have access to this page.<br>Contact me to get access !" %}

I expect to have two lines in the alert, but instead I have the `br` tag escaped : 

![image](https://user-images.githubusercontent.com/15046586/90136739-ecfa6880-dd74-11ea-8754-392c429b265c.png)

Using the `safe`filter doesn't work...
Bootstrap alert with <br> tag
When I use the `bootstrap_alert` template tag like so :

    {% bootstrap_alert "Sorry but you don't have access to this page.<br>Contact me to get access !" %}

I expect to have two lines in the alert, but instead I have the `br` tag escaped : 

![image](https://user-images.githubusercontent.com/15046586/90136739-ecfa6880-dd74-11ea-8754-392c429b265c.png)

Using the `safe`filter doesn't work...


Discussion:

Resolving patch:
diff --git a/src/bootstrap3/components.py b/src/bootstrap3/components.py
--- a/src/bootstrap3/components.py
+++ b/src/bootstrap3/components.py
@@ -26,6 +26,6 @@ def render_alert(content, alert_type=None, dismissable=True):
     button_placeholder = "__BUTTON__"
     return mark_safe(
         render_tag(
-            "div", attrs={"class": " ".join(css_classes)}, content=button_placeholder + text_value(content)
+            "div", attrs={"class": " ".join(css_classes)}, content=mark_safe(button_placeholder) + text_value(content)
         ).replace(button_placeholder, button)
     )


Test patch:
diff --git a/tests/test_templatetags.py b/tests/test_templatetags.py
--- a/tests/test_templatetags.py
+++ b/tests/test_templatetags.py
@@ -312,6 +312,16 @@ def test_alert(self):
             + "&times;</button>content</div>",
         )
 
+    def test_alert_with_safe_html(self):
+        res = render_template_with_form('{% bootstrap_alert "Foo<br>Bar"|safe %}')
+        self.assertEqual(
+            res.strip(),
+            '<div class="alert alert-info alert-dismissable">'
+            + '<button type="button" class="close" data-dismiss="alert" '
+            + 'aria-hidden="true">'
+            + "&times;</button>Foo<br>Bar</div>",
+        )
+
 
 class MessagesTest(TestCase):
     def test_messages(self):
Repository: zostera/django-bootstrap3

Issue:
Use mistune >= 2
Older versions of mistune appear to be a security risk. In order to use mistune >= 2, we must stop using m2r2. A switch to sphinx-mdinclude seems to be the solution.

See also: https://github.com/CrossNox/m2r2/issues/47


Discussion:

Resolving patch:
diff --git a/docs/conf.py b/docs/conf.py
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -19,7 +19,11 @@
 # The short X.Y version.
 version = ".".join(release.split(".")[:2])
 
-extensions = ["sphinx.ext.autodoc", "sphinx.ext.viewcode", "m2r2"]
+extensions = [
+    "sphinx.ext.autodoc",
+    "sphinx.ext.viewcode",
+    "sphinx_mdinclude",
+]
 pygments_style = "sphinx"
 htmlhelp_basename = f"{PROJECT_NAME}-doc"
 
diff --git a/src/bootstrap3/templatetags/bootstrap3.py b/src/bootstrap3/templatetags/bootstrap3.py
--- a/src/bootstrap3/templatetags/bootstrap3.py
+++ b/src/bootstrap3/templatetags/bootstrap3.py
@@ -229,7 +229,6 @@ def bootstrap_javascript(jquery=None):
 
         {% bootstrap_javascript jquery=1 %}
     """
-
     javascript = ""
     # See if we have to include jQuery
     if jquery is None:
@@ -823,7 +822,6 @@ def bootstrap_pagination(page, **kwargs):
         {% bootstrap_pagination lines url="/pagination?page=1" size="large" %}
         {% bootstrap_pagination page_obj extra=request.GET.urlencode %}
     """
-
     pagination_kwargs = kwargs.copy()
     pagination_kwargs["page"] = page
     return get_pagination_context(**pagination_kwargs)


Test patch:
Repository: zostera/django-bootstrap3

Issue:
Upgrade importlib_metadata
This library currently enforces `importlib_metadata<3` for Python<3.8. This causes conflicts for us, since other libraries such as `markdown` start enforcing `importlib_metadata>4.4` to get Python-3.10-like behaviour.

Is there a specific reason this version is enforced to be `<3`?

refs https://github.com/pretix/pretix/pull/2329


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -47,6 +47,6 @@
     python_requires=">=3.7",
     install_requires=[
         "Django>=3.2",
-        'importlib-metadata<3; python_version<"3.8"',
+        'importlib-metadata; python_version<"3.8"',
     ],
 )


Test patch:
Repository: InternLM/lmdeploy

Issue:
Serving gradio报错
![image](https://github.com/InternLM/lmdeploy/assets/6971044/d84724e1-e098-4ad7-9b02-bdc5e0bdeec0)

报错: no module named lmdeploy.serve.gradio

环境里已安装了lmdeploy 0.0.2 python包。


Discussion:

Resolving patch:
diff --git a/lmdeploy/version.py b/lmdeploy/version.py
--- a/lmdeploy/version.py
+++ b/lmdeploy/version.py
@@ -1,7 +1,7 @@
 # Copyright (c) OpenMMLab. All rights reserved.
 from typing import Tuple
 
-__version__ = '0.0.2'
+__version__ = '0.0.3'
 short_version = __version__
 
 


Test patch:
Repository: InternLM/lmdeploy

Issue:
[Bug] Get warning message "exceed session max length. PLease restart the session by reset button."
### Checklist

- [ ] 1. I have searched related issues but cannot get the expected help.
- [ ] 2. The bug has not been fixed in the latest version.

### Describe the bug

推理结果超过一定长度时，会显示警告信息“exceed session max length. PLease restart the session by reset button.”，然后发现输出内容被截断，不是自然结束。

想问下session max length是由哪个配置参数来控制的。

![lmdeploy-screenshot01](https://github.com/InternLM/lmdeploy/assets/132997627/17378aa9-6a93-464e-b971-6154a866c118)


### Reproduction

1. 使用了lmdeploy提供的llama2-70b-chat-4bit的量化模型，并且转换成了TurboMind支持的格式。转换时TP=2，因为打算使用2张3090卡来实现推理。
2. 运行命令lmdeploy serve gradio ./workspace来进行推理
3. 显示前端界面后，输入提示词“以哈尔滨冰雕为题，用英文写一篇不超过300字的文章”
4. 输出部分结果后，显示警告信息“exceed session max length. PLease restart the session by reset button.”。查看输出结果，发现内容被截断，不是自然结束。

### Environment

```Shell
utuntu
lmdeploy-0.2.4
lmdeploy/llama2-70b-chat-4bit模型
没有部署在docker容器内
```


### Error traceback

_No response_


Discussion:
启动时传参 --session-len 控制。所有的可传参数都可以通过-h查看。
经过测试发现，每次对话生成的结果字数是由gradio页面上的maximum new tokens设置项控制的，但页面显示的警告信息也是“exceed session max length”，不是很恰当。整个对话session的字数才是由session-len参数控制的。

Resolving patch:
diff --git a/lmdeploy/serve/gradio/api_server_backend.py b/lmdeploy/serve/gradio/api_server_backend.py
--- a/lmdeploy/serve/gradio/api_server_backend.py
+++ b/lmdeploy/serve/gradio/api_server_backend.py
@@ -38,7 +38,7 @@ def chat_stream_restful(instruction: str, state_chatbot: Sequence,
             interactive_mode=True,
             top_p=top_p,
             temperature=temperature):
-        if finish_reason == 'length':
+        if finish_reason == 'length' and tokens == 0:
             gr.Warning('WARNING: exceed session max length.'
                        ' Please restart the session by reset button.')
         if tokens < 0:
diff --git a/lmdeploy/serve/gradio/turbomind_coupled.py b/lmdeploy/serve/gradio/turbomind_coupled.py
--- a/lmdeploy/serve/gradio/turbomind_coupled.py
+++ b/lmdeploy/serve/gradio/turbomind_coupled.py
@@ -49,7 +49,8 @@ async def chat_stream_local(instruction: str, state_chatbot: Sequence,
             sequence_start=(len(state_chatbot) == 1),
             sequence_end=False):
         response = outputs.response
-        if outputs.finish_reason == 'length':
+        if outputs.finish_reason == 'length' and \
+                outputs.generate_token_len == 0:
             gr.Warning('WARNING: exceed session max length.'
                        ' Please restart the session by reset button.')
         if outputs.generate_token_len < 0:


Test patch:
Repository: InternLM/lmdeploy

Issue:
[Feature] Make torchvision optional
### Motivation

Since v0.4.2, `torchvision` has been introduced into the LMDeploy runtime because it is used in VLMs. 
https://github.com/InternLM/lmdeploy/blob/54b7230b4ca08b37b85e5f6e1960e2445dca5288/requirements/runtime.txt#L16-L18
For some users, like me who might only want to use LLM, theoretically I have no dependency on `torchvision`. But currently, due to the Python code relying on `torchvision`, even if I only use LLM inference, I am still required to install `torchvision`. 
https://github.com/InternLM/lmdeploy/blob/aa8f7d17ec2abc968241cad32070b27eb315d472/lmdeploy/vl/model/cogvlm.py#L6-L8
https://github.com/InternLM/lmdeploy/blob/aa8f7d17ec2abc968241cad32070b27eb315d472/lmdeploy/vl/model/internvl.py#L112-L127
This is not very user-friendly as **the dependencies increase** and this particular **dependency also has a large binary size**. Could you consider making it optional? Thanks. @lvhan028 @irexyc @grimoire @AllentDan 

### Related resources

_No response_

### Additional context

_No response_


Discussion:

Resolving patch:
diff --git a/lmdeploy/archs.py b/lmdeploy/archs.py
--- a/lmdeploy/archs.py
+++ b/lmdeploy/archs.py
@@ -2,15 +2,11 @@
 import os
 from typing import Literal, Optional, Union
 
-from lmdeploy.serve.async_engine import AsyncEngine
-from lmdeploy.serve.vl_async_engine import VLAsyncEngine
 from lmdeploy.utils import get_hf_config_content
 
 from .messages import PytorchEngineConfig, TurbomindEngineConfig
 from .utils import get_logger
 
-SUPPORTED_TASKS = {'llm': AsyncEngine, 'vlm': VLAsyncEngine}
-
 logger = get_logger('lmdeploy')
 
 
@@ -137,11 +133,14 @@ def check_vl_llm(config: dict) -> bool:
 
 def get_task(model_path: str):
     """get pipeline type and pipeline class from model config."""
+    from lmdeploy.serve.async_engine import AsyncEngine
+
     if os.path.exists(os.path.join(model_path, 'triton_models', 'weights')):
         # workspace model
         return 'llm', AsyncEngine
     config = get_hf_config_content(model_path)
     if check_vl_llm(config):
+        from lmdeploy.serve.vl_async_engine import VLAsyncEngine
         return 'vlm', VLAsyncEngine
 
     # default task, pipeline_class


Test patch:
Repository: mit-ll-responsible-ai/hydra-zen

Issue:
PEP 561 compatibility
Hi,

Would it be possible to make hydra-zen compliant with [PEP 561](https://www.python.org/dev/peps/pep-0561) by distributing a `py.typed` file with the package?

Currently I'm getting `Skipping analyzing "hydra_zen": found module but no type hints or library stubs` when I run mypy on a test file. Here are steps to reproduce this error:
```text
$ pip install hydra-zen mypy
...
Successfully installed PyYAML-5.4.1 antlr4-python3-runtime-4.8 hydra-core-1.1.1 hydra-zen-0.2.0 mypy-0.910 mypy-extensions-0.4.3 omegaconf-2.1.1 toml-0.10.2 typing-extensions-3.10.0.2
...
$ echo "from hydra_zen import builds" > tmp.py
$ mypy tmp.py
tmp.py:1: error: Skipping analyzing "hydra_zen": found module but no type hints or library stubs
tmp.py:1: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
Found 1 error in 1 file (checked 1 source file)
```

I believe that adding an empty `py.typed` file to the `src/hydra_zen` directory (and modifying `setup.py` so that the `py.typed` file is distributed with the `hydra-zen` package) would make it possible for type checkers following PEP 561 to discover the type hints in `src`.
(I'd be happy to submit a PR to this effect.)


Discussion:

Resolving patch:
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -68,4 +68,5 @@
     python_requires=">=3.6",
     packages=find_packages(where="src", exclude=["tests", "tests.*"]),
     package_dir={"": "src"},
+    package_data={"hydra_zen": ["py.typed"]}
 )


Test patch:
Repository: mit-ll-responsible-ai/hydra-zen

Issue:
hydra_partial=True and hydra_recursive=False should be permitted
Thanks to #110  we don't need to rely on recursive instantiation to implement `hydra_partial=True` anymore. I.e. we can get rid of:

https://github.com/mit-ll-responsible-ai/hydra-zen/blob/5f48f4b0c408a8a25ed8d5c2aa66b2316e9d8118/src/hydra_zen/structured_configs/_implementations.py#L658-L662


Discussion:

Resolving patch:
diff --git a/src/hydra_zen/structured_configs/_implementations.py b/src/hydra_zen/structured_configs/_implementations.py
--- a/src/hydra_zen/structured_configs/_implementations.py
+++ b/src/hydra_zen/structured_configs/_implementations.py
@@ -681,12 +681,6 @@ def builds(
     if any(not (is_dataclass(_b) and isinstance(_b, type)) for _b in builds_bases):
         raise TypeError("All `build_bases` must be a tuple of dataclass types")
 
-    if hydra_partial is True and hydra_recursive is False:
-        raise ValueError(
-            _utils.building_error_prefix(target)
-            + "`builds(..., hydra_partial=True)` requires that `hydra_recursive=True`"
-        )
-
     if hydra_meta is None:
         hydra_meta = {}
 


Test patch:
diff --git a/tests/test_hydra_behaviors.py b/tests/test_hydra_behaviors.py
--- a/tests/test_hydra_behaviors.py
+++ b/tests/test_hydra_behaviors.py
@@ -28,9 +28,6 @@ def f_three_vars(x, y, z):
     name=st.none() | st.sampled_from(["NameA", "NameB"]),
 )
 def test_builds_sets_hydra_params(convert, recursive, sig, partial, name, meta, kwargs):
-    if partial and not recursive:
-        assume(False)
-
     out = builds(
         f_three_vars,
         hydra_convert=convert,
diff --git a/tests/test_validation.py b/tests/test_validation.py
--- a/tests/test_validation.py
+++ b/tests/test_validation.py
@@ -61,11 +61,6 @@ def test_builds_returns_a_dataclass_type():
     assert is_dataclass(conf) and isinstance(conf, type)
 
 
-def test_builds_hydra_partial_raises_if_recursion_disabled():
-    with pytest.raises(ValueError):
-        builds(dict, hydra_partial=True, hydra_recursive=False)
-
-
 @given(everything_except(Mapping, type(None)))
 def test_builds_hydra_meta_not_mapping_raises(not_a_mapping):
     with pytest.raises(TypeError):