Ango Hub
Ango Hub is a quality-focused, enterprise-ready data annotation platform for AI teams, available on cloud and on-premise. It supports computer vision, medical imaging, NLP, audio, video, and 3D point cloud annotation, powering use cases from autonomous driving and robotics to healthcare AI.
Built for AI fine-tuning, RLHF, LLM evaluation, and human-in-the-loop workflows, Ango Hub boosts throughput with automation, model-assisted pre-labeling, and customizable QA while maintaining accuracy. Features include centralized instructions, review pipelines, issue tracking, and consensus across up to 30 annotators. With nearly twenty labeling tools—such as rotated bounding boxes, label relations, nested conditional questions, and table-based labeling—it supports both simple and complex projects. It also enables annotation pipelines for chain-of-thought reasoning and next-gen LLM training and enterprise-grade security with HIPAA compliance, SOC 2 certification, and role-based access controls.
Learn more
Jellyfish
Jellyfish, a leading Software Engineering Intelligence platform, helps engineering, product, and finance leaders build healthier, higher-performing R&D teams.
We surface actionable insights on team health, investment allocation, and delivery, while offering purpose-built solutions to improve developer experience, streamline software capitalization, and measure the impact of AI tools like Copilot, Cursor, and AmazonQ.
Over 500 organizations and 11,000 engineering teams—including GoodRX, Varo, Priceline, and PagerDuty—trust Jellyfish to optimize engineering operations so their teams can focus on what matters most. Learn more at jellyfish.co.
Learn more
waiting
waiting is a small library for waiting for stuff to happen. It basically waits for a function to return True, in various modes. Waiting is compatible with flux for simulated timelines. The most basic usage is when you have a function you want to wait for. Waiting forever is very simple. If your predicate returns a value, it will be returned as the result of wait(). A timeout parameter can also be specified. When a timeout expires without the predicate being fulfilled, an exception is thrown. Sleeping polls the predicate at a certain interval (by default 1 second). The interval can be changed with the sleep_seconds argument. When waiting for multiple predicates, waiting provides two simple facilities to help aggregate them, any and all. They resemble Python’s built-in any() and all(), except that they don’t call a predicate once it has been satisfied (this is useful when the predicates are inefficient and take time to complete).
Learn more