upload:
    rsync -avLh --progress --stats --itemize-changes \
    --exclude='.jj/' \
    --exclude='.git/' \
    --exclude='.devenv/' \
    --exclude='.direnv/' \
    --exclude='deps/' \
    --exclude='outputs/' \
    --exclude='data/versioned_data/' \
    . ial-gpu-workstation-1:/home/ial-pangyg/docker-workspace/projects/mini-nav/

download:
    rsync -avLh --progress --stats --itemize-changes \
    ial-gpu-workstation-1:/home/ial-pangyg/docker-workspace/projects/mini-nav/outputs .

sync-pkgs:
    # micromamba env create -f ./environment.yml
    # export UV_PROJECT_ENVIRONMENT="/workspace/envs/mini-nav/" && uv sync --inexact
    uv sync --inexact

sync-data:
    python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path data/
    python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path data/

ssh:
    ssh \
    -L 127.0.0.1:22001:127.0.0.1:22000 \
    -R 127.0.0.1:22001:127.0.0.1:22000 \
    -L 127.0.0.1:8385:127.0.0.1:8384 \
    -L 127.0.0.1:9098:127.0.0.1:9098 \
    -L 127.0.0.1:2718:172.30.0.2:2718 \
    ial-gpu-workstation-1

docker:
    docker exec -it docker-ial-pangyg bash

marimo +notebook:
    # export UV_PROJECT_ENVIRONMENT="/workspace/envs/mini-nav/" \
    # && uv run marimo edit {{ notebook }} --host 0.0.0.0 --port 2718
    uv run marimo edit {{ notebook }} --host 0.0.0.0 --port 2718 --no-token

add +packages:
    uv add {{ packages }} --no-sync
    just sync-pkgs

remove +packages:
    uv remove {{ packages }} --no-sync
    just sync-pkgs

add-dev +packages:
    uv add {{ packages }} --group dev --no-sync
    just sync-pkgs

remove-dev +packages:
    uv remove {{ packages }} --group dev --no-sync
    just sync-pkgs
