Compare commits

...

4 Commits

Author SHA1 Message Date
Lucas Armand 4e951f4912 test vastai_sdk test package 2026-04-08 13:38:22 -07:00
Lucas Armand f636012685 add test index 2026-04-08 13:18:46 -07:00
Lucas Armand ddb986d561 use test package 2026-04-08 13:12:27 -07:00
Lucas Armand 99a3319e66 Point to vast-cli 2026-04-08 12:30:20 -07:00
4 changed files with 23 additions and 23 deletions
+1 -1
View File
@@ -9,7 +9,7 @@ This repository contains **example PyWorkers** used by Vast.ais default Serve
- Optionally supports FIFO queueing when the backend cannot process concurrent requests - Optionally supports FIFO queueing when the backend cannot process concurrent requests
- Detects readiness/failure from model logs and runs a benchmark to estimate throughput - Detects readiness/failure from model logs and runs a benchmark to estimate throughput
> Important: The **core PyWorker framework** (Worker, WorkerConfig, HandlerConfig, BenchmarkConfig, LogActionConfig) is provided by the **`vastai` / `vastai-sdk`** Python package (https://github.com/vast-ai/vast-sdk). This repo focuses on *worker implementations and examples*, not the framework internals. > Important: The **core PyWorker framework** (Worker, WorkerConfig, HandlerConfig, BenchmarkConfig, LogActionConfig) is provided by the **`vastai`** Python package (https://github.com/vast-ai/vast-cli). This repo focuses on *worker implementations and examples*, not the framework internals.
## Repository Purpose ## Repository Purpose
+4 -4
View File
@@ -1,16 +1,16 @@
# Where did the PyWorker code go? # Where did the PyWorker code go?
We have moved the PyWorker source code into the `vastai-sdk` Python SDK. We have moved the PyWorker source code into the `vastai` Python package.
You can install it with You can install it with
``` ```
pip install vastai-sdk pip install vastai
``` ```
All of the source code can be found here: All of the source code can be found here:
https://github.com/vast-ai/vast-sdk https://github.com/vast-ai/vast-cli
And can be imported from vastai.serverless.server.lib And can be imported from vastai.serverless.server.lib
Serverless instances automatically run the start_server.sh script, which installs the vastai-sdk. Serverless instances automatically run the start_server.sh script, which installs the vastai package.
This is how the PyWorker source code makes it onto your serverless instances. This is how the PyWorker source code makes it onto your serverless instances.
You provide a worker.py file in your PYWORKER_REPO, and the start_server.sh will You provide a worker.py file in your PYWORKER_REPO, and the start_server.sh will
create and run a PyWorker according to your configuration defined in the file. create and run a PyWorker according to your configuration defined in the file.
+1 -1
View File
@@ -1 +1 @@
vastai-sdk>=0.3.0 vastai>=0.3.0
+17 -17
View File
@@ -53,39 +53,39 @@ JSON
exit 1 exit 1
} }
function install_vastai_sdk() { function install_vastai() {
local uv_flags=() local uv_flags=()
if [ "${USE_SYSTEM_PYTHON:-}" = "true" ]; then if [ "${USE_SYSTEM_PYTHON:-}" = "true" ]; then
uv_flags+=(--system --break-system-packages) uv_flags+=(--system --break-system-packages)
fi fi
if [ "$FORCE_UPDATE" = true ]; then if [ "$FORCE_UPDATE" = true ]; then
uv_flags+=(--force-reinstall) uv_flags+=(--force-reinstall)
echo "Force reinstalling vastai-sdk" echo "Force reinstalling vastai"
fi fi
# If SDK_BRANCH is set, install vastai-sdk from the vast-sdk repo at that branch/tag/commit. # If SDK_BRANCH is set, install vastai from the vast-cli repo at that branch/tag/commit.
if [ -n "${SDK_BRANCH:-}" ]; then if [ -n "${SDK_BRANCH:-}" ]; then
if [ -n "${SDK_VERSION:-}" ]; then if [ -n "${SDK_VERSION:-}" ]; then
echo "WARNING: Both SDK_BRANCH and SDK_VERSION are set; using SDK_BRANCH=${SDK_BRANCH}" echo "WARNING: Both SDK_BRANCH and SDK_VERSION are set; using SDK_BRANCH=${SDK_BRANCH}"
fi fi
echo "Installing vastai-sdk from https://github.com/vast-ai/vast-sdk/ @ ${SDK_BRANCH}" echo "Installing vastai from https://github.com/vast-ai/vast-cli/ @ ${SDK_BRANCH}"
if ! uv pip install "${uv_flags[@]}" "vastai-sdk @ git+https://github.com/vast-ai/vast-sdk.git@${SDK_BRANCH}"; then if ! uv pip install "${uv_flags[@]}" "vastai @ git+https://github.com/vast-ai/vast-cli.git@${SDK_BRANCH}"; then
report_error_and_exit "Failed to install vastai-sdk from vast-ai/vast-sdk@${SDK_BRANCH}" report_error_and_exit "Failed to install vastai from vast-ai/vast-cli@${SDK_BRANCH}"
fi fi
return 0 return 0
fi fi
if [ -n "${SDK_VERSION:-}" ]; then if [ -n "${SDK_VERSION:-}" ]; then
echo "Installing vastai-sdk version ${SDK_VERSION}" echo "Installing vastai version ${SDK_VERSION}"
if ! uv pip install "${uv_flags[@]}" "vastai-sdk==${SDK_VERSION}"; then if ! uv pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ "${uv_flags[@]}" "vastai-sdk-vast==${SDK_VERSION}"; then
report_error_and_exit "Failed to install vastai-sdk==${SDK_VERSION}" report_error_and_exit "Failed to install vastai-vast==${SDK_VERSION}"
fi fi
return 0 return 0
fi fi
echo "Installing default vastai-sdk" echo "Installing default vastai"
if ! uv pip install "${uv_flags[@]}" vastai-sdk; then if ! uv pip install "${uv_flags[@]}" vastai; then
report_error_and_exit "Failed to install vastai-sdk" report_error_and_exit "Failed to install vastai"
fi fi
} }
@@ -140,7 +140,7 @@ if [ "${USE_SYSTEM_PYTHON:-}" = "true" ]; then
fi fi
fi fi
fi fi
install_vastai_sdk install_vastai
touch ~/.no_auto_tmux touch ~/.no_auto_tmux
elif [ ! -d "$ENV_PATH" ]; then elif [ ! -d "$ENV_PATH" ]; then
echo "setting up venv" echo "setting up venv"
@@ -197,7 +197,7 @@ elif [ ! -d "$ENV_PATH" ]; then
report_error_and_exit "Failed to install Python requirements" report_error_and_exit "Failed to install Python requirements"
fi fi
install_vastai_sdk install_vastai
if ! touch ~/.no_auto_tmux; then if ! touch ~/.no_auto_tmux; then
report_error_and_exit "Failed to create ~/.no_auto_tmux" report_error_and_exit "Failed to create ~/.no_auto_tmux"
@@ -237,7 +237,7 @@ else
fi fi
fi fi
install_vastai_sdk install_vastai
fi fi
fi fi
@@ -318,8 +318,8 @@ if [ "$IS_DEPLOYMENT" = "true" ]; then
# The s3_key exists in the DB as soon as the deployment is created, but the # The s3_key exists in the DB as soon as the deployment is created, but the
# actual upload may still be in flight from the client side. # actual upload may still be in flight from the client side.
# Install SDK (uses the install_vastai_sdk function which supports SDK_BRANCH/SDK_VERSION) # Install SDK (uses the install_vastai function which supports SDK_BRANCH/SDK_VERSION)
install_vastai_sdk install_vastai
# Run deployment in serve mode # Run deployment in serve mode
export VAST_DEPLOYMENT_MODE=serve export VAST_DEPLOYMENT_MODE=serve
echo "Starting deployment: python3 $DEPLOY_DIR/deployment.py" echo "Starting deployment: python3 $DEPLOY_DIR/deployment.py"