Metadata-Version: 2.1
Name: timestep
Version: 13.0.0a40
Summary: Timestep CLI - free, local-first, open-source AI
License: MIT
Author: Michael James Schock
Author-email: m@mjschock.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: apache-libcloud (>=3.8.0,<4.0.0)
Requires-Dist: asgi-lifespan (>=2.1.0,<3.0.0)
Requires-Dist: connexion[swagger-ui,uvicorn] (>=3.1.0,<4.0.0)
Requires-Dist: docker (>=7.1.0,<8.0.0)
Requires-Dist: fastapi (>=0.115.6,<0.116.0)
Requires-Dist: flet (>=0.25.2,<0.26.0)
Requires-Dist: flet-web (>=0.25.2,<0.26.0)
Requires-Dist: kubernetes (>=31.0.0,<32.0.0)
Requires-Dist: openai (>=1.58.1,<2.0.0)
Requires-Dist: paramiko (>=3.5.0,<4.0.0)
Requires-Dist: pydantic-settings (>=2.7.0,<3.0.0)
Requires-Dist: pyhelm3 (>=0.4.0,<0.5.0)
Requires-Dist: respx (>=0.21.1,<0.22.0)
Requires-Dist: salad-cloud-sdk (>=0.9.0a5,<0.10.0)
Requires-Dist: skypilot-nightly[do,kubernetes,paperspace] (>=1.0.0.dev20250107,<2.0.0)
Requires-Dist: sqlmodel (>=0.0.22,<0.0.23)
Requires-Dist: sse-starlette (>=2.1.2,<3.0.0)
Requires-Dist: starlette-context (>=0.3.6,<0.4.0)
Requires-Dist: typer[all] (>=0.15.1,<0.16.0)
Requires-Dist: uvicorn (>=0.34.0,<0.35.0)
Requires-Dist: websockets (>=14.1,<15.0)
Description-Content-Type: text/markdown

# Timestep

Timestep CLI - free, local-first, open-source AI

## Project Structure

```
src/timestep/
│
├── infra/                  # Infrastructure management
│   ├── cloud/              # Cloud instance management
│   │   └── cloud_instance_controller.py
│   │       - Manages cloud instances using Apache Libcloud
│   │
│   ├── k3s/                # K3s Kubernetes cluster management
│   │   └── k3s_cluster_controller.py
│   │       - Manages K3s Kubernetes clusters
│   │
│   └── sky/                # SkyPilot workload management
│       └── sky_workload_controller.py
│           - Manages computational workloads using SkyPilot
│
|── pipelines/             # Pipelines
|   ├── data_engineering/  # Data engineering pipeline
|   │   └── task.yaml
|   │       - SkyPilot task specification
|   ├── machine_learning/   # Machine learning pipeline
|   │   └── task.yaml
|   │       - SkyPilot task specification
|   ├── model_deployment/   # Model deployment pipeline
|   │   └── task.yaml
|   │       - SkyPilot task specification
|   └── model_monitoring/   # Model monitoring pipeline
|       └── task.yaml
|           - SkyPilot task specification
|
└── services/              # Services
    ├── backend/           # Backend service
    │   └── main.py
    │       - FastAPI backend service
    │
    └── frontend/          # Frontend service
        └── main.py
            - Flet frontend service
```

**Development Setup**:

```console
$ python3 -m pip install --upgrade pip
$ python3 -m pip install --user pipx
$ python3 -m pipx ensurepath
$ pipx install poetry==1.8.3
$ cp .env.example .env
$ direnv allow # See https://direnv.net/#getting-started
$ make
$ timestep up --dev
```

**Library Setup**:

```console
$ python3 -m pip install --upgrade pip
$ python3 -m pip install --user pipx
$ python3 -m pipx ensurepath
$ pipx install timestep
$ timestep up
```

**Usage**:

```console
$ timestep [OPTIONS] COMMAND [ARGS]...
```

**Options**:

* `--install-completion`: Install completion for the current shell.
* `--show-completion`: Show completion for the current shell, to copy it or customize the installation.
* `--help`: Show this message and exit.

**Commands**:

* `up`: Start up the Timestep platform.

## `timestep up`

Start up the Timestep platform.

**Usage**:

```console
$ timestep up [OPTIONS]
```

**Options**:

* `--accept-defaults / --no-accept-defaults`: Accept defaults and skip prompts  [default: no-accept-defaults]
* `--allowed-image-ids TEXT`: Allowed image IDs to filter by  [default: ami-0e7c4f6b17a66658a]
* `--allowed-image-names TEXT`: Allowed image names to filter by  [default: 24.04 LTS, 24.04 (LTS) x64, Ubuntu 24.04 LTS]
* `--allowed-location-countries TEXT`: Allowed location countries to filter by
* `--allowed-location-ids TEXT`: Allowed location IDs to filter by
* `--allowed-location-names TEXT`: Allowed location names to filter by
* `--down / --no-down`: Down  [default: no-down]
* `--min-bandwidth INTEGER`: Minimum bandwidth in GB
* `--min-cpu INTEGER`: Minimum CPU count  [default: 2]
* `--min-disk INTEGER`: Minimum disk size in GB  [default: 10]
* `--min-ram INTEGER`: Minimum RAM in MB  [default: 4000]
* `--name TEXT`: Name  [default: timestep]
* `--providers TEXT`: Providers to filter by
* `--ssh-key TEXT`: Path to the SSH key  [default: ~/.ssh/id_ed25519]
* `--help`: Show this message and exit.

