Skip to main content

Lab22 CLI

lab22 is the command-line tool for downloading the datasets you are licensed for on the Lab22 platform. It needs Python 3.9 or newer and nothing beyond the standard library.

Install

python3 -m venv ~/lab22-venv           # Python 3.9 or newer; the one macOS ships is fine
source ~/lab22-venv/bin/activate
pip3 install lab22

Use

export LAB22_API_KEY=l22_sk_live_...   # from the API Keys page; the only way to authenticate
                                       # (older keys start vz_sk_live_ and work too)

lab22 datasets                         # what you can download, and where to request access
lab22 describe ego4d                   # its parts, and the values each filter takes, with file counts
lab22 download ego4d -o ~/lab22-data/ego4d --parts clips annotations --benchmarks FHO --dry-run
lab22 download ego4d -o ~/lab22-data/ego4d --parts clips annotations --benchmarks FHO -y
lab22 verify ~/lab22-data/ego4d --checksum

python3 -m lab22 works the same as lab22.

A command written for the official ego4d or egoexo tool runs unchanged with lab22 in front. lab22 ego4d and lab22 egoexo take the official tools' options, with their spellings, abbreviations and defaults, and accept the AWS options and ignore them. They add four options of their own, which work only when spelled in full: --dry-run, --shard N/M, --refresh-manifest and --ignore-disk-space.

lab22 ego4d -o ~/lab22-data/ego4d --datasets clips --benchmarks EM --dry-run
lab22 egoexo -o ~/lab22-data/egoexo4d --parts annotations metadata -y

lab22 download <dataset> takes the official tools' options, spellings and defaults as well (--parts/--datasets, --uids/--video_uids, --uid-file, --universities, --benchmarks, --splits, --views, --metadata/--no-metadata, --version/--release, --config_path, --list-datasets, --manifest, --force, --delete), with the AWS options accepted and ignored. On top: --shard N/M for splitting one download across machines, --workers, --dry-run, -y, and --refresh-manifest. A dry run fetches nothing but does create the output folder and save the manifest in it, so the real run that follows targets the same release. Files land in the official layout under -o; .lab22/ inside it holds the saved manifest, a log and a done-record per run. Rerunning the same command skips completed files; a file that was interrupted starts again from its beginning. Interrupted or failed downloads leave *.part files, which a run and verify report and never delete (shards may share a folder); delete them when no run is using the folder.

Exit codes: 0 done · 1 usage · 2 key problem · 3 not entitled · 4 incomplete/unreachable.

The full guide is on the Lab22 platform, signed in, under Documentation → CLI: installation, API keys, choosing what to download, each dataset's parts and layout, verifying, large and sharded downloads, a command reference and troubleshooting. Its source is docs/ in the source repository; working on the CLI itself is covered in DEVELOPMENT.md there.

Coming from vizo

lab22 is the new name of the vizo CLI, with the same commands and options. pip3 install --upgrade vizo installs lab22 and keeps a vizo command that runs it, so existing scripts keep working; pip3 install lab22 installs it directly. If you installed vizo with pipx, run pipx install lab22.

VIZO_API_KEY and VIZO_API_URL are still read when the LAB22_ variables are not set, and keys that start with vz_sk_live_ still work.

Keep downloading into the folders you already have, such as ~/vizo-data/ego4d, and leave their .vizo/ folder where it is. lab22 keeps using it, so a download resumes as before. Upgrade vizo on every machine and in every job that writes to your folders, because vizo 0.0.x knows only .vizo/. In a folder lab22 started, it makes a new .vizo/ beside .lab22/, which lab22 then refuses, and its --delete deletes what is in .lab22/.

Metadata

Release files for lab22 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lab22 0.1.0
File Size Uploaded Provenance Actions
lab22-0.1.0.tar.gz 61.4 kB With provenance Details for lab22-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lab22 0.1.0
File Interpreter ABI Platform Actions
lab22-0.1.0-py3-none-any.whl Python 3 none any Details for lab22-0.1.0-py3-none-any.whl

Total release size: 130.5 kB

Release files / lab22-0.1.0.tar.gz

Download URL lab22-0.1.0.tar.gz
Size 61.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6d9e5bb85d34f6faa4cfee29f91bc9d9c09dabc475e5f589febf790a4d33c7f8
BLAKE2b-256 checksum
How to use checksums
d412a33391e3e150bce4edd1facf8730c1bc08b35a51e845711ce7e90a945159
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Release files / lab22-0.1.0-py3-none-any.whl

Download URL lab22-0.1.0-py3-none-any.whl
Size 69.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9d1cdfab6d0a8648fe5a7c8720c282e06740c26a8d9d3b052affe1a9de57cc55
BLAKE2b-256 checksum
How to use checksums
3e98a773cbab14db51642643e7a7a4b2ca56026d23b904ec5aeb4dc43762ffb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

Security for lab22 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for lab22-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 28, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page