prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  Developement - version issue
  ### Search before asking
  
  - [X] I have searched the Supervision [issues](https://github.com/roboflow/supervision/issues) and found no similar bug report.
  
  
  ### Bug
  
  I have not installed `supervision` but running directly for developement purpose.
  
  But I got an following error when I import supervision code:
  
  ```
      raise PackageNotFoundError(name)
  importlib.metadata.PackageNotFoundError: supervision
  ```
  
  After a quick investigation, it is found that `__init__.py` of `supervision` where version information used. It is creating an issue. If I comment this line and the bug is gone.
  
  @onuralpszr Can you take a look?
  
  
  I think it should be ignorable, if valid version is not found then use `development` version. Though, I do not have concret idea, how to tackle it.
  
  
  
  
  
  ### Environment
  
  _No response_
  
  ### Minimal Reproducible Example
  
  _No response_
  
  ### Additional
  
  _No response_
  
  ### Are you willing to submit a PR?
  
  - [X] Yes I'd like to help by submitting a PR!
  
  </issue>
  <code>
  [start of supervision/__init__.py]
  1 import importlib.metadata as importlib_metadata
  2 
  3 __version__ = importlib_metadata.version(__package__)
  4 
  5 
  6 from supervision.classification.core import Classifications
  7 from supervision.dataset.core import (
  8     BaseDataset,
  9     ClassificationDataset,
  10     DetectionDataset,
  11 )
  12 from supervision.detection.annotate import BoxAnnotator, MaskAnnotator
  13 from supervision.detection.core import Detections
  14 from supervision.detection.line_counter import LineZone, LineZoneAnnotator
  15 from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator
  16 from supervision.detection.utils import (
  17     box_iou_batch,
  18     filter_polygons_by_area,
  19     mask_to_polygons,
  20     mask_to_xyxy,
  21     non_max_suppression,
  22     polygon_to_mask,
  23     polygon_to_xyxy,
  24 )
  25 from supervision.draw.color import Color, ColorPalette
  26 from supervision.draw.utils import draw_filled_rectangle, draw_polygon, draw_text
  27 from supervision.geometry.core import Point, Position, Rect
  28 from supervision.geometry.utils import get_polygon_center
  29 from supervision.metrics.detection import ConfusionMatrix
  30 from supervision.utils.file import list_files_with_extensions
  31 from supervision.utils.image import ImageSink, crop
  32 from supervision.utils.notebook import plot_image, plot_images_grid
  33 from supervision.utils.video import (
  34     VideoInfo,
  35     VideoSink,
  36     get_video_frames_generator,
  37     process_video,
  38 )
  39
  [end of supervision/__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/supervision/__init__.py b/supervision/__init__.py
  --- a/supervision/__init__.py
  +++ b/supervision/__init__.py
  @@ -1,6 +1,10 @@
   import importlib.metadata as importlib_metadata
   
  -__version__ = importlib_metadata.version(__package__)
  +try:
  +    # This will read version from pyproject.toml
  +    __version__ = importlib_metadata.version(__package__ or __name__)
  +except importlib_metadata.PackageNotFoundError:
  +    __version__ = "development"
   
   
   from supervision.classification.core import Classifications
  
verification_info: {"golden_diff": "diff --git a/supervision/__init__.py b/supervision/__init__.py\n--- a/supervision/__init__.py\n+++ b/supervision/__init__.py\n@@ -1,6 +1,10 @@\n import importlib.metadata as importlib_metadata\n \n-__version__ = importlib_metadata.version(__package__)\n+try:\n+    # This will read version from pyproject.toml\n+    __version__ = importlib_metadata.version(__package__ or __name__)\n+except importlib_metadata.PackageNotFoundError:\n+    __version__ = \"development\"\n \n \n from supervision.classification.core import Classifications\n", "issue": "Developement - version issue\n### Search before asking\n\n- [X] I have searched the Supervision [issues](https://github.com/roboflow/supervision/issues) and found no similar bug report.\n\n\n### Bug\n\nI have not installed `supervision` but running directly for developement purpose.\r\n\r\nBut I got an following error when I import supervision code:\r\n\r\n```\r\n    raise PackageNotFoundError(name)\r\nimportlib.metadata.PackageNotFoundError: supervision\r\n```\r\n\r\nAfter a quick investigation, it is found that `__init__.py` of `supervision` where version information used. It is creating an issue. If I comment this line and the bug is gone.\r\n\r\n@onuralpszr Can you take a look?\r\n\r\n\r\nI think it should be ignorable, if valid version is not found then use `development` version. Though, I do not have concret idea, how to tackle it.\r\n\r\n\r\n\r\n\n\n### Environment\n\n_No response_\n\n### Minimal Reproducible Example\n\n_No response_\n\n### Additional\n\n_No response_\n\n### Are you willing to submit a PR?\n\n- [X] Yes I'd like to help by submitting a PR!\n", "before_files": [{"content": "import importlib.metadata as importlib_metadata\n\n__version__ = importlib_metadata.version(__package__)\n\n\nfrom supervision.classification.core import Classifications\nfrom supervision.dataset.core import (\n    BaseDataset,\n    ClassificationDataset,\n    DetectionDataset,\n)\nfrom supervision.detection.annotate import BoxAnnotator, MaskAnnotator\nfrom supervision.detection.core import Detections\nfrom supervision.detection.line_counter import LineZone, LineZoneAnnotator\nfrom supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator\nfrom supervision.detection.utils import (\n    box_iou_batch,\n    filter_polygons_by_area,\n    mask_to_polygons,\n    mask_to_xyxy,\n    non_max_suppression,\n    polygon_to_mask,\n    polygon_to_xyxy,\n)\nfrom supervision.draw.color import Color, ColorPalette\nfrom supervision.draw.utils import draw_filled_rectangle, draw_polygon, draw_text\nfrom supervision.geometry.core import Point, Position, Rect\nfrom supervision.geometry.utils import get_polygon_center\nfrom supervision.metrics.detection import ConfusionMatrix\nfrom supervision.utils.file import list_files_with_extensions\nfrom supervision.utils.image import ImageSink, crop\nfrom supervision.utils.notebook import plot_image, plot_images_grid\nfrom supervision.utils.video import (\n    VideoInfo,\n    VideoSink,\n    get_video_frames_generator,\n    process_video,\n)\n", "path": "supervision/__init__.py"}]}