fastloop


Namefastloop JSON
Version 0.1.20 PyPI version JSON
download
home_pageNone
SummaryA Python package for deploying stateful loops
upload_time2025-07-14 01:30:15
maintainerNone
docs_urlNone
authorNone
requires_python>=3.12
licenseMIT
keywords agentic ai baml workflow
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # FastLoop

A Python package for building and deploying stateful loops.

## Installation

```bash
pip install fastloop
```

## Usage

### Basic Example

```python
from fastloop import FastLoop, LoopContext, LoopEvent

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

@app.event("start")
class StartEvent(LoopEvent):
    user_id: str
    message: str

@app.loop(name="chat", start_event=StartEvent)
async def chat_loop(context: LoopContext):
    # Get the initial event
    start_event = await context.wait_for(StartEvent)
    print(f"User {start_event.user_id} started chat: {start_event.message}")
    
    # Your loop logic here
    context.stop()

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

## Development

This project uses `uv` for dependency management.

```bash
# Install dependencies
uv sync

# Run tests
uv run pytest

# Build package
uv build
```

## License

[Add your license here] 
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "fastloop",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.12",
    "maintainer_email": null,
    "keywords": "agentic, ai, baml, workflow",
    "author": null,
    "author_email": "Luke Lombardi <luke@beaml.cloud>",
    "download_url": "https://files.pythonhosted.org/packages/b8/24/5c3a30b7de2aac42e6b1cc72275851fc862d97332dc1e166a01133ff7954/fastloop-0.1.20.tar.gz",
    "platform": null,
    "description": "# FastLoop\n\nA Python package for building and deploying stateful loops.\n\n## Installation\n\n```bash\npip install fastloop\n```\n\n## Usage\n\n### Basic Example\n\n```python\nfrom fastloop import FastLoop, LoopContext, LoopEvent\n\napp = FastLoop(name=\"my-app\")\n\n@app.event(\"start\")\nclass StartEvent(LoopEvent):\n    user_id: str\n    message: str\n\n@app.loop(name=\"chat\", start_event=StartEvent)\nasync def chat_loop(context: LoopContext):\n    # Get the initial event\n    start_event = await context.wait_for(StartEvent)\n    print(f\"User {start_event.user_id} started chat: {start_event.message}\")\n    \n    # Your loop logic here\n    context.stop()\n\nif __name__ == \"__main__\":\n    app.run(port=8000)\n```\n\n## Development\n\nThis project uses `uv` for dependency management.\n\n```bash\n# Install dependencies\nuv sync\n\n# Run tests\nuv run pytest\n\n# Build package\nuv build\n```\n\n## License\n\n[Add your license here] ",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Python package for deploying stateful loops",
    "version": "0.1.20",
    "project_urls": {
        "Homepage": "https://github.com/beam-cloud/fastloop",
        "Issues": "https://github.com/beam-cloud/fastloop/issues",
        "Repository": "https://github.com/beam-cloud/fastloop"
    },
    "split_keywords": [
        "agentic",
        " ai",
        " baml",
        " workflow"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ea4db84d8013732f6692b3db355c9d6b965fd22022af2c8bfa0d2233a84acc3b",
                "md5": "5e543c804d83c79c5fb9686eb8fdf4cd",
                "sha256": "a37fc255eaf795b68a9d345634436d58f00002aaad4f8eac397ca241880dd59a"
            },
            "downloads": -1,
            "filename": "fastloop-0.1.20-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5e543c804d83c79c5fb9686eb8fdf4cd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.12",
            "size": 22322,
            "upload_time": "2025-07-14T01:30:13",
            "upload_time_iso_8601": "2025-07-14T01:30:13.967763Z",
            "url": "https://files.pythonhosted.org/packages/ea/4d/b84d8013732f6692b3db355c9d6b965fd22022af2c8bfa0d2233a84acc3b/fastloop-0.1.20-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b8245c3a30b7de2aac42e6b1cc72275851fc862d97332dc1e166a01133ff7954",
                "md5": "936d1df5dd6ce09883400d4a51aa2307",
                "sha256": "2289812d1d8e71a89260965abb9c706b1d4d448f273bc6cc628e665c53b7db8b"
            },
            "downloads": -1,
            "filename": "fastloop-0.1.20.tar.gz",
            "has_sig": false,
            "md5_digest": "936d1df5dd6ce09883400d4a51aa2307",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.12",
            "size": 83868,
            "upload_time": "2025-07-14T01:30:15",
            "upload_time_iso_8601": "2025-07-14T01:30:15.255932Z",
            "url": "https://files.pythonhosted.org/packages/b8/24/5c3a30b7de2aac42e6b1cc72275851fc862d97332dc1e166a01133ff7954/fastloop-0.1.20.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-14 01:30:15",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "beam-cloud",
    "github_project": "fastloop",
    "github_not_found": true,
    "lcname": "fastloop"
}
        
Elapsed time: 0.51345s