dgenerate-ultralytics-headless 8.3.232__py3-none-any.whl → 8.3.233__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dgenerate-ultralytics-headless
3
- Version: 8.3.232
3
+ Version: 8.3.233
4
4
  Summary: Automatically built Ultralytics package with python-opencv-headless dependency instead of python-opencv
5
5
  Author-email: Glenn Jocher <glenn.jocher@ultralytics.com>, Jing Qiu <jing.qiu@ultralytics.com>
6
6
  Maintainer-email: Ultralytics <hello@ultralytics.com>
@@ -1,4 +1,4 @@
1
- dgenerate_ultralytics_headless-8.3.232.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
1
+ dgenerate_ultralytics_headless-8.3.233.dist-info/licenses/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
2
2
  tests/__init__.py,sha256=bCox_hLdGRFYGLb2kd722VdNP2zEXNYNuLLYtqZSrbw,804
3
3
  tests/conftest.py,sha256=mOy9lGpNp7lk1hHl6_pVE0f9cU-72gnkoSm4TO-CNZU,2318
4
4
  tests/test_cli.py,sha256=GhIFHi-_WIJpDgoGNRi0DnjbfwP1wHbklBMnkCM-P_4,5464
@@ -8,7 +8,7 @@ tests/test_exports.py,sha256=OMLio2uUhyqo8D8qB5xUwmk7Po2rMeAACRc8WYoxbj4,13147
8
8
  tests/test_integrations.py,sha256=6QgSh9n0J04RdUYz08VeVOnKmf4S5MDEQ0chzS7jo_c,6220
9
9
  tests/test_python.py,sha256=jhnN-Oie3euE3kfHzUqvnadkWOsQyvFmdmEcse9Rsto,29253
10
10
  tests/test_solutions.py,sha256=j_PZZ5tMR1Y5ararY-OTXZr1hYJ7vEVr8H3w4O1tbQs,14153
11
- ultralytics/__init__.py,sha256=QwDEEKwVKp70y7aoaAwIzU9WYxVtvQzuNuQpLZnTKP0,1302
11
+ ultralytics/__init__.py,sha256=eBtHSgxEBAQtUWFiLPsfj84vG2C-02zIf7i4sU_kJeM,1302
12
12
  ultralytics/py.typed,sha256=la67KBlbjXN-_-DfGNcdOcjYumVpKG_Tkw-8n5dnGB4,8
13
13
  ultralytics/assets/bus.jpg,sha256=wCAZxJecGR63Od3ZRERe9Aja1Weayrb9Ug751DS_vGM,137419
14
14
  ultralytics/assets/zidane.jpg,sha256=Ftc4aeMmen1O0A3o6GCDO9FlfBslLpTAw0gnetx7bts,50427
@@ -123,7 +123,7 @@ ultralytics/data/scripts/get_coco.sh,sha256=UuJpJeo3qQpTHVINeOpmP0NYmg8PhEFE3A8J
123
123
  ultralytics/data/scripts/get_coco128.sh,sha256=qmRQl_hOKrsdHrTrnyQuFIH01oDz3lfaz138OgGfLt8,650
124
124
  ultralytics/data/scripts/get_imagenet.sh,sha256=hr42H16bM47iT27rgS7MpEo-GeOZAYUQXgr0B2cwn48,1705
125
125
  ultralytics/engine/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6DXppv1-QUM,70
126
- ultralytics/engine/exporter.py,sha256=m1I0IENaXW-z4pdA2Dvnh_UqesFWrWSfQN1kheIJKJA,68208
126
+ ultralytics/engine/exporter.py,sha256=nq14G-oL8iFSckIji9-GQunWUtp8qyUGuD8jI5a6Ixc,68720
127
127
  ultralytics/engine/model.py,sha256=RkjMWXkyGmYjmMYIG8mPX8Cf1cJvn0ccOsXt03g7tIk,52999
128
128
  ultralytics/engine/predictor.py,sha256=eu0sVo3PTt4zKH6SntzdO1E8cgFj9PFOJrfQO6VNqCE,22698
129
129
  ultralytics/engine/results.py,sha256=zHPX3j36SnbHHRzAtF5wv_IhugEHf-zEPUqpQwdgZxA,68029
@@ -238,7 +238,7 @@ ultralytics/trackers/utils/__init__.py,sha256=lm6MckFYCPTbqIoX7w0s_daxdjNeBeKW6D
238
238
  ultralytics/trackers/utils/gmc.py,sha256=B07unzpprc_vSpAcBGPR1i2fcgFlBMC5pzTAoP9osTc,13800
239
239
  ultralytics/trackers/utils/kalman_filter.py,sha256=iO3WEGu9AWWpVwe0AfgMqXZCzO0sgQC8lGt8KpLnPN4,21485
240
240
  ultralytics/trackers/utils/matching.py,sha256=7lyDXEw6w5iEKeb9CARlAoPbvT35VnCc9hkjD6ZcIqs,7144
241
- ultralytics/utils/__init__.py,sha256=xJODO40KcdX2gpZIl0f62I-ko1-SSka_lZa3kdKTHB4,53316
241
+ ultralytics/utils/__init__.py,sha256=mumSvouTfDk9SnlGPiZCiuO52rpIUh6dpUbV8MfJXKE,54400
242
242
  ultralytics/utils/autobatch.py,sha256=jiE4m_--H9UkXFDm_FqzcZk_hSTCGpS72XdVEKgZwAo,5114
243
243
  ultralytics/utils/autodevice.py,sha256=rXlPuo-iX-vZ4BabmMGEGh9Uxpau4R7Zlt1KCo9Xfyc,8892
244
244
  ultralytics/utils/benchmarks.py,sha256=B6Q55qtZri2EWOKldXnEhGrFe2BjHsAQEt7juPN4m1s,32279
@@ -279,8 +279,8 @@ ultralytics/utils/export/__init__.py,sha256=Cfh-PwVfTF_lwPp-Ss4wiX4z8Sm1XRPklsqd
279
279
  ultralytics/utils/export/engine.py,sha256=23-lC6dNsmz5vprSJzaN7UGNXrFlVedNcqhlOH_IXes,9956
280
280
  ultralytics/utils/export/imx.py,sha256=9UPA4CwTPADzvJx9dOsh_8fQ-LMeqG7eI9EYIn5ojkc,11621
281
281
  ultralytics/utils/export/tensorflow.py,sha256=PyAp0_rXSUcXiqV2RY0H9b_-oFaZ7hZBiSM42X53t0Q,9374
282
- dgenerate_ultralytics_headless-8.3.232.dist-info/METADATA,sha256=vuau2oTebD3Pd14ncJPN9PgrKfEMPrQplLBbf6fooaA,38718
283
- dgenerate_ultralytics_headless-8.3.232.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
284
- dgenerate_ultralytics_headless-8.3.232.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
285
- dgenerate_ultralytics_headless-8.3.232.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
286
- dgenerate_ultralytics_headless-8.3.232.dist-info/RECORD,,
282
+ dgenerate_ultralytics_headless-8.3.233.dist-info/METADATA,sha256=wREqcDysHpLt1z6ARb6CII9IY_vzVJ8q11rx_MA2ZCA,38718
283
+ dgenerate_ultralytics_headless-8.3.233.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
284
+ dgenerate_ultralytics_headless-8.3.233.dist-info/entry_points.txt,sha256=YM_wiKyTe9yRrsEfqvYolNO5ngwfoL4-NwgKzc8_7sI,93
285
+ dgenerate_ultralytics_headless-8.3.233.dist-info/top_level.txt,sha256=XP49TwiMw4QGsvTLSYiJhz1xF_k7ev5mQ8jJXaXi45Q,12
286
+ dgenerate_ultralytics_headless-8.3.233.dist-info/RECORD,,
ultralytics/__init__.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license
2
2
 
3
- __version__ = "8.3.232"
3
+ __version__ = "8.3.233"
4
4
 
5
5
  import importlib
6
6
  import os
@@ -84,7 +84,11 @@ from ultralytics.utils import (
84
84
  ARM64,
85
85
  DEFAULT_CFG,
86
86
  IS_COLAB,
87
+ IS_DEBIAN_BOOKWORM,
88
+ IS_DEBIAN_TRIXIE,
87
89
  IS_JETSON,
90
+ IS_RASPBERRYPI,
91
+ IS_UBUNTU,
88
92
  LINUX,
89
93
  LOGGER,
90
94
  MACOS,
@@ -1193,8 +1197,16 @@ class Exporter:
1193
1197
  java_version = int(version_match.group(1)) if version_match else 0
1194
1198
  assert java_version >= 17, "Java version too old"
1195
1199
  except (FileNotFoundError, subprocess.CalledProcessError, AssertionError):
1196
- cmd = (["sudo"] if is_sudo_available() else []) + ["apt", "install", "-y", "openjdk-21-jre"]
1197
- subprocess.run(cmd, check=True)
1200
+ cmd = None
1201
+ if IS_UBUNTU or IS_DEBIAN_TRIXIE:
1202
+ LOGGER.info(f"\n{prefix} installing Java 21 for Ubuntu...")
1203
+ cmd = (["sudo"] if is_sudo_available() else []) + ["apt", "install", "-y", "openjdk-21-jre"]
1204
+ elif IS_RASPBERRYPI or IS_DEBIAN_BOOKWORM:
1205
+ LOGGER.info(f"\n{prefix} installing Java 17 for Raspberry Pi or Debian ...")
1206
+ cmd = (["sudo"] if is_sudo_available() else []) + ["apt", "install", "-y", "openjdk-17-jre"]
1207
+
1208
+ if cmd:
1209
+ subprocess.run(cmd, check=True)
1198
1210
 
1199
1211
  return torch2imx(
1200
1212
  self.model,
@@ -651,6 +651,32 @@ def is_ubuntu() -> bool:
651
651
  return False
652
652
 
653
653
 
654
+ def is_debian(codenames: list[str] | None | str = None) -> list[bool] | bool:
655
+ """Check if the OS is Debian.
656
+
657
+ Args:
658
+ codenames (list[str] | None | str): Specific Debian codename to check for (e.g., 'buster', 'bullseye'). If None,
659
+ only checks for Debian.
660
+
661
+ Returns:
662
+ (list[bool] | bool): List of booleans indicating if OS matches each Debian codename, or a single boolean if no
663
+ codenames provided.
664
+ """
665
+ try:
666
+ with open("/etc/os-release") as f:
667
+ content = f.read()
668
+ if codenames is None:
669
+ return "ID=debian" in content
670
+ if isinstance(codenames, str):
671
+ codenames = [codenames]
672
+ return [
673
+ f"VERSION_CODENAME={codename}" in content if codename else "ID=debian" in content
674
+ for codename in codenames
675
+ ]
676
+ except FileNotFoundError:
677
+ return [False] * len(codenames) if codenames else False
678
+
679
+
654
680
  def is_colab():
655
681
  """Check if the current script is running inside a Google Colab notebook.
656
682
 
@@ -879,6 +905,8 @@ IS_JETSON = is_jetson()
879
905
  IS_JUPYTER = is_jupyter()
880
906
  IS_PIP_PACKAGE = is_pip_package()
881
907
  IS_RASPBERRYPI = is_raspberrypi()
908
+ IS_DEBIAN, IS_DEBIAN_BOOKWORM, IS_DEBIAN_TRIXIE = is_debian([None, "bookworm", "trixie"])
909
+ IS_UBUNTU = is_ubuntu()
882
910
  GIT = GitRepo()
883
911
  USER_CONFIG_DIR = get_user_config_dir() # Ultralytics settings dir
884
912
  SETTINGS_FILE = USER_CONFIG_DIR / "settings.json"