{"adoption": {"forks": 361, "observed_at": "2026-08-28T04:08:05.966389+00:00", "stars": 3471}, "canonical_url": "https://ross.abutalabs.com/products/tensorwatch", "card": {"archived": false, "artifact_type": "library", "description": "Debugging, monitoring and visualization for Python Machine Learning and Data Science", "domain": ["machine-learning", "deep-learning", "data-science", "developer-tools"], "enriched": true, "function": ["monitoring", "data-visualization", "logging", "machine-learning", "deep-learning"], "health_score": 65, "homepage": null, "language": "Jupyter Notebook", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["microsoft/tensorwatch"], "name": "microsoft/tensorwatch", "platform": ["python", "cross-platform"], "pushed_at": "2026-03-30T21:27:28+00:00", "repo": "microsoft/tensorwatch", "stars": 3471, "tags": ["jupyter-notebook", "debugging", "explainable-ai", "reinforcement-learning", "pytorch", "real-time-visualization", "lazy-logging", "jupyter"], "topics": ["ai", "deep-learning", "deeplearning", "machine-learning", "machinelearning", "reinforcement-learning", "debugging", "debugging-tool", "debug", "monitoring", "explainable-ai", "explainable-ml", "saliency", "model-visualization", "data-science", "python", "jupyter-notebook", "jupyter"], "urls": [], "use_cases": ["visualize training metrics in real time in jupyter", "debug pytorch model training", "query live ml training process with arbitrary expressions", "explain model predictions with saliency maps", "plot neural network architecture diagrams", "monitor reinforcement learning experiments"], "what_it_is": "TensorWatch is a Python library from Microsoft Research for debugging, monitoring, and visualizing machine learning training in real time, primarily within Jupyter Notebooks. It supports live queries against running training processes via its Lazy Logging mode and includes model/data analysis and visualization tools.", "when_to_avoid": ["production or multi-tenant environments - it can execute arbitrary code by design", "you need a polished, actively developed tool with broad framework support", "you only need simple metric tracking without interactive debugging"], "when_to_choose": ["you train models in Jupyter Notebook and want live charts of metrics", "you need interactive, hackable debugging of PyTorch or TensorFlow eager training", "you want explainability tools like saliency visualizations for your models"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tensorwatch", "repo": "microsoft/tensorwatch", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:05.966389+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:36:38.185231+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e38b9f2d03a2cdf3f4be03fd9c025ecc38acf4e6e0b452622bf041d608e84053", "fetched_at": "2026-08-28T04:08:05.966389+00:00", "kind": "readme", "missing": false, "url": "https://github.com/microsoft/tensorwatch"}, {"content_hash": "6a4c353094e8dbbac64341d87bc423e7e749175335c0f63c77e11f0c4b16b862", "fetched_at": "2026-08-29T09:30:35.607669+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/tensorwatch/json"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 74, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2667, "days_push": 156, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}