Universal Data Tool Documentation

repository·master·Indexed 24 days ago

https://github.com/universaldatatool/universal-data-tool

A versatile web and desktop application for annotating and editing diverse datasets, including images, text, audio, and video, to facilitate machine learning workflows. It supports standardized .udt.json and .udt.csv formats and features an extensible plugin system for custom data imports, transformations, labeling, and authentication. The tool can be deployed via Docker, Singularity, or as a native desktop application for Windows, Mac, and Linux.

Tokens
32K
Snippets
9
Records
168
Agent score
84%

What's inside Universal Data Tool

  1. Overview of Universal Data Tool

    master
    Universal Data Tool is a web and desktop application designed for editing and annotating various data types, including images, text, audio, and documents. It supports the extensible .udt.json and .udt.csv data standards. The tool is used for building datasets for machine learning through tasks like image segmentation, text classification, and audio transcription.
  2. Managing integration tests

    master

    When contributing to the project, follow these guidelines for managing tests:

    • What to test: Focus on core functionality that is straightforward to verify. Avoid integration tests for complex parts involving third-party APIs that are prone to frequent breakage.
    • Exclusions: Electron/desktop-specific functionality is currently excluded from integration testing due to specific fixture requirements.
    • Handling intentional breakages: If new functionality intentionally breaks an existing test (e.g., a design overhaul), you may delete the failing *.spec.js file. Note that a maintainer may request a replacement test in some cases.
  3. Set an active DatasetManager using useActiveDatasetManager

    master

    To change the currently active dataset manager in your application, use the useActiveDatasetManager hook. This hook provides the activeDatasetManager state and a setActiveDatasetManager setter function. You can trigger a change by passing a new instance of your DatasetManager to the setter.

    const SomeComponent = () => {
      const [
        activeDatasetManager,
        setActiveDatasetManager,
      ] = useActiveDatasetManager()
    
      return (
        <button onClick={() => setActiveDatasetManager(new MyDatasetManager())}>
          Change to my dataset manager
        </button>
      )
    }
  4. Use plugins to authenticate with a service

    master
    You can create a plugin to add new authentication methods. This will add a new Authentication Method option to the Universal Data Tool home page. Once a user configures the method, the credentials/session are saved and can be used by other parts of the tool, such as for accessing samples or importing data.