Skip to main content

A Python package for deploying stateful loops

Project description

FastLoop

A Python package for building and deploying stateful loops. We use this at beam.cloud to deploy agents.

Installation

pip install fastloop

Usage

Basic Example

from fastloop import FastLoop, LoopContext, LoopEvent

app = FastLoop(name="my-app")

@app.event("user_message")
class UserMessage(LoopEvent):
    user_id: str
    message: str

@app.loop(name="chat", start_event=UserMessage)
async def chat_loop(context: LoopContext):
    user_msg = await context.wait_for(UserMessage, timeout=5.0)
    print(f"User {user_msg.user_id} sent a message: {user_msg.message}")
    
    # Your loop logic here

    # If you want to stop the loop
    context.stop()

    # If you want to pause the loop
    context.pause()

    # By default, we just run it again

if __name__ == "__main__":
    app.run(port=8000)

Development

This project uses uv for dependency management.

# Install dependencies
uv sync

# Run tests
uv run pytest

# Build package
uv build

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

fastloop-0.1.106.tar.gz (171.2 kB view details)

Uploaded Source

Built Distribution

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

fastloop-0.1.106-py3-none-any.whl (57.7 kB view details)

Uploaded Python 3

File details

Details for the file fastloop-0.1.106.tar.gz.

File metadata

  • Download URL: fastloop-0.1.106.tar.gz
  • Upload date:
  • Size: 171.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for fastloop-0.1.106.tar.gz
Algorithm Hash digest
SHA256 f1f2fa40e5876c37a9074099aab97babe3023e7e01e932c659d4141403aa0c32
MD5 80609b2b2ab82fc9440c29655c7528eb
BLAKE2b-256 b0cb035bdf2b1eefcaac7019a9558c081cee104de7a93cde65bed68d2b1523a0

See more details on using hashes here.

File details

Details for the file fastloop-0.1.106-py3-none-any.whl.

File metadata

  • Download URL: fastloop-0.1.106-py3-none-any.whl
  • Upload date:
  • Size: 57.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for fastloop-0.1.106-py3-none-any.whl
Algorithm Hash digest
SHA256 4b628a74483b433ad1137945d72236da7e023f47b9c5538cee713ed01e624326
MD5 7640a6603b26bcfd5dc7a04eafe3baba
BLAKE2b-256 363ddf84a8bde1b3ae3da3e88ac69d9d2df48e55e9c124130fbfafb3cefee6f1

See more details on using hashes here.

Supported by

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