Skip to main content

Skyward

Cloud accelerators with a single decorator

CI PyPI Python License


Skyward Demo

Skyward is a Python library for ephemeral accelerator compute. Spin up cloud accelerators, run your code, and tear them down automatically. No infrastructure to manage, no idle costs.

Quick Example

import skyward as sky

@sky.function
def train(epochs: int) -> dict:
    import torch

    model = torch.nn.Linear(100, 10).cuda()
    optimizer = torch.optim.Adam(model.parameters())

    for epoch in range(epochs):
        loss = model(torch.randn(32, 100, device="cuda")).sum()
        loss.backward()
        optimizer.step()

    return { "final_loss": loss.item() }


with sky.Compute(
    provider=sky.AWS(), 
    accelerator=sky.accelerators.T4(), 
    image=sky.Image(pip=["torch"])
) as compute:
    result = train(epochs=100) >> compute
    print(result)

Features

  • A single API, any cloud — A unified declarative API to run functions on AWS, GCP, Hyperstack, RunPod, TensorDock, VastAI, Verda, and more.
  • Operators, not boilerplate>> executes on one node, @ broadcasts to all, & runs in parallel. No job configs, no YAML.
  • Ephemeral by default — Instances provision on demand and terminate automatically. Context managers guarantee cleanup.
  • Multi-provider support — AWS, GCP, Hyperstack, RunPod, TensorDock, VastAI, Verda with automatic fallback and cost optimization.
  • Distributed training — PyTorch DDP, Keras 3, JAX, TensorFlow, and HuggingFace integration decorators.
  • Distributed collections — Dict, set, counter, queue, barrier, and lock replicated across the cluster.
  • Spot-aware — Automatic spot instance selection, preemption detection, and replacement. Save 60-90% on compute costs.

Install

uv add skyward

Requirements

  • Python 3.12+
  • Cloud provider credentials (setup guide)

Documentation

Full documentation at gabfssilva.github.io/skyward.

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skyward-0.10.0.tar.gz (11.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skyward-0.10.0-py3-none-any.whl (532.4 kB view details)

Uploaded Python 3

File details

Details for the file skyward-0.10.0.tar.gz.

File metadata

  • Download URL: skyward-0.10.0.tar.gz
  • Upload date:
  • Size: 11.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skyward-0.10.0.tar.gz
Algorithm Hash digest
SHA256 82e2cfbe64b3025ad9abcbb8054a13791d4f85a57dd224d36dfaf8fbeb873914
MD5 5592ddab5eba8c9d1c95fa6d3825d19c
BLAKE2b-256 efc761b1385b0f5945ed3b18d168edc0b17a6d16c743ade73b0f851695dc64df

See more details on using hashes here.

Provenance

The following attestation bundles were made for skyward-0.10.0.tar.gz:

Publisher: publish.yml on gabfssilva/skyward

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skyward-0.10.0-py3-none-any.whl.

File metadata

  • Download URL: skyward-0.10.0-py3-none-any.whl
  • Upload date:
  • Size: 532.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skyward-0.10.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8c519f28983ff27b999e2043704068f7081c4776f77587ee02799fd6c61796f5
MD5 ca2818601654d533b42c5a55eeb0aafb
BLAKE2b-256 f82096c9131ce3daff4d4d16caa8523a2952e134a28381b3f3a32e3669234def

See more details on using hashes here.

Provenance

The following attestation bundles were made for skyward-0.10.0-py3-none-any.whl:

Publisher: publish.yml on gabfssilva/skyward

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page