Skip to main content

WilData CLI Reference

Complete command-line interface reference for the wildata CLI.

WilData uses Typer for its CLI, providing dataset import, transformation, ROI extraction, visualization, GPS management, and a REST API server.

wildata [COMMAND] [OPTIONS]

version

Show version information.

wildata version

import-dataset

Import a dataset from various formats (COCO, YOLO, Label Studio) into the WilData pipeline.

wildata import-dataset [SOURCE_PATH] [OPTIONS]

You can use either a config file (--config) or provide arguments directly — not both.

wildata import-dataset --config configs/import-config-example.yaml

Using Direct Arguments

wildata import-dataset annotations.json --format coco --name my_dataset

All Options

Argument / OptionTypeDefaultDescription
SOURCE_PATHPATHNonePath to source dataset (argument)
-c, --configPATHNonePath to YAML config file
-f, --formatstrNoneSource format: coco, yolo, or ls
-n, --namestrNoneDataset name
-r, --rootstrdataRoot directory for data storage
-s, --splitstrtrainSplit name: train, val, or test
-m, --modestrbatchProcessing mode: streaming or batch
--track-dvcboolfalseTrack dataset with DVC
--bbox-toleranceint5Bounding box validation tolerance
--dotenvstrNonePath to .env file
--ls-configstrNoneLabel Studio XML config path
--parse-ls-configboolfalseParse Label Studio config
--disable-roiboolfalseDisable ROI extraction
-v, --verboseboolfalseVerbose output

Transformation Options

OptionTypeDefaultDescription
--enable-bbox-clippingboolNoneEnable bounding box clipping
--bbox-clipping-toleranceint5Bbox clipping tolerance
--skip-invalid-bboxboolfalseSkip invalid bounding boxes
--enable-augmentationboolNoneEnable data augmentation
--aug-probfloat1.0Augmentation probability
--num-augsint2Number of augmentations per image
--enable-tilingboolNoneEnable image tiling
--tile-sizeint512Tile size in pixels
--tile-strideint416Tile stride in pixels
--min-visibilityfloat0.1Minimum visibility ratio for bboxes in tiles

Examples:

# From config (recommended for production)
wildata import-dataset -c configs/import-config-example.yaml

# Direct with tiling
wildata import-dataset annotations.json \
--format coco \
--name wildlife_train \
--enable-tiling \
--tile-size 800 \
--tile-stride 640

# With verbose output
wildata import-dataset -c my_config.yaml -v

See Import Config Reference for full YAML config documentation.


bulk-import-datasets

Bulk import multiple datasets from all files in a directory using multiprocessing.

wildata bulk-import-datasets [OPTIONS]
OptionTypeDefaultDescription
-c, --configPATH(required)Path to YAML config file
-v, --verboseboolfalseVerbose output
-n, --num-workersint2Number of parallel workers

Each file in the source directory is imported as a separate dataset. Dataset names are derived from filenames.

Example:

wildata bulk-import-datasets -c configs/bulk-import-train.yaml -n 4

create-roi-dataset

Create an ROI (Region of Interest) classification dataset from a source detection dataset.

wildata create-roi-dataset [OPTIONS]
OptionTypeDefaultDescription
-c, --configPATH(required)Path to YAML config file
-v, --verboseboolfalseVerbose output

Example:

wildata create-roi-dataset -c configs/roi-create-config.yaml

See ROI Config Reference for config documentation.


bulk-create-roi-datasets

Bulk create ROI datasets from all files in a directory using multiprocessing.

wildata bulk-create-roi-datasets [OPTIONS]
OptionTypeDefaultDescription
-c, --configPATH(required)Path to YAML config file
-v, --verboseboolfalseVerbose output
-n, --num-workersint2Number of parallel workers

Example:

wildata bulk-create-roi-datasets -c configs/bulk-roi-create-config.yaml -n 4

list-datasets

List all available datasets in the data root.

wildata list-datasets [OPTIONS]
OptionTypeDefaultDescription
-r, --rootstrdataRoot directory for data storage
-v, --verboseboolfalseShow detailed info per dataset

Example:

# Basic listing
wildata list-datasets

# With details
wildata list-datasets -v --root D:/data

visualize-classification

Visualize a classification dataset in FiftyOne.

wildata visualize-classification DATASET_NAME [OPTIONS]
Argument / OptionTypeDefaultDescription
DATASET_NAMEstr(required)Name for the FiftyOne dataset
--rootstrNoneRoot data directory
--single-classboolfalseLoad as single class
--background-classstrbackgroundBackground class name
--single-class-namestrwildlifeSingle class name
--keep-classesstrNoneComma-separated list of classes to keep
--discard-classesstrNoneComma-separated list of classes to discard
--splitstrtrainDataset split

Example:

wildata visualize-classification my_roi_dataset \
--root D:/data/roi \
--single-class \
--split train

visualize-detection

Visualize a detection dataset in FiftyOne.

wildata visualize-detection DATASET_NAME [OPTIONS]
Argument / OptionTypeDefaultDescription
DATASET_NAMEstr(required)Name for the FiftyOne dataset
--rootstr(required)Root data directory
--splitstrtrainDataset split

Example:

wildata visualize-detection my_detection_dataset --root D:/data/detection --split val

update-gps-from-csv

Update EXIF GPS metadata for images using coordinates from a CSV file.

wildata update-gps-from-csv [OPTIONS]

You can use either a config file (--config) or provide arguments directly — not both.

All Options

OptionTypeDefaultDescription
-c, --configPATHNonePath to YAML config file
-i, --image-folderPATHNonePath to folder containing images
--csvPATHNonePath to CSV file with GPS coordinates
-o, --outputPATHNoneOutput directory for updated images
--skip-rowsint0Number of rows to skip in CSV
--filename-colstrfilenameCSV column name for filenames
--lat-colstrlatitudeCSV column name for latitude
--lon-colstrlongitudeCSV column name for longitude
--alt-colstraltitudeCSV column name for altitude
-v, --verboseboolfalseVerbose output

Examples:

# Using config file
wildata update-gps-from-csv -c configs/gps-update-config-example.yaml

# Using direct arguments
wildata update-gps-from-csv \
--image-folder images/ \
--csv coordinates.csv \
--output updated_images/ \
--skip-rows 4

See GPS Update Config Reference for YAML config details.


api — API Server Commands

REST API server for programmatic access to WilData features.

api serve

Start the WilData API server.

wildata api serve [OPTIONS]
OptionTypeDefaultDescription
-h, --hoststr0.0.0.0Host to bind to
-p, --portint8000Port to bind to
-r, --reloadboolfalseEnable auto-reload
-w, --workersint1Number of worker processes

Example:

wildata api serve --port 8080 --workers 4

API documentation is available at http://<host>:<port>/docs.


api check

Check current API configuration values.

wildata api check

Quick Reference

CommandDescription
wildata import-dataset -c CONFIGImport dataset from config
wildata bulk-import-datasets -c CONFIGBulk import datasets
wildata create-roi-dataset -c CONFIGCreate ROI dataset
wildata bulk-create-roi-datasets -c CONFIGBulk create ROI datasets
wildata list-datasetsList all datasets
wildata visualize-classification NAMEVisualize classification data
wildata visualize-detection NAME --root DIRVisualize detection data
wildata update-gps-from-csv -c CONFIGUpdate image GPS from CSV
wildata api serveStart REST API server
wildata versionShow version

For configuration file details, see Configuration Reference.
For shell scripts, see WilData Scripts.