Skip to main content

shiftlabs

Type hints for shiftlabs workflows written in Python.

uv add --dev shiftlabs   # or: pip install shiftlabs
from shiftlabs import Context, workflow


async def charge(invoice_id: str) -> dict[str, str]:
    ...


@workflow(payload={"type": "object", "properties": {"id": {"type": "string"}}, "required": ["id"]})
async def refund_check(ctx: Context) -> dict[str, str]:
    charged = await ctx.step.run("charge", charge, ctx.payload["id"], retries={"limit": 3, "delay": "10 seconds"})
    ctx.log.info("charged", {"id": charged["id"]})
    return charged

The package is for your editor and type checker. You don't need it at run time: the platform adds the same module to every Python workflow when you deploy, at the version the platform runs.

Run npx shiftlabs types to write shiftlabs_types.pyi with your workspace's secret and var names. After that, ctx.secrets.NAME and ctx.vars.NAME only accept those names.

Docs: docs.shiftlabs.org.

Metadata

Release files for shiftlabs 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shiftlabs 0.2.0
File Size Uploaded Provenance
shiftlabs-0.2.0.tar.gz 9.2 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for shiftlabs 0.2.0
File Interpreter ABI Platform
shiftlabs-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.4 kB

Release files / shiftlabs-0.2.0.tar.gz

Download URL shiftlabs-0.2.0.tar.gz
Size 9.2 kB
Tags Source
SHA-256 checksum
How to use checksums
337fbf80d8b1cb828532338d392552bcaa07df6dbc3d722b3afc23d12771f36e
BLAKE2b-256 checksum
How to use checksums
ff7de472bbe360a42411127d121e0dc56a5295fbf506c413bdf5d5f161d1d934
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / shiftlabs-0.2.0-py3-none-any.whl

Download URL shiftlabs-0.2.0-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdd202db439bb6071ce78f264e990baeb0f84ef1b1d728dad496c8503a56e797
BLAKE2b-256 checksum
How to use checksums
c6e2f2a2aa4a4fa9f86ead2a47f1196e2bfcdc1ecf4126805e130de57b4bd1b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for shiftlabs 0.2.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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page