> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lazycloud.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

> The global CLI, the SDK in a project, upgrades, and where sign-in state lives.

LazyCloud installs with [uv](https://docs.astral.sh/uv/getting-started/installation/).
The client supports Python 3.10 or newer.

## Install the CLI

```bash theme={null}
uv tool install lazycloud-client
lazycloud login
```

`lazycloud` is then on your path for downloading examples and managing your
account from any directory.

## Add the SDK to a project

```bash theme={null}
uv add lazycloud-client
```

`uv run lazycloud` and `uv run python` use the project's pinned SDK. A new
project starts with `uv init my-project`. `pyproject.toml` and `uv.lock` belong
in version control, and `uv sync --locked` reproduces them in CI.

Packages your code needs remotely go in the workload's
[image](/concepts/images), not in your local environment.

## Upgrade

```bash theme={null}
uv tool upgrade lazycloud-client     # the global CLI
uv run lazycloud update              # a project, within its pyproject.toml constraints
```

A downloaded example pins an exact SDK version.
`uv add "lazycloud-client==<version>"` moves it to another release.

## Sign-in state

The CLI keeps sign-in state under `~/.lazycloud`, shared by the global and
project commands. `LAZYCLOUD_HOME` moves it.
