@dicksonneoh7
RT @strickvl: I've been building panlabel β a fast Rust CLI that converts between dataset annotation formats β and I'm a few releases behinβ¦
Viewing enriched Twitter post
RT @strickvl: I've been building panlabel β a fast Rust CLI that converts between dataset annotation formats β and I'm a few releases behinβ¦
{
"score": 0.34,
"score_components": {
"author": 0.09,
"engagement": 0.0,
"quality": 0.04000000000000001,
"source": 0.135,
"nlp": 0.05,
"recency": 0.025
},
"scored_at": "2026-03-15T13:32:06.341431",
"import_source": "api_import",
"source_tagged_at": "2026-03-15T13:32:06.341444",
"enriched": true,
"enriched_at": "2026-03-15T13:32:06.341447"
} {
"type": "tweet",
"id": "2033174068208562618",
"url": "https://x.com/dicksonneoh7/status/2033174068208562618",
"twitterUrl": "https://twitter.com/dicksonneoh7/status/2033174068208562618",
"text": "RT @strickvl: I've been building panlabel β a fast Rust CLI that converts between dataset annotation formats β and I'm a few releases behinβ¦",
"source": "Twitter for iPhone",
"retweetCount": 1,
"replyCount": 1,
"likeCount": 1,
"quoteCount": 0,
"viewCount": 41,
"createdAt": "Sun Mar 15 13:30:47 +0000 2026",
"lang": "en",
"bookmarkCount": 0,
"isReply": false,
"inReplyToId": null,
"conversationId": "2033174068208562618",
"displayTextRange": [
0,
140
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "dicksonneoh7",
"url": "https://x.com/dicksonneoh7",
"twitterUrl": "https://twitter.com/dicksonneoh7",
"id": "778865535329050625",
"name": "Dickson Neoh π",
"isVerified": false,
"isBlueVerified": false,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/1517096658240081921/YuPWFtF5_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/778865535329050625/1652517625",
"description": "π I share bite-size practical machine learning deployment tips |\nπ‘ Current Projectsπ https://t.co/ClHoj7uDia |\nπ My best Tweetsπ https://t.co/2YzTSSRucv",
"location": "Malaysia",
"followers": 1040,
"following": 1285,
"status": "",
"canDm": true,
"canMediaTag": true,
"createdAt": "Thu Sep 22 07:56:29 +0000 2016",
"entities": {
"description": {
"urls": [
{
"display_url": "rebrand.ly/dnthworks",
"expanded_url": "http://rebrand.ly/dnthworks",
"indices": [
85,
108
],
"url": "https://t.co/ClHoj7uDia"
},
{
"display_url": "rebrand.ly/dnthtweets",
"expanded_url": "http://rebrand.ly/dnthtweets",
"indices": [
129,
152
],
"url": "https://t.co/2YzTSSRucv"
}
]
},
"url": {
"urls": [
{
"display_url": "dicksonneoh.com",
"expanded_url": "https://dicksonneoh.com",
"indices": [
0,
23
],
"url": "https://t.co/j7AutKo3nt"
}
]
}
},
"fastFollowersCount": 0,
"favouritesCount": 4337,
"hasCustomTimelines": false,
"isTranslator": false,
"mediaCount": 118,
"statusesCount": 740,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [
"1850575856038719822"
],
"profile_bio": {},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {},
"card": null,
"place": {},
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [],
"user_mentions": [
{
"id_str": "244511094",
"indices": [
3,
12
],
"name": "Alex Strick van Linschoten",
"screen_name": "strickvl"
}
]
},
"quoted_tweet": null,
"retweeted_tweet": {
"type": "tweet",
"id": "2033161206870282353",
"url": "https://x.com/strickvl/status/2033161206870282353",
"twitterUrl": "https://twitter.com/strickvl/status/2033161206870282353",
"text": "I've been building panlabel β a fast Rust CLI that converts between dataset annotation formats β and I'm a few releases behind on sharing updates. Here's a quick catch-up.\n\nv0.3.0 added Hugging Face ImageFolder support, including remote Hub import via --hf-repo. You can point it at a HF dataset repo and it figures out the layout (metadata.jsonl, parquet shards, even zip-style splits that contain YOLO or COCO inside).\n\nv0.4.0 overhauled auto-detection so it gives you concrete evidence when format detection is ambiguous (\"found YOLO labels/ but missing images/\") instead of a generic error. Also added Docker images.\n\nv0.5.0 brought split-aware YOLO reading for Roboflow/Ultralytics Hub exports and conversion report explainability β every adapter now explains its deterministic policies so you know exactly what happens to your data.\n\nv0.6.0 is the big one. Five new format adapters:\n\nβ LabelMe JSON (per-image, with polygon-to-bbox envelope)\nβ Apple CreateML JSON (center-based coords)\nβ KITTI (autonomous driving standard β 15 fields per line)\nβ VGG Image Annotator (VIA) JSON\nβ RetinaNet Keras CSV\n\nThat brings panlabel to 13 supported formats with full read, write, and auto-detection. Also in v0.6.0: YOLO confidence token support, dry-run mode for previewing conversions, and content-based CSV detection.\n\nSingle binary, no Python dependencies. Install via pip, brew, cargo, or grab a pre-built binary from GitHub releases.\n\nThis is the kind of project I enjoy just steadily plodding away at β ticking off one format at a time until every common object detection annotation format is covered. Still sticking with detection bboxes for now, but the format list keeps growing.\n\n#ObjectDetection #Rust #MachineLearning #ComputerVision #OpenSource",
"source": "Twitter for iPhone",
"retweetCount": 1,
"replyCount": 1,
"likeCount": 1,
"quoteCount": 0,
"viewCount": 41,
"createdAt": "Sun Mar 15 12:39:40 +0000 2026",
"lang": "en",
"bookmarkCount": 0,
"isReply": false,
"inReplyToId": null,
"conversationId": "2033161206870282353",
"displayTextRange": [
0,
279
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "strickvl",
"url": "https://x.com/strickvl",
"twitterUrl": "https://twitter.com/strickvl",
"id": "244511094",
"name": "Alex Strick van Linschoten",
"isVerified": false,
"isBlueVerified": true,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/1769259889459691520/87SAOSFo_normal.jpg",
"coverPicture": "",
"description": "ML Engineer (@zenml_io), researcher (& author of a few books). π: @strickvl@mathstodon.xyz and π¦: @strickvl.bsky.social. Created https://t.co/fLFfPSwIx8",
"location": "Delft, The Netherlands",
"followers": 3144,
"following": 465,
"status": "",
"canDm": true,
"canMediaTag": false,
"createdAt": "Sat Jan 29 13:38:59 +0000 2011",
"entities": {
"description": {
"urls": [
{
"display_url": "geminibyexample.com",
"expanded_url": "http://geminibyexample.com",
"indices": [
129,
152
],
"url": "https://t.co/fLFfPSwIx8"
}
]
},
"url": {
"urls": [
{
"display_url": "mlops.systems",
"expanded_url": "https://mlops.systems",
"indices": [
0,
23
],
"url": "https://t.co/27SnsA37Bu"
}
]
}
},
"fastFollowersCount": 0,
"favouritesCount": 7477,
"hasCustomTimelines": true,
"isTranslator": false,
"mediaCount": 258,
"statusesCount": 3054,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [
"2000518579200938188"
],
"profile_bio": {},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {},
"card": null,
"place": {},
"entities": {
"hashtags": [
{
"indices": [
1686,
1702
],
"text": "ObjectDetection"
},
{
"indices": [
1703,
1708
],
"text": "Rust"
},
{
"indices": [
1709,
1725
],
"text": "MachineLearning"
},
{
"indices": [
1726,
1741
],
"text": "ComputerVision"
},
{
"indices": [
1742,
1753
],
"text": "OpenSource"
}
],
"symbols": [],
"urls": [],
"user_mentions": []
},
"quoted_tweet": null,
"retweeted_tweet": null,
"article": null
},
"article": null
}