universaldatatool

Interact with any kind of kind of data directly in a jupyter notebook.


License
MIT
Install
pip install universaldatatool==0.0.4

Documentation

Universal Data Tool Python

Python module for data labeling leveraging the Universal Data Tool.

Features

Usage

pip install universaldatatool
import universaldatatool as udt

ds = udt.Dataset(
    type="image_segmentation",
    image_paths=["/path/to/birds/good_bird.jpg","/path/to/birds/bird2.jpg"],
    labels=["good bird", "bad bird"]
)

# Opens dataset directly in jupyter notebook
ds.open()

API

Submodules

  • udt.nb: jupyter notebook widget

Methods

  • udt.load_json(file_path): Load UDT File from json
  • udt.load_csv(file_path): Load UDT File from csv
  • udt.Dataset(type=None, image_paths=None, labels=None)
  • udt.Interface(type=None, labels=None): Create UDT interface
  • udt.Sample(image_url=None, document=None, ...) : Create UDT Sample
  • udt.nb.display(udt_file): Display Universal Data Tool widget

TODOs

  • image_path, video_path etc. support
  • Better Docs
  • Usage Examples
  • Load CSV or JSON from files
  • Collaborative synchronization w/ universaldatatool.com
  • edit/open should check that there are no local paths
  • Helpful stringification
  • Make it easy to run tests
  • Image Segmentation kills jupyter notebook scrolling
  • Make JupyterLab Extension 1 2 3
  • Continuous integration testing via Github Actions
  • Cypress browser testing

Development

Running Cypress Tests

Cypress will automatically open a browser and create jupyter notebooks with different test scenarios. It's really fast for developing and testing. To use it, you must first run our jupyter docker container, which mounts volumes properly such that universaldatatool can be imported. To do this, run:

yarn start:jupyter

A jupyter notebook is now running in the background.

You can now run the cypress tests in development mode by running...

yarn cy:run

An electron browser will open with automated tests.

How To Test

Each file in the universaldatatool/tests directory can be tested with pytest e.g.

python -m pytest universaldatatool/tests/example1.py

Releasing