prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Lint linter config for Python < 3.6 and issue warning if Actions are using Python 3.6 and older
  ### Description of the bug
  
  ```
  Run nf-core -l lint_log.txt lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md
  ```
  ```python
  Traceback (most recent call last):
    File "/opt/hostedtoolcache/Python/3.6.15/x64/bin/nf-core", line 5, in <module>
      from nf_core.__main__ import run_nf_core
    File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/__main__.py", line 19, in <module>
      import nf_core.lint
    File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/lint/__init__.py", line 23, in <module>
      import nf_core.modules.lint
    File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/__init__.py", line 1, in <module>
      from .bump_versions import ModuleVersionBumper
    File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/bump_versions.py", line 24, in <module>
      from .modules_command import ModuleCommand
    File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/modules_command.py", line [11](https://github.com/nf-core/scrnaseq/actions/runs/3188310073/jobs/5200822519#step:6:12), in <module>
      from .modules_json import ModulesJson
    File "/opt/hostedtoolcache/Python/3.6.[15](https://github.com/nf-core/scrnaseq/actions/runs/3188310073/jobs/5200822519#step:6:16)/x64/lib/python3.6/site-packages/nf_core/modules/modules_json.py", line 15, in <module>
      import nf_core.modules.modules_repo
    File "/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/modules_repo.py", line 5, in <module>
      from importlib.resources import path
  ModuleNotFoundError: No module named 'importlib.resources'
  ```
  ```
  Error: Process completed with exit code 1.
  ```
  
  ### Command used and terminal output
  
  ```console
  https://github.com/nf-core/scrnaseq/actions/runs/3188310073/jobs/5200822519
  ```
  
  
  ### System information
  
  GHA
  
  </issue>
  <code>
  [start of setup.py]
  1 #!/usr/bin/env python
  2 
  3 from setuptools import find_packages, setup
  4 
  5 version = "2.7dev"
  6 
  7 with open("README.md") as f:
  8     readme = f.read()
  9 
  10 with open("requirements.txt") as f:
  11     required = f.read().splitlines()
  12 
  13 setup(
  14     name="nf-core",
  15     version=version,
  16     description="Helper tools for use with nf-core Nextflow pipelines.",
  17     long_description=readme,
  18     long_description_content_type="text/markdown",
  19     keywords=[
  20         "nf-core",
  21         "nextflow",
  22         "bioinformatics",
  23         "workflow",
  24         "pipeline",
  25         "biology",
  26         "sequencing",
  27         "NGS",
  28         "next generation sequencing",
  29     ],
  30     author="Phil Ewels",
  31     author_email="phil.ewels@scilifelab.se",
  32     url="https://github.com/nf-core/tools",
  33     license="MIT",
  34     entry_points={
  35         "console_scripts": ["nf-core=nf_core.__main__:run_nf_core"],
  36         "refgenie.hooks.post_update": ["nf-core-refgenie=nf_core.refgenie:update_config"],
  37     },
  38     install_requires=required,
  39     packages=find_packages(exclude=("docs")),
  40     include_package_data=True,
  41     zip_safe=False,
  42 )
  43
  [end of setup.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -35,6 +35,7 @@
           "console_scripts": ["nf-core=nf_core.__main__:run_nf_core"],
           "refgenie.hooks.post_update": ["nf-core-refgenie=nf_core.refgenie:update_config"],
       },
  +    python_requires=">=3.7, <4",
       install_requires=required,
       packages=find_packages(exclude=("docs")),
       include_package_data=True,
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -35,6 +35,7 @@\n         \"console_scripts\": [\"nf-core=nf_core.__main__:run_nf_core\"],\n         \"refgenie.hooks.post_update\": [\"nf-core-refgenie=nf_core.refgenie:update_config\"],\n     },\n+    python_requires=\">=3.7, <4\",\n     install_requires=required,\n     packages=find_packages(exclude=(\"docs\")),\n     include_package_data=True,\n", "issue": "Lint linter config for Python < 3.6 and issue warning if Actions are using Python 3.6 and older\n### Description of the bug\r\n\r\n```\r\nRun nf-core -l lint_log.txt lint --dir ${GITHUB_WORKSPACE} --markdown lint_results.md\r\n```\r\n```python\r\nTraceback (most recent call last):\r\n  File \"/opt/hostedtoolcache/Python/3.6.15/x64/bin/nf-core\", line 5, in <module>\r\n    from nf_core.__main__ import run_nf_core\r\n  File \"/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/__main__.py\", line 19, in <module>\r\n    import nf_core.lint\r\n  File \"/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/lint/__init__.py\", line 23, in <module>\r\n    import nf_core.modules.lint\r\n  File \"/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/__init__.py\", line 1, in <module>\r\n    from .bump_versions import ModuleVersionBumper\r\n  File \"/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/bump_versions.py\", line 24, in <module>\r\n    from .modules_command import ModuleCommand\r\n  File \"/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/modules_command.py\", line [11](https://github.com/nf-core/scrnaseq/actions/runs/3188310073/jobs/5200822519#step:6:12), in <module>\r\n    from .modules_json import ModulesJson\r\n  File \"/opt/hostedtoolcache/Python/3.6.[15](https://github.com/nf-core/scrnaseq/actions/runs/3188310073/jobs/5200822519#step:6:16)/x64/lib/python3.6/site-packages/nf_core/modules/modules_json.py\", line 15, in <module>\r\n    import nf_core.modules.modules_repo\r\n  File \"/opt/hostedtoolcache/Python/3.6.15/x64/lib/python3.6/site-packages/nf_core/modules/modules_repo.py\", line 5, in <module>\r\n    from importlib.resources import path\r\nModuleNotFoundError: No module named 'importlib.resources'\r\n```\r\n```\r\nError: Process completed with exit code 1.\r\n```\r\n\r\n### Command used and terminal output\r\n\r\n```console\r\nhttps://github.com/nf-core/scrnaseq/actions/runs/3188310073/jobs/5200822519\r\n```\r\n\r\n\r\n### System information\r\n\r\nGHA\n", "before_files": [{"content": "#!/usr/bin/env python\n\nfrom setuptools import find_packages, setup\n\nversion = \"2.7dev\"\n\nwith open(\"README.md\") as f:\n    readme = f.read()\n\nwith open(\"requirements.txt\") as f:\n    required = f.read().splitlines()\n\nsetup(\n    name=\"nf-core\",\n    version=version,\n    description=\"Helper tools for use with nf-core Nextflow pipelines.\",\n    long_description=readme,\n    long_description_content_type=\"text/markdown\",\n    keywords=[\n        \"nf-core\",\n        \"nextflow\",\n        \"bioinformatics\",\n        \"workflow\",\n        \"pipeline\",\n        \"biology\",\n        \"sequencing\",\n        \"NGS\",\n        \"next generation sequencing\",\n    ],\n    author=\"Phil Ewels\",\n    author_email=\"phil.ewels@scilifelab.se\",\n    url=\"https://github.com/nf-core/tools\",\n    license=\"MIT\",\n    entry_points={\n        \"console_scripts\": [\"nf-core=nf_core.__main__:run_nf_core\"],\n        \"refgenie.hooks.post_update\": [\"nf-core-refgenie=nf_core.refgenie:update_config\"],\n    },\n    install_requires=required,\n    packages=find_packages(exclude=(\"docs\")),\n    include_package_data=True,\n    zip_safe=False,\n)\n", "path": "setup.py"}]}