Pusk — Python-first function cloud
Write Python, run it remotely. Pusk is a Python-first function/task cloud:
decorate a function, call .remote(), and it executes on a self-hostable
control plane — no vendor lock-in, no proprietary runtime.
import pusk
app = pusk.App("reports")
@app.function(timeout=60, memory=256)
def build_report(customer_id: str) -> dict: ...
Quickstart
pip install pusk
pusk setup --token pusk_... --api-url https://api.pusk.example
pusk run hello.py::app/greet '{"name":"world"}'
Key features
from_name— reconnect to a deployed function by name (no import needed)map— fan-out parallel calls with bounded concurrency, results in input order- Schedules —
app.schedule(fn, cron="0 6 * * *")orPeriod(30.0)for periodic runs - Web endpoints —
@web_endpoint(method="GET")exposes a function as HTTP - Secrets —
Secret.from_name("API_KEY"); values never live in the SDK - Image builder —
Image.debian_slim()with pip fast-path and BuildKit support - TUI — interactive terminal UI (
pip install pusk[tui]) - CLI streaming — live call output streaming via
pusk run
Modal parity callout
Pusk delivers Modal-like developer experience — same decorator-based DX,
same .remote() / .spawn() / .map() semantics — but is self-hostable
and MIT-licensed. No vendor lock-in, no proprietary runtime, no per-invocation
billing from a third party. Your cluster, your code, your rules.
Documentation
Source
License
MIT — see LICENSE.
Metadata
Release files for pusk 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pusk-0.1.0.tar.gz | 188.2 kB | Without provenance | Details for pusk-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pusk-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for pusk-0.1.0-py3-none-any.whl |
Total release size: 301.5 kB
Release files / pusk-0.1.0.tar.gz
| Download URL | pusk-0.1.0.tar.gz |
|---|---|
| Size | 188.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8e32c4299632c79c7bbd0275269e206f4fe45a481db2254268bb49776932c76
|
|
BLAKE2b-256 checksum How to use checksums |
594fead99a7b41820c7184dcdd66babd30e5f461c8ce118df6de8dcbaf6558bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / pusk-0.1.0-py3-none-any.whl
| Download URL | pusk-0.1.0-py3-none-any.whl |
|---|---|
| Size | 113.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a9f4bf3916cab9de7f2a1fba4dc3e8a5cc517ccab69a7691f7b9a8c0516ea961
|
|
BLAKE2b-256 checksum How to use checksums |
c382f9622a95d445fa401bdd8da980aee03de9f6cbe0d984ae70a26b9f5acdd1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for pusk 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.