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.35.tar.gz (84.4 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.35-py3-none-any.whl (22.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fastloop-0.1.35.tar.gz
  • Upload date:
  • Size: 84.4 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.35.tar.gz
Algorithm Hash digest
SHA256 cf7e715b69fa73c017b0bee3e0463b36da828cd89d65af5b4980323d1c5e0700
MD5 2094ed998e907544566c38fa41a3f1ef
BLAKE2b-256 2b92b8e65414058db388b6bcbd5d020956bd8bbf79b92c7a3a0f1d90cb088208

See more details on using hashes here.

File details

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

File metadata

  • Download URL: fastloop-0.1.35-py3-none-any.whl
  • Upload date:
  • Size: 22.9 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.35-py3-none-any.whl
Algorithm Hash digest
SHA256 7b11c1f7501fd383c0cd1def59813233a638dd3f5b9fe9c9510009d107e08d8a
MD5 80aa7f899a6e8e1a1e1bf50873939cba
BLAKE2b-256 db02db1705ec200ff6a56621c6d072a83e52e1ce99e939a2c75a76478569dbe9

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