fabricatio


Namefabricatio JSON
Version 0.19.8 PyPI version JSON
download
home_pageNone
SummaryA LLM multi-agent framework.
upload_time2025-09-07 04:38:41
maintainerNone
docs_urlNone
authorNone
requires_python<3.14,>=3.12
licenseNone
keywords ai agents multi-agent llm pyo3
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            <p align="center">   
<picture>
        <img src="./assets/band.png" width="80%" alt="Fabricatio Logo" loading="lazy">
</picture>
</p>



<p align="center">
  <a href="LICENSE">
    <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT License">
  </a>
  <a href="https://pypi.org/project/fabricatio/">
    <img src="https://img.shields.io/pypi/pyversions/fabricatio" alt="Python Versions">
  </a>
  <a href="https://pypi.org/project/fabricatio/">
    <img src="https://img.shields.io/pypi/v/fabricatio" alt="PyPI Version">
  </a>
  <a href="https://deepwiki.com/Whth/fabricatio">
    <img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki">
  </a>
  <a href="https://pepy.tech/projects/fabricatio">
    <img src="https://static.pepy.tech/badge/fabricatio/week" alt="PyPI Downloads (Week)">
  </a>
  <a href="https://pepy.tech/projects/fabricatio">
    <img src="https://static.pepy.tech/badge/fabricatio" alt="PyPI Downloads">
  </a>
  <a href="https://github.com/PyO3/pyo3">
    <img src="https://img.shields.io/badge/bindings-pyo3-green" alt="Bindings: PyO3">
  </a>
  <a href="https://github.com/BerriAI/litellm">
    <img src="https://img.shields.io/badge/Powered%20by-LiteLLM-blue" alt="Powered by LiteLLM">
  </a>
  <a href="https://github.com/astral-sh/uv">
    <img src="https://img.shields.io/badge/built%20with-uv%20%2B%20maturin-orange" alt="Build Tool: uv + maturin">
  </a>

</p>


<p align="center">


  <a href="https://github.com/Whth/fabricatio/actions/workflows/build-package.yaml">
    <img src="https://github.com/Whth/fabricatio/actions/workflows/build-package.yaml/badge.svg" alt="Build Package">
  </a>
  <a href="https://github.com/Whth/fabricatio/actions/workflows/ruff.yaml">
    <img src="https://github.com/Whth/fabricatio/actions/workflows/ruff.yaml/badge.svg" alt="Ruff Lint">
  </a>
  <a href="https://github.com/Whth/fabricatio/actions/workflows/tests.yaml">
    <img src="https://github.com/Whth/fabricatio/actions/workflows/tests.yaml/badge.svg" alt="Tests">
  </a>
  <a href="https://coveralls.io/github/Whth/fabricatio?branch=master">
    <img src="https://coveralls.io/repos/github/Whth/fabricatio/badge.svg?branch=master" alt="Coverage Status">
  </a>
  <a href="https://fabricatio.readthedocs.io/en/latest/?badge=fabricatio">
    <img src="https://readthedocs.org/projects/fabricatio/badge/?version=latest" alt="Documentation Status">
  </a>
  <a href="https://github.com/Whth/fabricatio/issues">
    <img src="https://img.shields.io/github/issues/Whth/fabricatio" alt="GitHub Issues">
  </a>
  <a href="https://github.com/Whth/fabricatio/pulls">
    <img src="https://img.shields.io/github/issues-pr/Whth/fabricatio" alt="GitHub Pull Requests">
  </a>
  <a href="https://github.com/Whth/fabricatio/stargazers">
    <img src="https://img.shields.io/github/stars/Whth/fabricatio" alt="GitHub Stars">
  </a>
</p>




---

## Overview

Fabricatio is a streamlined Python library for building LLM applications using an event-based agent structure. It
leverages Rust for performance-critical tasks, Handlebars for templating, and PyO3 for Python bindings.

## Features

- **Event-Driven Architecture**: Robust task management through an EventEmitter pattern.
- **LLM Integration & Templating**: Seamlessly interact with large language models and dynamic content generation.
- **Async & Extensible**: Fully asynchronous execution with easy extension via custom actions and workflows.

## Installation

```bash
# install fabricatio with full capabilities.
pip install fabricatio[full]

# or with uv

uv add fabricatio[full]


# install fabricatio with only rag and rule capabilities.
pip install fabricatio[rag,rule]

# or with uv

uv add fabricatio[rag,rule]

```

You can download the templates from the github release manually and extract them to the work directory.
```bash
curl -L https://github.com/Whth/fabricatio/releases/download/v0.19.1/templates.tar.gz | tar -xz
```
Or you can use the cli `tdown` bundled with `fabricatio` to achieve the same result.

```bash
tdown download --verbose -o ./
```
> Note: `fabricatio` performs template discovery across multiple sources with filename-based identification. Template resolution follows a priority hierarchy where working directory templates override templates located in `<ROAMING>/fabricatio/templates`.



## Usage

### Basic Example

```python
"""Example of a simple hello world program using fabricatio."""

from typing import Any

# Import necessary classes from the namespace package.
from fabricatio import Action, Event, Role, Task, WorkFlow, logger

# Create an action.
class Hello(Action):
    """Action that says hello."""
    
    output_key: str = "task_output"

    async def _execute(self, **_) -> Any:
        ret = "Hello fabricatio!"
        logger.info("executing talk action")
        return ret


# Create the role and register the workflow.
(Role()
 .register_workflow(Event.quick_instantiate("talk"), WorkFlow(name="talk", steps=(Hello,)))
 .dispatch())


# Make a task and delegate it to the workflow registered above.
assert Task(name="say hello").delegate_blocking("talk") == "Hello fabricatio!"

```

### Examples

For various usage scenarios, refer to the following examples:

- Simple Chat
- Retrieval-Augmented Generation (RAG)
- Article Extraction
- Propose Task
- Code Review
- Write Outline

_(For full example details, see [Examples](./examples))_

## Configuration

Fabricatio supports flexible configuration through multiple sources, with the following priority order:
`Call Arguments` > `./.env` > `Environment Variables` > `./fabricatio.toml` > `./pyproject.toml` > `<ROMANING>/fabricatio/fabricatio.toml` > `Builtin Defaults`.

Below is a unified view of the same configuration expressed in different formats:

### Environment variables or dotenv file
```dotenv
FABRICATIO_LLM__API_ENDPOINT=https://api.openai.com
FABRICATIO_LLM__API_KEY=your_openai_api_key
FABRICATIO_LLM__TIMEOUT=300
FABRICATIO_LLM__MAX_RETRIES=3
FABRICATIO_LLM__MODEL=openai/gpt-3.5-turbo
FABRICATIO_LLM__TEMPERATURE=1.0
FABRICATIO_LLM__TOP_P=0.35
FABRICATIO_LLM__GENERATION_COUNT=1
FABRICATIO_LLM__STREAM=false
FABRICATIO_LLM__MAX_TOKENS=8192
FABRICATIO_DEBUG__LOG_LEVEL=INFO
```

### `fabricatio.toml` file
```toml
[llm]
api_endpoint = "https://api.openai.com"
api_key = "your_openai_api_key"
timeout = 300
max_retries = 3
model = "openai/gpt-3.5-turbo"
temperature = 1.0
top_p = 0.35
generation_count = 1
stream = false
max_tokens = 8192

[debug]
log_level = "INFO"
```

### `pyproject.toml` file
```toml
[tool.fabricatio.llm]
api_endpoint = "https://api.openai.com"
api_key = "your_openai_api_key"
timeout = 300
max_retries = 3
model = "openai/gpt-3.5-turbo"
temperature = 1.0
top_p = 0.35
generation_count = 1
stream = false
max_tokens = 8192

[tool.fabricatio.debug]
log_level = "INFO"
```

## Contributing

We welcome contributions from everyone! Before contributing, please read our [Contributing Guide](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).

## License

Fabricatio is licensed under the MIT License. See [LICENSE](LICENSE) for details.

## Acknowledgments

Special thanks to the contributors and maintainers of:

- [PyO3](https://github.com/PyO3/pyo3)
- [Maturin](https://github.com/PyO3/maturin)
- [Handlebars.rs](https://github.com/sunng87/handlebars-rust)
- [LiteLLM](https://github.com/BerriAI/litellm)


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "fabricatio",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.14,>=3.12",
    "maintainer_email": null,
    "keywords": "ai, agents, multi-agent, llm, pyo3",
    "author": null,
    "author_email": "Whth <zettainspector@foxmail.com>",
    "download_url": null,
    "platform": null,
    "description": "<p align=\"center\">   \n<picture>\n        <img src=\"./assets/band.png\" width=\"80%\" alt=\"Fabricatio Logo\" loading=\"lazy\">\n</picture>\n</p>\n\n\n\n<p align=\"center\">\n  <a href=\"LICENSE\">\n    <img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT License\">\n  </a>\n  <a href=\"https://pypi.org/project/fabricatio/\">\n    <img src=\"https://img.shields.io/pypi/pyversions/fabricatio\" alt=\"Python Versions\">\n  </a>\n  <a href=\"https://pypi.org/project/fabricatio/\">\n    <img src=\"https://img.shields.io/pypi/v/fabricatio\" alt=\"PyPI Version\">\n  </a>\n  <a href=\"https://deepwiki.com/Whth/fabricatio\">\n    <img src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\">\n  </a>\n  <a href=\"https://pepy.tech/projects/fabricatio\">\n    <img src=\"https://static.pepy.tech/badge/fabricatio/week\" alt=\"PyPI Downloads (Week)\">\n  </a>\n  <a href=\"https://pepy.tech/projects/fabricatio\">\n    <img src=\"https://static.pepy.tech/badge/fabricatio\" alt=\"PyPI Downloads\">\n  </a>\n  <a href=\"https://github.com/PyO3/pyo3\">\n    <img src=\"https://img.shields.io/badge/bindings-pyo3-green\" alt=\"Bindings: PyO3\">\n  </a>\n  <a href=\"https://github.com/BerriAI/litellm\">\n    <img src=\"https://img.shields.io/badge/Powered%20by-LiteLLM-blue\" alt=\"Powered by LiteLLM\">\n  </a>\n  <a href=\"https://github.com/astral-sh/uv\">\n    <img src=\"https://img.shields.io/badge/built%20with-uv%20%2B%20maturin-orange\" alt=\"Build Tool: uv + maturin\">\n  </a>\n\n</p>\n\n\n<p align=\"center\">\n\n\n  <a href=\"https://github.com/Whth/fabricatio/actions/workflows/build-package.yaml\">\n    <img src=\"https://github.com/Whth/fabricatio/actions/workflows/build-package.yaml/badge.svg\" alt=\"Build Package\">\n  </a>\n  <a href=\"https://github.com/Whth/fabricatio/actions/workflows/ruff.yaml\">\n    <img src=\"https://github.com/Whth/fabricatio/actions/workflows/ruff.yaml/badge.svg\" alt=\"Ruff Lint\">\n  </a>\n  <a href=\"https://github.com/Whth/fabricatio/actions/workflows/tests.yaml\">\n    <img src=\"https://github.com/Whth/fabricatio/actions/workflows/tests.yaml/badge.svg\" alt=\"Tests\">\n  </a>\n  <a href=\"https://coveralls.io/github/Whth/fabricatio?branch=master\">\n    <img src=\"https://coveralls.io/repos/github/Whth/fabricatio/badge.svg?branch=master\" alt=\"Coverage Status\">\n  </a>\n  <a href=\"https://fabricatio.readthedocs.io/en/latest/?badge=fabricatio\">\n    <img src=\"https://readthedocs.org/projects/fabricatio/badge/?version=latest\" alt=\"Documentation Status\">\n  </a>\n  <a href=\"https://github.com/Whth/fabricatio/issues\">\n    <img src=\"https://img.shields.io/github/issues/Whth/fabricatio\" alt=\"GitHub Issues\">\n  </a>\n  <a href=\"https://github.com/Whth/fabricatio/pulls\">\n    <img src=\"https://img.shields.io/github/issues-pr/Whth/fabricatio\" alt=\"GitHub Pull Requests\">\n  </a>\n  <a href=\"https://github.com/Whth/fabricatio/stargazers\">\n    <img src=\"https://img.shields.io/github/stars/Whth/fabricatio\" alt=\"GitHub Stars\">\n  </a>\n</p>\n\n\n\n\n---\n\n## Overview\n\nFabricatio is a streamlined Python library for building LLM applications using an event-based agent structure. It\nleverages Rust for performance-critical tasks, Handlebars for templating, and PyO3 for Python bindings.\n\n## Features\n\n- **Event-Driven Architecture**: Robust task management through an EventEmitter pattern.\n- **LLM Integration & Templating**: Seamlessly interact with large language models and dynamic content generation.\n- **Async & Extensible**: Fully asynchronous execution with easy extension via custom actions and workflows.\n\n## Installation\n\n```bash\n# install fabricatio with full capabilities.\npip install fabricatio[full]\n\n# or with uv\n\nuv add fabricatio[full]\n\n\n# install fabricatio with only rag and rule capabilities.\npip install fabricatio[rag,rule]\n\n# or with uv\n\nuv add fabricatio[rag,rule]\n\n```\n\nYou can download the templates from the github release manually and extract them to the work directory.\n```bash\ncurl -L https://github.com/Whth/fabricatio/releases/download/v0.19.1/templates.tar.gz | tar -xz\n```\nOr you can use the cli `tdown` bundled with `fabricatio` to achieve the same result.\n\n```bash\ntdown download --verbose -o ./\n```\n> Note: `fabricatio` performs template discovery across multiple sources with filename-based identification. Template resolution follows a priority hierarchy where working directory templates override templates located in `<ROAMING>/fabricatio/templates`.\n\n\n\n## Usage\n\n### Basic Example\n\n```python\n\"\"\"Example of a simple hello world program using fabricatio.\"\"\"\n\nfrom typing import Any\n\n# Import necessary classes from the namespace package.\nfrom fabricatio import Action, Event, Role, Task, WorkFlow, logger\n\n# Create an action.\nclass Hello(Action):\n    \"\"\"Action that says hello.\"\"\"\n    \n    output_key: str = \"task_output\"\n\n    async def _execute(self, **_) -> Any:\n        ret = \"Hello fabricatio!\"\n        logger.info(\"executing talk action\")\n        return ret\n\n\n# Create the role and register the workflow.\n(Role()\n .register_workflow(Event.quick_instantiate(\"talk\"), WorkFlow(name=\"talk\", steps=(Hello,)))\n .dispatch())\n\n\n# Make a task and delegate it to the workflow registered above.\nassert Task(name=\"say hello\").delegate_blocking(\"talk\") == \"Hello fabricatio!\"\n\n```\n\n### Examples\n\nFor various usage scenarios, refer to the following examples:\n\n- Simple Chat\n- Retrieval-Augmented Generation (RAG)\n- Article Extraction\n- Propose Task\n- Code Review\n- Write Outline\n\n_(For full example details, see [Examples](./examples))_\n\n## Configuration\n\nFabricatio supports flexible configuration through multiple sources, with the following priority order:\n`Call Arguments` > `./.env` > `Environment Variables` > `./fabricatio.toml` > `./pyproject.toml` > `<ROMANING>/fabricatio/fabricatio.toml` > `Builtin Defaults`.\n\nBelow is a unified view of the same configuration expressed in different formats:\n\n### Environment variables or dotenv file\n```dotenv\nFABRICATIO_LLM__API_ENDPOINT=https://api.openai.com\nFABRICATIO_LLM__API_KEY=your_openai_api_key\nFABRICATIO_LLM__TIMEOUT=300\nFABRICATIO_LLM__MAX_RETRIES=3\nFABRICATIO_LLM__MODEL=openai/gpt-3.5-turbo\nFABRICATIO_LLM__TEMPERATURE=1.0\nFABRICATIO_LLM__TOP_P=0.35\nFABRICATIO_LLM__GENERATION_COUNT=1\nFABRICATIO_LLM__STREAM=false\nFABRICATIO_LLM__MAX_TOKENS=8192\nFABRICATIO_DEBUG__LOG_LEVEL=INFO\n```\n\n### `fabricatio.toml` file\n```toml\n[llm]\napi_endpoint = \"https://api.openai.com\"\napi_key = \"your_openai_api_key\"\ntimeout = 300\nmax_retries = 3\nmodel = \"openai/gpt-3.5-turbo\"\ntemperature = 1.0\ntop_p = 0.35\ngeneration_count = 1\nstream = false\nmax_tokens = 8192\n\n[debug]\nlog_level = \"INFO\"\n```\n\n### `pyproject.toml` file\n```toml\n[tool.fabricatio.llm]\napi_endpoint = \"https://api.openai.com\"\napi_key = \"your_openai_api_key\"\ntimeout = 300\nmax_retries = 3\nmodel = \"openai/gpt-3.5-turbo\"\ntemperature = 1.0\ntop_p = 0.35\ngeneration_count = 1\nstream = false\nmax_tokens = 8192\n\n[tool.fabricatio.debug]\nlog_level = \"INFO\"\n```\n\n## Contributing\n\nWe welcome contributions from everyone! Before contributing, please read our [Contributing Guide](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## License\n\nFabricatio is licensed under the MIT License. See [LICENSE](LICENSE) for details.\n\n## Acknowledgments\n\nSpecial thanks to the contributors and maintainers of:\n\n- [PyO3](https://github.com/PyO3/pyo3)\n- [Maturin](https://github.com/PyO3/maturin)\n- [Handlebars.rs](https://github.com/sunng87/handlebars-rust)\n- [LiteLLM](https://github.com/BerriAI/litellm)\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A LLM multi-agent framework.",
    "version": "0.19.8",
    "project_urls": {
        "Homepage": "https://github.com/Whth/fabricatio",
        "Issues": "https://github.com/Whth/fabricatio/issues",
        "Repository": "https://github.com/Whth/fabricatio"
    },
    "split_keywords": [
        "ai",
        " agents",
        " multi-agent",
        " llm",
        " pyo3"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2ff13b9ae2414d6e3a17c1655a7b42cd173014270d022005643c7fbeaefc8142",
                "md5": "6d7752ee7a6019b95292d1d1e1878eb8",
                "sha256": "77e8fe51f184201954485e784a75d6ecaf295a64bc75e84943016386c336e72f"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "6d7752ee7a6019b95292d1d1e1878eb8",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 1036527,
            "upload_time": "2025-09-07T04:38:41",
            "upload_time_iso_8601": "2025-09-07T04:38:41.251411Z",
            "url": "https://files.pythonhosted.org/packages/2f/f1/3b9ae2414d6e3a17c1655a7b42cd173014270d022005643c7fbeaefc8142/fabricatio-0.19.8-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6e4927339ca91dc8e4cbc7caea417d280c98c1190048f97d165489fb941ee1fb",
                "md5": "01f2273813085c0fc57d14fcf0624ac8",
                "sha256": "0c56a600ca1952d63d078e91a24849caaa12cdb2ec0dbbee13f0147461657bdb"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp312-cp312-manylinux_2_34_aarch64.whl",
            "has_sig": false,
            "md5_digest": "01f2273813085c0fc57d14fcf0624ac8",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 1096719,
            "upload_time": "2025-09-07T04:37:47",
            "upload_time_iso_8601": "2025-09-07T04:37:47.163919Z",
            "url": "https://files.pythonhosted.org/packages/6e/49/27339ca91dc8e4cbc7caea417d280c98c1190048f97d165489fb941ee1fb/fabricatio-0.19.8-cp312-cp312-manylinux_2_34_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "caa039b059d01c1e5de86dfce4c349f75e4f7452b2209c9d98a1c71dfab83959",
                "md5": "04b901527386e51d89d971d13a2bc18e",
                "sha256": "c96095754d17d4feee2e1655df62f806997b05e2651f12a5adef1708ca84c204"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp312-cp312-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "04b901527386e51d89d971d13a2bc18e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 1162538,
            "upload_time": "2025-09-07T04:38:14",
            "upload_time_iso_8601": "2025-09-07T04:38:14.065401Z",
            "url": "https://files.pythonhosted.org/packages/ca/a0/39b059d01c1e5de86dfce4c349f75e4f7452b2209c9d98a1c71dfab83959/fabricatio-0.19.8-cp312-cp312-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c22711084ce3264a2b8a0e04501c780668ee39e46f07607fa6dc3d30d3d07e23",
                "md5": "6b87cc2c4d7b0fc09bca0106d15c0f57",
                "sha256": "c7726e8f121c43605f2851d9471cd9eba226ff931db5eeb633220d3f3e6654a0"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6b87cc2c4d7b0fc09bca0106d15c0f57",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 945021,
            "upload_time": "2025-09-07T04:44:00",
            "upload_time_iso_8601": "2025-09-07T04:44:00.875575Z",
            "url": "https://files.pythonhosted.org/packages/c2/27/11084ce3264a2b8a0e04501c780668ee39e46f07607fa6dc3d30d3d07e23/fabricatio-0.19.8-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ac861c756bad62b3d638148a2ab740cb47f96e32a046d4dc1f687850a7312b75",
                "md5": "5342b53a227cb60d28733f7d48d8e479",
                "sha256": "3608f89a5fa9bcdb45defc371779467b01a6f024f8221eaf420cde836b1cc5c8"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "5342b53a227cb60d28733f7d48d8e479",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 1037258,
            "upload_time": "2025-09-07T04:40:10",
            "upload_time_iso_8601": "2025-09-07T04:40:10.373197Z",
            "url": "https://files.pythonhosted.org/packages/ac/86/1c756bad62b3d638148a2ab740cb47f96e32a046d4dc1f687850a7312b75/fabricatio-0.19.8-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0525a0890bcb43ac2ebf9dba12f48b78131c1c40c4f0a3a7974ac12ad5027821",
                "md5": "36dd0b4457118f95ff4b3ca0927a3351",
                "sha256": "8ec015770d520ec24647a3c58dc3f432cdbe9f2013561e0435cae526ffda1007"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp313-cp313-manylinux_2_34_aarch64.whl",
            "has_sig": false,
            "md5_digest": "36dd0b4457118f95ff4b3ca0927a3351",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 1097139,
            "upload_time": "2025-09-07T04:38:12",
            "upload_time_iso_8601": "2025-09-07T04:38:12.488714Z",
            "url": "https://files.pythonhosted.org/packages/05/25/a0890bcb43ac2ebf9dba12f48b78131c1c40c4f0a3a7974ac12ad5027821/fabricatio-0.19.8-cp313-cp313-manylinux_2_34_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d19e7af1af9cdb7796af3344c08337cf47f67001a05c65a793eba8c033345482",
                "md5": "9bc9b49c5348b8bcc7fe57aab1cb23a0",
                "sha256": "a47cbba93f43872cee4287c0668d1edb7b5680e20f2361f399ae95a1b50927b2"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp313-cp313-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9bc9b49c5348b8bcc7fe57aab1cb23a0",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 1162452,
            "upload_time": "2025-09-07T04:38:42",
            "upload_time_iso_8601": "2025-09-07T04:38:42.042925Z",
            "url": "https://files.pythonhosted.org/packages/d1/9e/7af1af9cdb7796af3344c08337cf47f67001a05c65a793eba8c033345482/fabricatio-0.19.8-cp313-cp313-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "af0cd0458bbcd7f6f7bc47e998c1acaaea3b1153b8e305e18a8bf53438a43a87",
                "md5": "32c59472f89076a1d769e67b2e9473e9",
                "sha256": "e36d5dab37a4dbec2249e722a3c60503613dfb7ada6357e5911647cc35e23ebd"
            },
            "downloads": -1,
            "filename": "fabricatio-0.19.8-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "32c59472f89076a1d769e67b2e9473e9",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 945702,
            "upload_time": "2025-09-07T04:44:52",
            "upload_time_iso_8601": "2025-09-07T04:44:52.582621Z",
            "url": "https://files.pythonhosted.org/packages/af/0c/d0458bbcd7f6f7bc47e998c1acaaea3b1153b8e305e18a8bf53438a43a87/fabricatio-0.19.8-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-07 04:38:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Whth",
    "github_project": "fabricatio",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "fabricatio"
}
        
Elapsed time: 2.84497s