prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Don't attempt to start on Windows (until supported)
  As of right now, we error out when attempting to start on a Microsoft Windows system.
  
  We should detect that the OS is not supported, and not start at all (and log that fact).
  
  
  </issue>
  <code>
  [start of src/scout_apm/core/__init__.py]
  1 # coding=utf-8
  2 from __future__ import absolute_import, division, print_function, unicode_literals
  3 
  4 import logging
  5 from os import getpid
  6 
  7 from scout_apm.core.config import ScoutConfig
  8 from scout_apm.core.context import AgentContext
  9 from scout_apm.core.core_agent_manager import CoreAgentManager
  10 from scout_apm.core.instrument_manager import InstrumentManager
  11 from scout_apm.core.metadata import AppMetadata
  12 
  13 try:
  14     from scout_apm.core import objtrace
  15 except ImportError:
  16     objtrace = None
  17 
  18 logger = logging.getLogger(__name__)
  19 
  20 
  21 def install(*args, **kwargs):
  22     if "config" in kwargs:
  23         ScoutConfig().set(**kwargs["config"])
  24     context = AgentContext.build(config=ScoutConfig())
  25 
  26     if not context.config.value("monitor"):
  27         logger.info(
  28             "APM Not Launching on PID: %s - Configuration 'monitor' is not true",
  29             getpid(),
  30         )
  31         return False
  32 
  33     InstrumentManager().install_all()
  34 
  35     if objtrace is not None:
  36         objtrace.enable()
  37 
  38     logger.debug("APM Launching on PID: %s", getpid())
  39     launched = CoreAgentManager().launch()
  40 
  41     AppMetadata.report()
  42     if launched:
  43         AgentContext.socket().stop()
  44 
  45     return True
  46
  [end of src/scout_apm/core/__init__.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/src/scout_apm/core/__init__.py b/src/scout_apm/core/__init__.py
  --- a/src/scout_apm/core/__init__.py
  +++ b/src/scout_apm/core/__init__.py
  @@ -2,6 +2,7 @@
   from __future__ import absolute_import, division, print_function, unicode_literals
   
   import logging
  +import sys
   from os import getpid
   
   from scout_apm.core.config import ScoutConfig
  @@ -23,6 +24,10 @@
           ScoutConfig().set(**kwargs["config"])
       context = AgentContext.build(config=ScoutConfig())
   
  +    if sys.platform == "win32":
  +        logger.info("APM Not Launching on PID: %s - Windows is not supported", getpid())
  +        return False
  +
       if not context.config.value("monitor"):
           logger.info(
               "APM Not Launching on PID: %s - Configuration 'monitor' is not true",
  
verification_info: {"golden_diff": "diff --git a/src/scout_apm/core/__init__.py b/src/scout_apm/core/__init__.py\n--- a/src/scout_apm/core/__init__.py\n+++ b/src/scout_apm/core/__init__.py\n@@ -2,6 +2,7 @@\n from __future__ import absolute_import, division, print_function, unicode_literals\n \n import logging\n+import sys\n from os import getpid\n \n from scout_apm.core.config import ScoutConfig\n@@ -23,6 +24,10 @@\n         ScoutConfig().set(**kwargs[\"config\"])\n     context = AgentContext.build(config=ScoutConfig())\n \n+    if sys.platform == \"win32\":\n+        logger.info(\"APM Not Launching on PID: %s - Windows is not supported\", getpid())\n+        return False\n+\n     if not context.config.value(\"monitor\"):\n         logger.info(\n             \"APM Not Launching on PID: %s - Configuration 'monitor' is not true\",\n", "issue": "Don't attempt to start on Windows (until supported)\nAs of right now, we error out when attempting to start on a Microsoft Windows system.\r\n\r\nWe should detect that the OS is not supported, and not start at all (and log that fact).\r\n\n", "before_files": [{"content": "# coding=utf-8\nfrom __future__ import absolute_import, division, print_function, unicode_literals\n\nimport logging\nfrom os import getpid\n\nfrom scout_apm.core.config import ScoutConfig\nfrom scout_apm.core.context import AgentContext\nfrom scout_apm.core.core_agent_manager import CoreAgentManager\nfrom scout_apm.core.instrument_manager import InstrumentManager\nfrom scout_apm.core.metadata import AppMetadata\n\ntry:\n    from scout_apm.core import objtrace\nexcept ImportError:\n    objtrace = None\n\nlogger = logging.getLogger(__name__)\n\n\ndef install(*args, **kwargs):\n    if \"config\" in kwargs:\n        ScoutConfig().set(**kwargs[\"config\"])\n    context = AgentContext.build(config=ScoutConfig())\n\n    if not context.config.value(\"monitor\"):\n        logger.info(\n            \"APM Not Launching on PID: %s - Configuration 'monitor' is not true\",\n            getpid(),\n        )\n        return False\n\n    InstrumentManager().install_all()\n\n    if objtrace is not None:\n        objtrace.enable()\n\n    logger.debug(\"APM Launching on PID: %s\", getpid())\n    launched = CoreAgentManager().launch()\n\n    AppMetadata.report()\n    if launched:\n        AgentContext.socket().stop()\n\n    return True\n", "path": "src/scout_apm/core/__init__.py"}]}