fabricatio


Namefabricatio JSON
Version 0.18.0 PyPI version JSON
download
home_pageNone
SummaryA LLM multi-agent framework.
upload_time2025-07-23 13:49:10
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]

```


## Usage

### Basic Example

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

from typing import Any

from fabricatio import Action, Event, Role, Task, WorkFlow, logger


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

    """Main function."""


(Role()
 .register_workflow(Event.quick_instantiate("talk"), WorkFlow(name="talk", steps=(Hello,)))
 .dispatch())

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, please check our detailed documentation, 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\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\nfrom fabricatio import Action, Event, Role, Task, WorkFlow, logger\n\n\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    \"\"\"Main function.\"\"\"\n\n\n(Role()\n .register_workflow(Event.quick_instantiate(\"talk\"), WorkFlow(name=\"talk\", steps=(Hello,)))\n .dispatch())\n\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, please check our detailed documentation, 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.18.0",
    "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": "61cbf88d9aa627e4d8e0d3e28548878adaeecc94bb4f9a1f7199d855b9b53d00",
                "md5": "0a045cba40a0df44e6089d98464bfe7c",
                "sha256": "21660aebc4854bf54b7c0b35ba067dac3324f356eec5255d5d63dd7cc87a6efe"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp312-cp312-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "0a045cba40a0df44e6089d98464bfe7c",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 1943002,
            "upload_time": "2025-07-23T13:49:10",
            "upload_time_iso_8601": "2025-07-23T13:49:10.269008Z",
            "url": "https://files.pythonhosted.org/packages/61/cb/f88d9aa627e4d8e0d3e28548878adaeecc94bb4f9a1f7199d855b9b53d00/fabricatio-0.18.0-cp312-cp312-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f066a67f40f5edd7c123efc125f8324daa56048abf8707a053a3c72093a8206d",
                "md5": "f1e5fba1eb95e1f4e2bb0e13be58257a",
                "sha256": "e05c62f295b4b1e64a58abe137b903860cb32410a6407ad5e61f834a6ce704fe"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp312-cp312-manylinux_2_34_aarch64.whl",
            "has_sig": false,
            "md5_digest": "f1e5fba1eb95e1f4e2bb0e13be58257a",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 2064813,
            "upload_time": "2025-07-23T13:48:53",
            "upload_time_iso_8601": "2025-07-23T13:48:53.109945Z",
            "url": "https://files.pythonhosted.org/packages/f0/66/a67f40f5edd7c123efc125f8324daa56048abf8707a053a3c72093a8206d/fabricatio-0.18.0-cp312-cp312-manylinux_2_34_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "6cbc345f096fa262fe04d8f723e5f55ef45dcd3e332ef064d6e0d0ddeff5c9dd",
                "md5": "4462d2db86ccc52c0fe6ad14617bab2d",
                "sha256": "ba033c138216a548b70cf84798645d21b4ad0a55538359c68080bbefd8f37e49"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp312-cp312-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4462d2db86ccc52c0fe6ad14617bab2d",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 2089031,
            "upload_time": "2025-07-23T13:49:23",
            "upload_time_iso_8601": "2025-07-23T13:49:23.809831Z",
            "url": "https://files.pythonhosted.org/packages/6c/bc/345f096fa262fe04d8f723e5f55ef45dcd3e332ef064d6e0d0ddeff5c9dd/fabricatio-0.18.0-cp312-cp312-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "37ff38c4a61a3a9e1cc3d7319bbd842a4349fb972aa67ae1efa31ae310530152",
                "md5": "5e32da2722e4b03b32e47c0a8c036e7e",
                "sha256": "914f933ed7d9dde2bc233b5cd035dc5e3654328b93c15893217183fcab4056d4"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp312-cp312-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "5e32da2722e4b03b32e47c0a8c036e7e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": "<3.14,>=3.12",
            "size": 1615153,
            "upload_time": "2025-07-23T13:54:14",
            "upload_time_iso_8601": "2025-07-23T13:54:14.890992Z",
            "url": "https://files.pythonhosted.org/packages/37/ff/38c4a61a3a9e1cc3d7319bbd842a4349fb972aa67ae1efa31ae310530152/fabricatio-0.18.0-cp312-cp312-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c1ffc2bdc9b968cda871d6abab8a0d9120ff8e45b7e27d4afe4016b6fca9540a",
                "md5": "32e0f5cacbbed7bc6de27322386ef571",
                "sha256": "b6f0d81556c19a4b2e904b70d64ff12f0dd0f5fd76e62273cec467709ed7e056"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp313-cp313-macosx_11_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "32e0f5cacbbed7bc6de27322386ef571",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 1943041,
            "upload_time": "2025-07-23T13:48:41",
            "upload_time_iso_8601": "2025-07-23T13:48:41.800690Z",
            "url": "https://files.pythonhosted.org/packages/c1/ff/c2bdc9b968cda871d6abab8a0d9120ff8e45b7e27d4afe4016b6fca9540a/fabricatio-0.18.0-cp313-cp313-macosx_11_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2c07fcb0a8bf493818c356923ed2588bd19a4938a2f10626e72dce254b124f5a",
                "md5": "5f530e08ed287fc4d2c93ef5656d1a94",
                "sha256": "424e826d1749f741d724cf35a2805136f7c68372132f27851805b9e3f8852634"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp313-cp313-manylinux_2_34_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5f530e08ed287fc4d2c93ef5656d1a94",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 2064905,
            "upload_time": "2025-07-23T13:48:19",
            "upload_time_iso_8601": "2025-07-23T13:48:19.693552Z",
            "url": "https://files.pythonhosted.org/packages/2c/07/fcb0a8bf493818c356923ed2588bd19a4938a2f10626e72dce254b124f5a/fabricatio-0.18.0-cp313-cp313-manylinux_2_34_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9b71fb147051488b906a1e09448d09723dde0b80135b5d303d2530f5e2ee05c4",
                "md5": "7a98b4510491ddb3b3468310b8ad4251",
                "sha256": "e27a1a4272e7f542d3c1960dff5ce6efb804c16d71ea7a3a94bdb8fbfbfe1c5a"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp313-cp313-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7a98b4510491ddb3b3468310b8ad4251",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 2088763,
            "upload_time": "2025-07-23T13:49:30",
            "upload_time_iso_8601": "2025-07-23T13:49:30.876622Z",
            "url": "https://files.pythonhosted.org/packages/9b/71/fb147051488b906a1e09448d09723dde0b80135b5d303d2530f5e2ee05c4/fabricatio-0.18.0-cp313-cp313-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5b046d4ff5bfc00d0e03a26186bb9400d27fff98b66cbdd1c4427dc6eb670933",
                "md5": "6d85c3d38999c5894246f095499047fe",
                "sha256": "9c29941a74062a98560ca014cc083f821db60aa4452bc0dead1543f0a79084e3"
            },
            "downloads": -1,
            "filename": "fabricatio-0.18.0-cp313-cp313-win_amd64.whl",
            "has_sig": false,
            "md5_digest": "6d85c3d38999c5894246f095499047fe",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": "<3.14,>=3.12",
            "size": 1614761,
            "upload_time": "2025-07-23T13:54:44",
            "upload_time_iso_8601": "2025-07-23T13:54:44.402086Z",
            "url": "https://files.pythonhosted.org/packages/5b/04/6d4ff5bfc00d0e03a26186bb9400d27fff98b66cbdd1c4427dc6eb670933/fabricatio-0.18.0-cp313-cp313-win_amd64.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-23 13:49:10",
    "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.25646s