lasagna-ai


Namelasagna-ai JSON
Version 0.18.0 PyPI version JSON
download
home_pageNone
SummaryLayered agents!
upload_time2025-08-18 01:36:46
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseNone
keywords agent agents ai hierarchical layered layers llm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Lasagna AI Logo](https://raw.githubusercontent.com/Rhobota/lasagna-ai/main/logos/lasagna-ai.png)

# Lasagna AI

[![PyPI - Version](https://img.shields.io/pypi/v/lasagna-ai.svg)](https://pypi.org/project/lasagna-ai)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/lasagna-ai.svg)](https://pypi.org/project/lasagna-ai)
![Test Status](https://github.com/Rhobota/lasagna-ai/actions/workflows/test.yml/badge.svg?branch=main)
[![Downloads](https://static.pepy.tech/badge/lasagna-ai)](https://pepy.tech/project/lasagna-ai)

- 📚 **Official Docs:** [https://lasagna-ai.rhobota.com/](https://lasagna-ai.rhobota.com/)

- 🥞  **Layered agents!**
  - Agents for your agents!
  - Tool-use, structured output ("extraction"), and layering FTW 💪
  - Ever wanted a _recursive_ agent? Now you can have one! 🤯
  - _Parallel_ tool-calling by default.
  - Fully asyncio.
  - 100% Python type hints.
  - Functional-style 😎
  - (optional) Easy & pluggable caching! 🏦

- 🚣  **Streamable!**
  - Event streams for _everything_.
  - Asyncio generators are awesome.

- 🗃️ **Easy database integration!**
  - Don't rage when trying to store raw messages and token counts. 😡 🤬
  - Yes, you _can_ have _both_ streaming and easy database storage.

- ↔️ **Provider/model agnostic and interoperable!**
  - Core support for [OpenAI](https://platform.openai.com/docs/models), [Anthropic](https://docs.anthropic.com/en/docs/welcome), and [AWS Bedrock](https://docs.aws.amazon.com/bedrock/).
  - Experimental support for [Ollama](https://ollama.com/search) and [NVIDIA NIM/NGC](https://build.nvidia.com/explore/reasoning).
  - Message representations are canonized. 😇
  - Supports vision!
  - Easily build committees!
  - Swap providers or models mid-conversation.
  - Delegate tasks among model providers or model sizes.
  - Parallelize all the things.

-----

## Table of Contents

- [Installation](#installation)
- [Used By](#used-by)
- [Debug Logging](#debug-logging)
- [Special Thanks](#special-thanks)
- [License](#license)

## Installation

```console
pip install -U lasagna-ai[openai,anthropic,bedrock]
```

If you want to easily run all the [./examples](./examples), then you can
install the extra dependencies used by those examples:

```console
pip install -U lasagna-ai[openai,anthropic,bedrock,example-deps]
```

## Used By

Lasagna AI is used in production by:

[![AutoAuto](https://raw.githubusercontent.com/Rhobota/lasagna-ai/main/logos/autoauto.png)](https://www.autoauto.ai/)

## Debug Logging

This library logs using Python's builtin `logging` module. It logs mostly to `INFO`, so here's a snippet of code you can put in _your_ app to see those traces:

```python
import logging

logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
)

# ... now use Lasagna as you normally would, but you'll see extra log traces!
```

## Special Thanks

Special thanks to those who inspired this library:
- Numa Dhamani (buy her book: [Introduction to Generative AI](https://a.co/d/03dHnRmX))
- Dave DeCaprio's [voice-stream library](https://github.com/DaveDeCaprio/voice-stream)

## License

`lasagna-ai` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.

## Joke Acronym

Layered Agents with toolS And aGeNts and Ai

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "lasagna-ai",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "agent, agents, ai, hierarchical, layered, layers, llm",
    "author": null,
    "author_email": "Ryan Henning <ryan@rhobota.com>",
    "download_url": "https://files.pythonhosted.org/packages/ab/3b/25616636c2122c6d3ae4110ff82eea0594d834e9c9d4046e0dd48f45e63d/lasagna_ai-0.18.0.tar.gz",
    "platform": null,
    "description": "![Lasagna AI Logo](https://raw.githubusercontent.com/Rhobota/lasagna-ai/main/logos/lasagna-ai.png)\n\n# Lasagna AI\n\n[![PyPI - Version](https://img.shields.io/pypi/v/lasagna-ai.svg)](https://pypi.org/project/lasagna-ai)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/lasagna-ai.svg)](https://pypi.org/project/lasagna-ai)\n![Test Status](https://github.com/Rhobota/lasagna-ai/actions/workflows/test.yml/badge.svg?branch=main)\n[![Downloads](https://static.pepy.tech/badge/lasagna-ai)](https://pepy.tech/project/lasagna-ai)\n\n- \ud83d\udcda **Official Docs:** [https://lasagna-ai.rhobota.com/](https://lasagna-ai.rhobota.com/)\n\n- \ud83e\udd5e  **Layered agents!**\n  - Agents for your agents!\n  - Tool-use, structured output (\"extraction\"), and layering FTW \ud83d\udcaa\n  - Ever wanted a _recursive_ agent? Now you can have one! \ud83e\udd2f\n  - _Parallel_ tool-calling by default.\n  - Fully asyncio.\n  - 100% Python type hints.\n  - Functional-style \ud83d\ude0e\n  - (optional) Easy & pluggable caching! \ud83c\udfe6\n\n- \ud83d\udea3  **Streamable!**\n  - Event streams for _everything_.\n  - Asyncio generators are awesome.\n\n- \ud83d\uddc3\ufe0f **Easy database integration!**\n  - Don't rage when trying to store raw messages and token counts. \ud83d\ude21 \ud83e\udd2c\n  - Yes, you _can_ have _both_ streaming and easy database storage.\n\n- \u2194\ufe0f **Provider/model agnostic and interoperable!**\n  - Core support for [OpenAI](https://platform.openai.com/docs/models), [Anthropic](https://docs.anthropic.com/en/docs/welcome), and [AWS Bedrock](https://docs.aws.amazon.com/bedrock/).\n  - Experimental support for [Ollama](https://ollama.com/search) and [NVIDIA NIM/NGC](https://build.nvidia.com/explore/reasoning).\n  - Message representations are canonized. \ud83d\ude07\n  - Supports vision!\n  - Easily build committees!\n  - Swap providers or models mid-conversation.\n  - Delegate tasks among model providers or model sizes.\n  - Parallelize all the things.\n\n-----\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Used By](#used-by)\n- [Debug Logging](#debug-logging)\n- [Special Thanks](#special-thanks)\n- [License](#license)\n\n## Installation\n\n```console\npip install -U lasagna-ai[openai,anthropic,bedrock]\n```\n\nIf you want to easily run all the [./examples](./examples), then you can\ninstall the extra dependencies used by those examples:\n\n```console\npip install -U lasagna-ai[openai,anthropic,bedrock,example-deps]\n```\n\n## Used By\n\nLasagna AI is used in production by:\n\n[![AutoAuto](https://raw.githubusercontent.com/Rhobota/lasagna-ai/main/logos/autoauto.png)](https://www.autoauto.ai/)\n\n## Debug Logging\n\nThis library logs using Python's builtin `logging` module. It logs mostly to `INFO`, so here's a snippet of code you can put in _your_ app to see those traces:\n\n```python\nimport logging\n\nlogging.basicConfig(\n    level=logging.INFO,\n    format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',\n)\n\n# ... now use Lasagna as you normally would, but you'll see extra log traces!\n```\n\n## Special Thanks\n\nSpecial thanks to those who inspired this library:\n- Numa Dhamani (buy her book: [Introduction to Generative AI](https://a.co/d/03dHnRmX))\n- Dave DeCaprio's [voice-stream library](https://github.com/DaveDeCaprio/voice-stream)\n\n## License\n\n`lasagna-ai` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.\n\n## Joke Acronym\n\nLayered Agents with toolS And aGeNts and Ai\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Layered agents!",
    "version": "0.18.0",
    "project_urls": {
        "Documentation": "https://lasagna-ai.rhobota.com/",
        "Issues": "https://github.com/Rhobota/lasagna-ai/issues",
        "Source": "https://github.com/Rhobota/lasagna-ai"
    },
    "split_keywords": [
        "agent",
        " agents",
        " ai",
        " hierarchical",
        " layered",
        " layers",
        " llm"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9fb4efc86b5ede8210f01ea8bd16abf6afcd867454ce440b797451f6022bcddc",
                "md5": "ed99c47aaff9054fb510dc682520373d",
                "sha256": "6f2d28872b6f834de4ce9e29479f7f87e44e6860495bb60523ace10bffe2a745"
            },
            "downloads": -1,
            "filename": "lasagna_ai-0.18.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ed99c47aaff9054fb510dc682520373d",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 54888,
            "upload_time": "2025-08-18T01:36:45",
            "upload_time_iso_8601": "2025-08-18T01:36:45.700859Z",
            "url": "https://files.pythonhosted.org/packages/9f/b4/efc86b5ede8210f01ea8bd16abf6afcd867454ce440b797451f6022bcddc/lasagna_ai-0.18.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ab3b25616636c2122c6d3ae4110ff82eea0594d834e9c9d4046e0dd48f45e63d",
                "md5": "37de4317bf846f37b8849f7aabb314c3",
                "sha256": "333bbbc82e9abeda63252c68d6e084e085aa7c1c6f8537d493e5c7db4fdb206d"
            },
            "downloads": -1,
            "filename": "lasagna_ai-0.18.0.tar.gz",
            "has_sig": false,
            "md5_digest": "37de4317bf846f37b8849f7aabb314c3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 179647,
            "upload_time": "2025-08-18T01:36:46",
            "upload_time_iso_8601": "2025-08-18T01:36:46.726709Z",
            "url": "https://files.pythonhosted.org/packages/ab/3b/25616636c2122c6d3ae4110ff82eea0594d834e9c9d4046e0dd48f45e63d/lasagna_ai-0.18.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-18 01:36:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Rhobota",
    "github_project": "lasagna-ai",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "lasagna-ai"
}
        
Elapsed time: 0.93710s