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.1.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.1.0
File Size Uploaded Provenance
shiftlabs-0.1.0.tar.gz 6.7 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 14.4 kB

Release files / shiftlabs-0.1.0.tar.gz

Download URL shiftlabs-0.1.0.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1f0d323672d1f5ebded8c0f248cd0a06d7157e134b72b89106e5202a3ef593bc
BLAKE2b-256 checksum
How to use checksums
767c688d2db775441998d10b42cc23f157fd98be924badfbbb9b2195e1857419
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.1.0-py3-none-any.whl

Download URL shiftlabs-0.1.0-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69c9af1a9a14ac87a539d13188ac01a2b6e9744bf32e4ea999e1f6881a32c102
BLAKE2b-256 checksum
How to use checksums
5fa60604c97162d8cef3601f23a0fc14ff62e34c47c81ab79e4f279776198590
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.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.

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