{"id":28405,"library":"trackers","title":"Trackers","description":"A unified library for object tracking featuring clean room re-implementations of leading multi-object tracking algorithms. Current version: 2.4.0. Release cadence: irregular, with occasional major updates.","status":"active","version":"2.4.0","language":"python","source_language":"en","source_url":"https://github.com/abewley/trackers","tags":["object tracking","multi-object tracking","computer vision","botsort","deepocsort","strongsort"],"install":[{"cmd":"pip install trackers","lang":"bash","label":"Standard installation"}],"dependencies":[],"imports":[{"note":"Direct import from top-level package","wrong":"from trackers.botsort import BotSort","symbol":"BotSort","correct":"from trackers import BotSort"},{"note":"Direct import from top-level package","wrong":"from trackers.deepocsort import DeepOCSort","symbol":"DeepOCSort","correct":"from trackers import DeepOCSort"},{"note":"Direct import from top-level package","wrong":"from trackers.strongsort import StrongSort","symbol":"StrongSort","correct":"from trackers import StrongSort"}],"quickstart":{"code":"from trackers import BotSort\nimport numpy as np\n\ntracker = BotSort()\n# Example: update with random detections (x1, y1, x2, y2, score, class_id)\ndetections = np.random.rand(5, 6).tolist()\ntracks = tracker.update(detections, img_size=(640, 480))\nprint(tracks)","lang":"python","description":"Initialize a tracker and update with detections (list of lists)."},"warnings":[{"fix":"Use 'from trackers import BotSort' instead of 'from trackers.botsort import BotSort'.","message":"In version 2.0, the import paths changed: all trackers are now importable directly from the trackers package. Submodule imports like 'from trackers.botsort import BotSort' no longer work.","severity":"breaking","affected_versions":"<2.0 -> >=2.0"},{"fix":"Convert your detections to a list of lists before calling update().","message":"The update() method expects detections as a list of lists in the format [x1, y1, x2, y2, score, class_id]. It does not accept numpy arrays directly as input.","severity":"gotcha","affected_versions":"all"},{"fix":"Remove the 'verbose' parameter and configure Python logging separately.","message":"The 'verbose' parameter in tracker initialization is deprecated and will be removed in a future version. Use logging configuration instead.","severity":"deprecated","affected_versions":">=2.3, <2.5"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Upgrade to trackers>=2.0 with 'pip install --upgrade trackers' and use 'from trackers import BotSort'.","cause":"Installed version is <2.0 or import path used was incorrect.","error":"AttributeError: module 'trackers' has no attribute 'BotSort'"},{"fix":"Change import to 'from trackers import BotSort'.","cause":"Using old import path from version <2.0.","error":"ImportError: cannot import name 'BotSort' from 'trackers.botsort'"},{"fix":"Ensure detections is a list of lists: [[x1, y1, x2, y2, score, class_id], ...].","cause":"Passing a dictionary instead of a list of lists to update().","error":"KeyError: 'detections'"},{"fix":"If your detections include class IDs, ensure they are present. Otherwise, set n_classes in the tracker constructor.","cause":"Tracker requires n_classes parameter or class IDs in detections.","error":"ValueError: The number of classes must be specified"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}