Name | fabricatio JSON |
Version |
0.17.0
JSON |
| download |
home_page | None |
Summary | A LLM multi-agent framework. |
upload_time | 2025-07-11 09:33:51 |
maintainer | None |
docs_url | None |
author | None |
requires_python | <3.14,>=3.12 |
license | None |
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://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/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://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:
`./.env` > `Environment Variables` > `./fabricatio.toml` > `./pyproject.toml` > `<ROMANING>/fabricatio/fabricatio.toml` > `Defaults`.
Below is a unified view of the same configuration expressed in different formats:
### Format Examples: Unified Configuration Representation
#### Environment variables or dotenv file
```dotenv
FABRIK_LLM__API_ENDPOINT=https://api.openai.com
FABRIK_LLM__API_KEY=your_openai_api_key
FABRIK_LLM__TIMEOUT=300
FABRIK_LLM__MAX_RETRIES=3
FABRIK_LLM__MODEL=openai/gpt-3.5-turbo
FABRIK_LLM__TEMPERATURE=1.0
FABRIK_LLM__TOP_P=0.35
FABRIK_LLM__GENERATION_COUNT=1
FABRIK_LLM__STREAM=false
FABRIK_LLM__MAX_TOKENS=8192
FABRIK_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"
```
## Development Setup
1. **Clone the Repository**:
```bash
git clone https://github.com/Whth/fabricatio.git
cd fabricatio
```
2. **Install Dependencies**:
```bash
make init
```
3. **Build the Package**:
```bash
make dev
```
4. **Run Tests**:
```bash
make tests
```
## Contributing
Contributions are welcome! Follow these steps:
1. Fork the repository.
2. Create your feature branch (`git checkout -b feat/new-feature`).
3. [Optional]Create a py/rs subpackage with `make rs` or `make py`
4. Commit your changes (`git commit -am 'Add new feature'`).
5. Push to the branch (`git push origin feat/new-feature`).
6. Create a new Pull Request.
## 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 <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/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://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`./.env` > `Environment Variables` > `./fabricatio.toml` > `./pyproject.toml` > `<ROMANING>/fabricatio/fabricatio.toml` > `Defaults`.\n\nBelow is a unified view of the same configuration expressed in different formats:\n\n### Format Examples: Unified Configuration Representation\n\n#### Environment variables or dotenv file\n```dotenv\nFABRIK_LLM__API_ENDPOINT=https://api.openai.com\nFABRIK_LLM__API_KEY=your_openai_api_key\nFABRIK_LLM__TIMEOUT=300\nFABRIK_LLM__MAX_RETRIES=3\nFABRIK_LLM__MODEL=openai/gpt-3.5-turbo\nFABRIK_LLM__TEMPERATURE=1.0\nFABRIK_LLM__TOP_P=0.35\nFABRIK_LLM__GENERATION_COUNT=1\nFABRIK_LLM__STREAM=false\nFABRIK_LLM__MAX_TOKENS=8192\nFABRIK_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## Development Setup\n\n1. **Clone the Repository**:\n ```bash\n git clone https://github.com/Whth/fabricatio.git\n cd fabricatio\n ```\n2. **Install Dependencies**:\n ```bash\n make init\n ```\n \n3. **Build the Package**:\n ```bash\n make dev\n ```\n4. **Run Tests**:\n ```bash\n make tests\n ```\n \n## Contributing\n\nContributions are welcome! Follow these steps:\n\n1. Fork the repository.\n2. Create your feature branch (`git checkout -b feat/new-feature`).\n3. [Optional]Create a py/rs subpackage with `make rs` or `make py` \n4. Commit your changes (`git commit -am 'Add new feature'`).\n5. Push to the branch (`git push origin feat/new-feature`).\n6. Create a new Pull Request.\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.17.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": "8d8e92f2bdf88ab737943d4789854f5032dbbffa46a1362ef863dc986f46dba3",
"md5": "3f576e0cbabd81d472eba7d51c3cd58b",
"sha256": "5ad17049e6d48c75558f0676c2d7e27eff4948d1261ab4efba6149b7caac9c41"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "3f576e0cbabd81d472eba7d51c3cd58b",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.12",
"size": 1941992,
"upload_time": "2025-07-11T09:33:51",
"upload_time_iso_8601": "2025-07-11T09:33:51.193978Z",
"url": "https://files.pythonhosted.org/packages/8d/8e/92f2bdf88ab737943d4789854f5032dbbffa46a1362ef863dc986f46dba3/fabricatio-0.17.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6c0a434fff32ab9ee1d9117ade610b498f153904bb349e98c64ef09dbc01134d",
"md5": "de7bd4ad52ae8179ad29773a8ec2ab96",
"sha256": "b7cbca54de5564ddc0784e4f6ff9ca7ae7e8bc3fad642fff2cae148550586293"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp312-cp312-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "de7bd4ad52ae8179ad29773a8ec2ab96",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.12",
"size": 2058145,
"upload_time": "2025-07-11T09:33:06",
"upload_time_iso_8601": "2025-07-11T09:33:06.600408Z",
"url": "https://files.pythonhosted.org/packages/6c/0a/434fff32ab9ee1d9117ade610b498f153904bb349e98c64ef09dbc01134d/fabricatio-0.17.0-cp312-cp312-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c9c5bc2b3a598b01dd9aac27d140a1477522d85ee93e73fb6421887dab223f25",
"md5": "4c3d23201063acefad7b06072bf7f5e0",
"sha256": "dc5b1dbba77f8ef143b3835f5ec0e0c2f27cf34f99ccef084446babc062e62d1"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp312-cp312-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "4c3d23201063acefad7b06072bf7f5e0",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.12",
"size": 2084273,
"upload_time": "2025-07-11T09:33:57",
"upload_time_iso_8601": "2025-07-11T09:33:57.770644Z",
"url": "https://files.pythonhosted.org/packages/c9/c5/bc2b3a598b01dd9aac27d140a1477522d85ee93e73fb6421887dab223f25/fabricatio-0.17.0-cp312-cp312-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d63c7aafcbef05ca402dd87e384686dc706de3b2401962e6f022aa6f7f912b2e",
"md5": "7aeea5f9a6c01d932bfe7192bfe3110c",
"sha256": "220e6bf5cd26457873e496905b323f1d87af31b980fb807dba6a356903dbcf99"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp312-cp312-win_amd64.whl",
"has_sig": false,
"md5_digest": "7aeea5f9a6c01d932bfe7192bfe3110c",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": "<3.14,>=3.12",
"size": 1607801,
"upload_time": "2025-07-11T09:39:13",
"upload_time_iso_8601": "2025-07-11T09:39:13.844097Z",
"url": "https://files.pythonhosted.org/packages/d6/3c/7aafcbef05ca402dd87e384686dc706de3b2401962e6f022aa6f7f912b2e/fabricatio-0.17.0-cp312-cp312-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c275a7b565fb471181c1b2e43d0dfe41f967765f2d7caa42cd0856e0a19988b0",
"md5": "6ba311f930ca5b51d812db2d3230c794",
"sha256": "9aaa597f845dffe0d4f0c73b606d2bc6fb5dce9aa8b2cc53051da268440a43ce"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp313-cp313-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "6ba311f930ca5b51d812db2d3230c794",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.12",
"size": 1941972,
"upload_time": "2025-07-11T09:33:54",
"upload_time_iso_8601": "2025-07-11T09:33:54.540784Z",
"url": "https://files.pythonhosted.org/packages/c2/75/a7b565fb471181c1b2e43d0dfe41f967765f2d7caa42cd0856e0a19988b0/fabricatio-0.17.0-cp313-cp313-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0c722fc0ab9cff9a9ab6753c8a8adb0b15d0bcbd601a08d8c8d5e90dc101fa2a",
"md5": "db65450d373f381106e21aa7edf4ea61",
"sha256": "6eec6a7d926568d2d869aa560575ea2ca1bdd109f7b279b6cb87489f8a68f47f"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp313-cp313-manylinux_2_34_aarch64.whl",
"has_sig": false,
"md5_digest": "db65450d373f381106e21aa7edf4ea61",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.12",
"size": 2058177,
"upload_time": "2025-07-11T09:33:17",
"upload_time_iso_8601": "2025-07-11T09:33:17.319616Z",
"url": "https://files.pythonhosted.org/packages/0c/72/2fc0ab9cff9a9ab6753c8a8adb0b15d0bcbd601a08d8c8d5e90dc101fa2a/fabricatio-0.17.0-cp313-cp313-manylinux_2_34_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "87eb9288cbf919807b240583bb6b15290b5fbd48b6671b040a15e11d8299437d",
"md5": "b4df8a878a7c86b7d28e1d60bbadb2a9",
"sha256": "49d67eaa3b95f270b07b982f72540b602deed19ce2e1d9f6012896d9d55d2394"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp313-cp313-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "b4df8a878a7c86b7d28e1d60bbadb2a9",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.12",
"size": 2084130,
"upload_time": "2025-07-11T09:33:42",
"upload_time_iso_8601": "2025-07-11T09:33:42.092979Z",
"url": "https://files.pythonhosted.org/packages/87/eb/9288cbf919807b240583bb6b15290b5fbd48b6671b040a15e11d8299437d/fabricatio-0.17.0-cp313-cp313-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d67d7cbfefab8dc2409bbb65b0c506b062bfb9f34d14635d2403880c5c082a49",
"md5": "afdb4573c50eaed7b4ffc203b7977087",
"sha256": "06f1e48bdd9965991b57418345d5097318c355a951ca47554c019708105f28ad"
},
"downloads": -1,
"filename": "fabricatio-0.17.0-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "afdb4573c50eaed7b4ffc203b7977087",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": "<3.14,>=3.12",
"size": 1607436,
"upload_time": "2025-07-11T09:39:17",
"upload_time_iso_8601": "2025-07-11T09:39:17.966875Z",
"url": "https://files.pythonhosted.org/packages/d6/7d/7cbfefab8dc2409bbb65b0c506b062bfb9f34d14635d2403880c5c082a49/fabricatio-0.17.0-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-11 09:33:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Whth",
"github_project": "fabricatio",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "fabricatio"
}