Metadata-Version: 2.1
Name: timestep
Version: 13.0.0a19
Summary: Timestep AI 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: 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: 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: respx (>=0.21.1,<0.22.0)
Requires-Dist: skypilot-nightly[aws,kubernetes,paperspace] (>=1.0.0.dev20241216,<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 AI

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

## Project Structure

```
src/timestep/
│
├── infra/                  # Infrastructure management
│   ├── cloud_management/   # Cloud instance operations
│   │   └── cloud_instance_controller.py
│   │       - Manages cloud instances using Apache Libcloud
│   │
│   ├── cluster_management/ # Kubernetes cluster management
│   │   └── k3s_cluster_controller.py
│   │       - Manages K3s Kubernetes clusters
│   │
│   └── workload_management/ # Workload orchestration
│       └── sky_workload_controller.py
│           - Manages computational workloads using SkyPilot
│
└── pipelines/              # Data and ML pipeline components
    ├── data_engineering/   # Data preparation stage
    │   └── task.yaml
    │
    ├── machine_learning/   # Model development stage
    │   └── task.yaml
    │
    └── model_deployment/   # Model deployment and monitoring
        └── task.yaml
```

**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 AI platform.

## `timestep up`

Start up the Timestep AI platform.

**Usage**:

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

**Options**:

* `--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
* `--clean / --no-clean`: Clean up  [default: no-clean]
* `--dev / --no-dev`: Development mode  [default: no-dev]
* `--down / --no-down`: Down  [default: no-down]
* `--host TEXT`: Host  [default: 0.0.0.0]
* `--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
* `--port INTEGER`: Port  [default: 8000]
* `--ssh-key TEXT`: Path to the SSH key  [default: ~/.ssh/id_ed25519]
* `--help`: Show this message and exit.

