{"id":29227153,"url":"https://github.com/royerlab/tracksdata","last_synced_at":"2025-07-31T13:35:17.484Z","repository":{"id":287645861,"uuid":"938253422","full_name":"royerlab/tracksdata","owner":"royerlab","description":"A common data structure and basic tools for multi-object tracking.","archived":false,"fork":false,"pushed_at":"2025-06-25T18:04:25.000Z","size":468,"stargazers_count":1,"open_issues_count":7,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-27T15:32:52.985Z","etag":null,"topics":["cell-tracking","cell-tracking-challenge","multi-object-tracking","tracking"],"latest_commit_sha":null,"homepage":"https://royerlab.github.io/tracksdata/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/royerlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-02-24T16:58:11.000Z","updated_at":"2025-06-25T18:04:29.000Z","dependencies_parsed_at":"2025-05-27T22:30:55.274Z","dependency_job_id":"77d114d7-a61e-4846-8fc5-b7c01f0d0547","html_url":"https://github.com/royerlab/tracksdata","commit_stats":null,"previous_names":["jookuma/tracksdata","royerlab/tracksdata"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/royerlab/tracksdata","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Ftracksdata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Ftracksdata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Ftracksdata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Ftracksdata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/royerlab","download_url":"https://codeload.github.com/royerlab/tracksdata/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/royerlab%2Ftracksdata/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263296638,"owners_count":23444499,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cell-tracking","cell-tracking-challenge","multi-object-tracking","tracking"],"created_at":"2025-07-03T09:10:04.424Z","updated_at":"2025-07-03T09:10:05.869Z","avatar_url":"https://github.com/royerlab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TracksData\n\n[![PyPI - License](https://img.shields.io/pypi/l/tracksdata.svg?color=green)](https://github.com/royerlab/tracksdata/raw/main/LICENSE)\n[![PyPI - Version](https://img.shields.io/pypi/v/tracksdata.svg)](https://pypi.org/project/tracksdata)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/tracksdata.svg)](https://pypi.org/project/tracksdata)\n[![CI](https://github.com/royerlab/tracksdata/actions/workflows/ci.yaml/badge.svg)](https://github.com/royerlab/tracksdata/actions/workflows/ci.yaml)\n[![codecov](https://codecov.io/gh/royerlab/tracksdata/branch/main/graph/badge.svg)](https://codecov.io/gh/royerlab/tracksdata)\n\nA common data structure and basic tools for multi-object tracking.\n\n## Features\n\n- Graph-based representation of tracking problems\n- In-memory (RustWorkX) and database-backed (SQL) graph backends\n- Nodes and edges can take arbitrary attributes\n- Standardize API for node operators (e.g. defining objects and their attributes)\n- Standardize API for edge operators (e.g. creating edges between nodes)\n- Basic tracking solvers: nearest neighbors and integer linear programming\n- Compatible with Cell Tracking Challenge (CTC) format\n- Efficient subgraphing based on attributes on any graph backend\n- Integration with cell tracking evaluation metrics\n\n## Installation\n\nUntil rustworkx 0.17.0 is released, you need to have rust installed to compile the latest rustworkx.\n\n```console\nconda install -c conda-forge rust\n```\n\nThen install tracksdata with the following command:\n\n```console\npip install .\n```\n\n## Why tracksdata?\n\nTracksData provides a common data structure for multi-object tracking problems.\nIt uses graphs to represent detections (nodes) and their connections (edges), making it easier to work with tracking data across different algorithms.\n\nKey benefits:\n- Consistent data representation for tracking problems\n- Modular components that can be combined as needed\n- Support for both small datasets (in-memory) and large datasets (database)\n\n## Documentation\n\n- [Full Documentation](https://royerlab.github.io/tracksdata/)\n- [Installation](https://royerlab.github.io/tracksdata/installation/)\n- [Core Concepts](https://royerlab.github.io/tracksdata/concepts/)\n- [Getting Started](https://royerlab.github.io/tracksdata/getting_started/)\n- [API Reference](https://royerlab.github.io/tracksdata/reference/tracksdata/)\n- [FAQ](https://royerlab.github.io/tracksdata/faq/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyerlab%2Ftracksdata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froyerlab%2Ftracksdata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froyerlab%2Ftracksdata/lists"}