Skip to main content

A LLM multi-agent framework.

Project description

Fabricatio Logo

MIT License Python Versions PyPI Version Ask DeepWiki PyPI Downloads (Week) PyPI Downloads Bindings: PyO3 Build Tool: uv + maturin

Build Package Ruff Lint Tests Coverage Status Documentation Status GitHub Issues GitHub Pull Requests GitHub Stars


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.

TODO

  • Add api support.
    • Define API types + REST route handlers + wire into axum server
    • Add CORS/error middleware + Python binding for server config
    • Integration tests + API docs
  • Run as mcp server.
    • Feature flag + McpServer struct + tool registry + tools/list
    • stdio + HTTP transports + tools/call dispatch
    • Register Fabricatio tools as MCP tools + Python binding + tests
  • Finalize the webui.
    • Chat interface + API client + WebSocket/SSE streaming
    • Config panel + agent status dashboard
    • Error handling + loading states + UX polish
    • Wire Python execution bridge — hook bridge.py into Rust /api/execute via PyO3 so workflows actually run (currently just enqueues)
    • Workflow save/load — persist workflows as JSON (file or SQLite), load into editor
    • Clean up scaffolding — remove TheWelcome, HelloWorld, counter.ts, unused AboutView, default Vue assets
    • Undo/Redo — command pattern on workflow store (add/remove/move node, add/remove edge)
    • Dark/Light theme toggle — CSS variables + Pinia persistence
    • Real-time LLM token streaming — surface WsMessage::LlmToken in UI for streaming text output during generation
    • Workflow import/export — download as JSON, import from file, share workflows
    • Responsive layout — collapsible sidebars on mobile, resizable panels
  • Add ComfyUI integration.
    • Package skeleton + ComfyUIClient for prompt queue, progress polling, image retrieval
    • Workflow template system with dynamic parameter injection
    • ComfyUIAction + Python bindings + integration tests
    • WebSocket real-time progress tracking
    • End-to-end integration test with running ComfyUI instance
  • Novel scene image generation with ComfyUI.
    • Scene extraction from novel content + prompt engineering for image generation
    • SceneImageAction in fabricatio-novel calling fabricatio-comfyui to generate scene illustrations
    • Image embedding into novel output (EPUB/Typst) + configurable style/template selection
    • Per-chapter image caching + regeneration on content changes
  • Add Plugin system.
    • Plugin protocol + registry + lifecycle (load/unload)
    • Hook points in core lifecycle + entry-point discovery
    • Plugin config support + validation + tests
  • Replace litellm with native rust impl
    • Port deprecated mock utils to thryd impl
    • Port tests to new mock utils
    • Sync documentations
    • Router cache support ttl and eviction
  • Add worktree-based isolated development subpackage
  • Add level-based context compression subpackage
    • Package skeleton + CompressionLevel enum + compression strategies
    • Async compression + Python bindings + tests
  • TreeSetter-based ACE
    • tree-sitter dep + AST node types + tree edit operations (insert/replace/delete/move)
    • TreeSetter orchestrator + Python bindings + multi-language round-trip tests
  • Self-Extensible Agent
    • Capability protocol + runtime registry + dynamic method injection on Role
    • Config-based discovery + hot-reload + tests
  • Add more examples
  • Write missing examples (Structured Output, Extract, Improve)
  • Document undocumented examples + cross-link use-cases.rst + examples index
  • ToolExecuter exec results feedback to llm
    • Surface errors via ApplicationError + ResultCollector.error() + last_error template param
  • Use stubgen feat and cfg_attr to make the stub generation as an opt-in for all mixed packages.
  • Use Thryd impl to move some requests to rust side
    • All core LLM operations already routed through rust.router_usage
  • Add Texts-based skill system, as a subpackage
    • Skill YAML/JSON schema + loader + directory scanner
    • Wire into Role + validation + example skill file + tests
  • Port build workflow to Justfile
  • thryd::Router use concurrent safe impl
  • Extract Router from fabricatio-core into standalone fabricatio-router crate
  • Replace parser with native rust impl
  • Better memory impl
  • RAG package refactor, move rerank and embedding to thryd
    • Add Reranker support in thryd
    • TEI as Provider in thryd (RerankerModel for OpenAI-compat: wontfix — OpenAI doesn't support rerankers)
    • Wire rerank() into Router Python class + add UseReranker capability
  • Add embedding and rerank mock support to fabricatio-mock
    • Add add_or_update_dummy_embedding_model and add_or_update_dummy_reranker_model to Router
    • Add setup_dummy_embeddings / setup_dummy_reranks + response builders in fabricatio-mock
    • Tests for embedding and rerank mock paths
  • Replace UseLLM with native rust impl
    • Fix the mock utils that is break by the replacement.
    • router support no_cache
  • Diff use Hashline impl instead of StringGrep
    • Integrate rho-hashline crate + hash-based line anchoring in Rust
    • Add compute_hash, format_hashes, parse_hashline_anchor, apply_* functions
  • Add Diff.format_with_hashes() method + Python exports + 22 tests
  • Add high-level HashlineDiff wrapper for hashline API
    • Diff dataclass with anchor and line-number fields
    • from_anchors() and from_line_range() factory methods
    • apply() with line_range and pattern matching modes + tests
  • Placeholder based multiple-agents edits
  • Convert fabricatio-rag to a pure python package
    • Extract lancedb impl into a seperate package
  • fabricatio-novel support rag
  • Lancedb integration refactor
    • Refactor fabricatio-typst
  • Milvus integration refactor
  • Novel generation fix
  • Embedding fail without any debug info fix
  • sparse cache for embedding
  • Thryd router support retry
  • Add VFS-based sandbox subpackage for isolated LLM file operations
    • Rust crate: VirtualFS trait + in-memory tree (read/write/list/delete/stat) + overlay mount system (copy-on-write over real paths)
    • Rust crate: diff snapshot & apply — SandboxSession tracking all mutations, producing a unified diff, and optionally writing changes back to real FS
    • Python bindings (PyO3) for VirtualFS, SandboxSession, overlay mounts
    • Integration with fabricatio-core file I/O hooks so Actions transparently operate inside a sandbox
    • Tests — Rust unit tests for VFS ops + overlay + diff/apply; Python binding smoke tests
  • Typst compilation
    • Integrate typst-rs or shell out to typst compile so fabricatio-typst Article model produces PDF output
    • Template library for common document types (paper, report, slides)
    • Python bindings + CLI (fabricatio-typst compile) + tests
  • fabricatio-rag test suite
    • Unit tests for abstract RAG capability (add_document, afetch_document, refined_query, ranking)
    • Integration tests with fabricatio-lancedb and fabricatio-milvus backends
    • Edge-case tests: empty corpus, duplicate documents, concurrent add/fetch
  • Character system completion
    • Wire CharacterCard + CharacterCompose into fabricatio-novel chapter generation for consistency
    • Character relationship tracking (affinity graph, interaction history)
    • Actions + workflows + tests for batch character generation and validation
    • Mental model: Big Five + Maslow combined psychological state engine
      • Data models: BigFiveProfile (5D float 0-100) + MaslowLevel enum + MentalState (merged personality + need + emotion + cognitive bias)
      • BigFiveProfile.distance_to() for personality similarity; as_vector() for serialization
      • EventImpact structured model: threatens_need, fulfills_need, personality_shift, emotion, emotion_intensity, triggers_bias
      • MindEngine.analyze_event(): LLM-driven event → EventImpact extraction with MentalState as context
      • MindEngine.apply_impact(): deterministic rules for Maslow level drop (threat-based instant) and rise (satisfaction-accumulation threshold ≥3)
      • Age-based personality shift scale: child (3.0×), adolescent (1.5×), young adult (0.5×), adult (0.2×)
      • MindEngine.build_system_prompt(): translate MentalState into LLM hard constraints (personality rules, need focus, emotion style, cognitive bias examples)
      • MentalState persistence: snapshot per event for rollback and trajectory visualization
      • Personality archetypes: pre-defined BigFiveProfile points (hero, villain, sage, fool, outcast) + closest_archetype() lookup
      • DIAMONDS event taxonomy (Rauthmann et al., 2014): 8-dimensional situational classification replacing boolean event flags
        • SituationProfile model with 8 float dimensions (Duty, Intellect, Adversity, Mating, pOsitivity, Negativity, Deception, Sociality)
        • LLM-driven event → SituationProfile extraction (structured output with per-dimension 0-1 scores)
        • Dimension → distortion mapping: Adversity→catastrophizing, Deception→personalization, Negativity→emotional_reasoning, etc.
        • Wire into CognitiveEngine._rule_filter(): use dimension scores instead of boolean flags for distortion boost calculation
      • CBT cognitive distortion engine (hybrid: rule filter + LLM refinement)
        • CognitiveDistortion enum (catastrophizing, black-and-white, personalization, emotional reasoning, should-thinking)
        • CognitiveProfile: per-character distortion tendency weights (0-100 each) + most_likely() sort
        • DistortionAnalysis structured model: triggered_distortion, internal_monologue, reasoning
        • CognitiveEngine._rule_filter(): DIAMONDS dimension scores → distortion score boost
        • CognitiveEngine._generate_monologue(): cheap LLM call for internal monologue only (high-confidence path)
        • CognitiveEngine._llm_analyze(): full LLM structured extraction from top-3 candidates (low-confidence path)
        • Confidence threshold: if top candidate score > 70 → use rule result + monologue generation; else → full LLM analysis
        • Wire into MindEngine: CBT as event pre-filter before Maslow impact assessment (distortion shapes interpretation, interpretation shapes need impact)
      • Linguistic style decoupling (TTM, Zhan et al., 2025): separate "what to say" from "how to say"
        • LinguisticStyle model: preferences (natural language description), common_pronouns, common_modals, common_adjectives, style_references
        • extract_style(): LLM-driven extraction from character's historical dialogues
        • Three-stage generation: styleless response (personality+memory) → memory-checked response (RAG correction) → stylized response (style transfer)
        • Style references: retrieve semantically similar utterances from character history as rewriting templates
        • Wire into MindEngine.build_system_prompt(): inject linguistic style constraints alongside personality and emotion
      • Embodied perception (EFT-CoT, Du et al., 2026): somatic awareness as first stage of emotional processing
        • Three-stage emotional pipeline: Embodied Perception → Cognitive Exploration → Narrative Intervention
        • SomaticState model: body sensations mapped from emotion type + intensity (e.g. fear→racing heart, tight chest, trembling)
        • CognitiveExploration: extract core beliefs and underlying thoughts from somatic experience
        • NarrativeIntervention: restructure character's self-narrative based on cognitive insights
        • Wire into MindEngine: emotion triggers somatic state → somatic state informs prompt constraints for physical descriptions
      • Qualitative Suffering States (Emotional Cost Functions, Mopgar, 2026): irreversible trauma that reshapes character
        • QualitativeSuffering model: what_was_lost, the_void, how_it_changed_me, anticipatory_dread
        • Four-component architecture: Consequence Processor → Character State → Anticipatory Scan → Story Update
        • Experiential dread: from character's own lived consequences
        • Pre-experiential dread: acquired without direct experience (from others' stories or cultural knowledge)
        • Suffering accumulates and reshapes character — not a temporary state but a permanent modification to MentalState
        • Wire into MindEngine: traumatic events create QualitativeSuffering entries that persist and influence future interpretations
      • Three-layer separation: analysis (LLM with schema) → update (deterministic rules) → alignment (prompt injection)
      • Tests: Maslow level transitions, Big Five drift under events, age scaling, prompt generation, linguistic style extraction, somatic state mapping, suffering accumulation, end-to-end process_and_respond
      • Evaluation framework (EMgine methodology + three-layer validation)
        • Layer 1: Theory consistency — automated assertions checking psychological predictions (target > 90% pass rate)
        • Layer 2: Reader perception — LLM-as-Judge + human evaluation for believability (target > 7.5/10)
        • Layer 3: Trajectory consistency — automated checks for sudden jumps, reversals, dead spots across event sequences
        • Literary character test suite: Hamlet, Lin Daiyu, Julien Sorel — known characters as regression test baseline
        • evaluate_model() orchestrator running all three layers against test suite
  • Judge integration with novel + RAG
    • Wire EvidentlyJudge / VoteJudge into novel pipeline for chapter quality gating
    • Add RAG relevance scoring action using judge capabilities
    • Actions + workflows + tests
  • Web search action
    • WebSearchAction in fabricatio-actions backed by search API (Tavily/SerpAPI/DuckDuckGo)
    • WebScrapeAction for extracting content from fetched URLs
    • Wire into research workflow + tests
  • Add TTS subpackage (abstract interface + provider implementations).
    • fabricatio-tts pure python package: UseTTS capability mixin + TTSConfig + AudioChunk streaming model + SynthesisResult output type
    • TTSProvider protocol (async synthesize(text, voice, params) → AsyncIterator[AudioChunk]) + voice discovery + SSML support
    • Provider implementations as separate packages (e.g. fabricatio-tts-openai, fabricatio-tts-elevenlabs, fabricatio-tts-piper) each wiring TTSProvider to its backend API
    • Event-system bridge: emit tts:chunk, tts:start, tts:end events for real-time streaming playback + interruption via Event
    • Integration with fabricatio-core templates (Handlebars {{speak}} helper) + Python bindings + tests
  • Add session replay + workflow continue.
    • Record step timeline in WorkFlow.serve(): (step_index, action_name, output_key, duration_ms, success, error) per action — ~30 lines instrumentation
    • Auto-checkpoint before each action via CheckPointStore.save() — leverage existing shadow git for workspace rollback on resume
    • fabricatio-session crate: SQLite-backed run log + replay engine — <1KB per workflow run, no context dict serialization needed (thryd cache + checkpoint handle reconstruction)
    • WorkFlow.resume(run_id): read run log → checkpoint.reset(last_commit) → re-run steps 1..N-1 (LLM cache hits, instant) → fresh execution at failed step N
    • Actions declare idempotent: bool — non-idempotent steps flagged for manual review instead of auto re-run
    • WebUI timeline viewer: scrub through action execution history, per-step expand for LLM input/output
  • Add multimodal LLM support (aaskv — text + image input).
    • ContentPart enum (Text / ImageUrl) + content: Vec<ContentPart> field on CompletionRequest — backward compatible (empty content falls back to message string)
    • OpenAI serialization: switch .content(message) to .content(content_parts) using async-openai's existing ChatCompletionRequestMessageContentPart types
    • Cache key update: prepare_input_text concatenates text parts + image URLs for deterministic blake3 hashing
    • fabricatio-router PyO3: completion_v(send_to, text, images: Option<Vec<Vec<u8>>>) — raw bytes → base64 data URIs, MIME sniffing, construct ContentPart list
    • Python UseLLM.aaskv(text: str | list[str], images: bytes | list[bytes] | None) — clean interface, no ContentPart exposure
    • Tests: text-only backward compat, single image, multi-image, batch mode
  • Add cargo clippy + cargo test to CI
    • Fix ruff CI no-op (installs ruff but never runs ruff check)
    • Add clippy + cargo test steps to .github/workflows/tests.yaml matrix

Installation

# 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.

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.

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

"""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()
 .subscribe(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
  • Structured Output
  • Extraction
  • Content Improvement
  • Retrieval-Augmented Generation (RAG)
  • Article Extraction
  • Propose Task
  • Code Review
  • Write Outline

(For full example details, see 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

FABRICATIO_LLM__SEND_TO=openai/gpt-3.5-turbo
FABRICATIO_LLM__TEMPERATURE=1.0
FABRICATIO_LLM__TOP_P=0.35
FABRICATIO_LLM__STREAM=false
FABRICATIO_LLM__MAX_COMPLETION_TOKENS=8192
FABRICATIO_DEBUG__LOG_LEVEL=INFO

fabricatio.toml file

[debug]
log_level = "DEBUG"


[llm]
send_to = "base" # send req to `base` group by default
max_completion_tokens = 32000
stream = false
temperature = 1.0
top_p = 0.35


[routing]
providers = [
    { ptype = "OpenAICompatible", key = "sk-...", name = "mm", base_url = "https://api.example.com/v1/" }
]

completion_deployments = [
    { id = "mm/a-completion-model", group = 'base', tpm = 100_000, rpm = 1000 }
]
cache_database_path = "path/to/.cache.db"

pyproject.toml file

[tool.fabricatio.debug]
log_level = "DEBUG"


[tool.fabricatio.llm]
send_to = "base" # send req to `base` group by default
max_completion_tokens = 32000
stream = false
temperature = 1.0
top_p = 0.35


[tool.fabricatio.routing]
providers = [
    { ptype = "OpenAICompatible", key = "sk-...", name = "mm", base_url = "https://api.example.com/v1/" }
]

completion_deployments = [
    { id = "mm/a-completion-model", group = 'base', tpm = 100_000, rpm = 1000 }
]
cache_database_path = "path/to/.cache.db"

Contributing

We welcome contributions from everyone! Before contributing, please read our Contributing Guide and Code of Conduct.

License

Fabricatio is licensed under the MIT License. See LICENSE for details.

Acknowledgments

Special thanks to the contributors and maintainers of:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

fabricatio-0.33.0.dev0-cp314-cp314-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.14Windows x86-64

fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ x86-64

fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.34+ ARM64

fabricatio-0.33.0.dev0-cp314-cp314-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

fabricatio-0.33.0.dev0-cp313-cp313-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.13Windows x86-64

fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ x86-64

fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.34+ ARM64

fabricatio-0.33.0.dev0-cp313-cp313-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

fabricatio-0.33.0.dev0-cp312-cp312-win_amd64.whl (2.9 MB view details)

Uploaded CPython 3.12Windows x86-64

fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_aarch64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

fabricatio-0.33.0.dev0-cp312-cp312-macosx_11_0_arm64.whl (3.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

File details

Details for the file fabricatio-0.33.0.dev0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 e627c88a9013080b9f8e425f6760f6df758d71cc5718e1a13edbe45417a1b59a
MD5 4bd90bbe498509c8e4757dc215dd5ed6
BLAKE2b-256 632470e4bba40c424339954651fe112c12924bc7593b6f5ae1792c827cfe0457

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 5f10d2ec564f7365eee93d727e1a1c9dd6ecf1c7ae31e49ec1174b77ae9779f5
MD5 8c6df9c52fede5b53ba75db382091637
BLAKE2b-256 6a92701a040ed5c74c3e0c5cbd206c069569cca8eee63db3d426b8bef3f2f818

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.14, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp314-cp314-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 c6e60a79625e1937ce5c886e93e68830f71ac97dc4a674aa19fcf66ec09b669e
MD5 27f512eaed375fed5d3167ecdad713ba
BLAKE2b-256 caa855070e55673c8d5794c4eaec995f6665e512ed9ebfce73356b83dd0883ef

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp314-cp314-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.14, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b0638543bd15667b8c4bcc41e61bf7287a5fd8f9d97ba29543180e0cbbf70d47
MD5 3a058f7f0122abd935a40e46edce47f8
BLAKE2b-256 9ab9b24a80c9a60cef24979df983cff1a420d6f2375eb714ac7b8d8a11f39dc6

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ba9b2757b50f5909d9f0f6fd9cb807bca82357be7792823f973d416e90b273b9
MD5 4c6e5077d92b2310a36bfbefa340c369
BLAKE2b-256 93f8202164cf708de611b3d479f6c75ee052f4f6d60f13b5e786a7807af84347

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 8af2a8e0ec7617458248ac37e6ad9fc9da9adc4c6bd9fe387457262509123732
MD5 83d74959d3359a32793693e624b4b56a
BLAKE2b-256 9c2370aeca50532b5a3d46732881d7552857e6a34b21a516b3de118c469ae396

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.13, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp313-cp313-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 6cda2befc452511c218c2af4490713faeb71bb8d1ea894b7f661f0d0f21be5dc
MD5 495b1dc838fffee5eb67b697562e38f1
BLAKE2b-256 a40da6e14d5396e79d2ce7b34cc97209c35c7f1082f54db0b0675cf0d264b0da

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp313-cp313-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.13, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fed4e0647b9c7db6bc550fc6c19487cdc911b9e95c664c2346196408e500f6ed
MD5 8f8b6014fafc650a397f1627254a17e5
BLAKE2b-256 4603793090602e29af7cda9caf838e7557301e6f3d73b6ceb49df94e7687242b

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4ce7476d5a8e65118ee77f1cfd083eaa854307507fad2dd43006d4830003f04c
MD5 f02787712484800e1aaf4eb60d052488
BLAKE2b-256 f7bcddbdeb3a03263505afd37aedda8577c0f65ab971e3598f3957138ad59c84

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_x86_64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 6ecdfb885023b1777c17fb28211aaa9dcd2c007817e8d54927e2a9f7998e5add
MD5 ee1a0c308e984a41351239b339e3f7f6
BLAKE2b-256 5894c3ab407080f7cf7a3c395879b71512963ad748480e235e4eafebc970e751

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_aarch64.whl
  • Upload date:
  • Size: 3.2 MB
  • Tags: CPython 3.12, manylinux: glibc 2.34+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 72edb2118e5eac0614e3e3e4a86072eb1e1f90d07177bc7bb9a72b2b78879fc5
MD5 0a608e4a38792bea63c3eccc5560708f
BLAKE2b-256 d8ef747b8e95d583e9b55585e5195ebbf068dcb24ce416f36103d3a176ff217f

See more details on using hashes here.

File details

Details for the file fabricatio-0.33.0.dev0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

  • Download URL: fabricatio-0.33.0.dev0-cp312-cp312-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.12, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for fabricatio-0.33.0.dev0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34981c0be5d854d4d6047ab6919157764dd0d4f5fa0e466854aedf1e8c5ad964
MD5 bd376a18652513b8e38394309ec05731
BLAKE2b-256 2188f4fb1f0df50c11930839ad998018bdb70403af643b62e1f41d58eae7b6ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page