A LLM multi-agent framework.
Project description
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 +
McpServerstruct + tool registry +tools/list - stdio + HTTP transports +
tools/calldispatch - Register Fabricatio tools as MCP tools + Python binding + tests
- Feature flag +
- 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.pyinto Rust/api/executevia 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::LlmTokenin 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 +
ComfyUIClientfor 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
- Package skeleton +
- Novel scene image generation with ComfyUI.
- Scene extraction from novel content + prompt engineering for image generation
-
SceneImageActioninfabricatio-novelcallingfabricatio-comfyuito 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 +
CompressionLevelenum + compression strategies - Async compression + Python bindings + tests
- Package skeleton +
- 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 -
ToolExecuterexec results feedback to llm- Surface errors via
ApplicationError+ResultCollector.error()+last_errortemplate param
- Surface errors via
- Use
stubgenfeat andcfg_attrto make the stub generation as an opt-in for all mixed packages. - Use
Thrydimpl to move some requests to rust side- All core LLM operations already routed through
rust.router_usage
- All core LLM operations already routed through
- 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::Routeruse concurrent safe impl - Extract
Routerfromfabricatio-coreinto standalonefabricatio-routercrate - 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
Providerin thryd (RerankerModel for OpenAI-compat: wontfix — OpenAI doesn't support rerankers) - Wire
rerank()into Router Python class + addUseRerankercapability
- Add Reranker support in
- Add embedding and rerank mock support to
fabricatio-mock- Add
add_or_update_dummy_embedding_modelandadd_or_update_dummy_reranker_modelto Router - Add
setup_dummy_embeddings/setup_dummy_reranks+ response builders infabricatio-mock - Tests for embedding and rerank mock paths
- Add
- Replace
UseLLMwith native rust impl- Fix the mock utils that is break by the replacement.
- router support
no_cache
- Diff use
Hashlineimpl instead ofStringGrep- Integrate
rho-hashlinecrate + hash-based line anchoring in Rust - Add
compute_hash,format_hashes,parse_hashline_anchor,apply_*functions
- Integrate
- Add
Diff.format_with_hashes()method + Python exports + 22 tests - Add high-level
HashlineDiffwrapper for hashline API-
Diffdataclass with anchor and line-number fields -
from_anchors()andfrom_line_range()factory methods -
apply()with line_range and pattern matching modes + tests
-
- Placeholder based multiple-agents edits
- Convert
fabricatio-ragto a pure python package- Extract lancedb impl into a seperate package
-
fabricatio-novelsupport rag - Lancedb integration refactor
- Refactor
fabricatio-typst
- Refactor
- Milvus integration refactor
- Novel generation fix
- Embedding fail without any debug info fix
- sparse cache for embedding
-
Thrydrouter support retry - Add VFS-based sandbox subpackage for isolated LLM file operations
- Rust crate:
VirtualFStrait + in-memory tree (read/write/list/delete/stat) + overlay mount system (copy-on-write over real paths) - Rust crate: diff snapshot & apply —
SandboxSessiontracking 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-corefile I/O hooks so Actions transparently operate inside a sandbox - Tests — Rust unit tests for VFS ops + overlay + diff/apply; Python binding smoke tests
- Rust crate:
- Typst compilation
- Integrate
typst-rsor shell out totypst compilesofabricatio-typstArticle model produces PDF output - Template library for common document types (paper, report, slides)
- Python bindings + CLI (
fabricatio-typst compile) + tests
- Integrate
-
fabricatio-ragtest suite- Unit tests for abstract RAG capability (add_document, afetch_document, refined_query, ranking)
- Integration tests with
fabricatio-lancedbandfabricatio-milvusbackends - Edge-case tests: empty corpus, duplicate documents, concurrent add/fetch
- Character system completion
- Wire
CharacterCard+CharacterComposeintofabricatio-novelchapter 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) +MaslowLevelenum +MentalState(merged personality + need + emotion + cognitive bias) -
BigFiveProfile.distance_to()for personality similarity;as_vector()for serialization -
EventImpactstructured model:threatens_need,fulfills_need,personality_shift,emotion,emotion_intensity,triggers_bias -
MindEngine.analyze_event(): LLM-driven event →EventImpactextraction withMentalStateas 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(): translateMentalStateinto LLM hard constraints (personality rules, need focus, emotion style, cognitive bias examples) -
MentalStatepersistence: snapshot per event for rollback and trajectory visualization - Personality archetypes: pre-defined
BigFiveProfilepoints (hero, villain, sage, fool, outcast) +closest_archetype()lookup - DIAMONDS event taxonomy (Rauthmann et al., 2014): 8-dimensional situational classification replacing boolean event flags
-
SituationProfilemodel with 8 float dimensions (Duty, Intellect, Adversity, Mating, pOsitivity, Negativity, Deception, Sociality) - LLM-driven event →
SituationProfileextraction (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)
-
CognitiveDistortionenum (catastrophizing, black-and-white, personalization, emotional reasoning, should-thinking) -
CognitiveProfile: per-character distortion tendency weights (0-100 each) +most_likely()sort -
DistortionAnalysisstructured 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"
-
LinguisticStylemodel: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
-
SomaticStatemodel: 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
-
QualitativeSufferingmodel: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
- Data models:
- Wire
- Judge integration with novel + RAG
- Wire
EvidentlyJudge/VoteJudgeinto novel pipeline for chapter quality gating - Add RAG relevance scoring action using judge capabilities
- Actions + workflows + tests
- Wire
- Web search action
-
WebSearchActioninfabricatio-actionsbacked by search API (Tavily/SerpAPI/DuckDuckGo) -
WebScrapeActionfor extracting content from fetched URLs - Wire into research workflow + tests
-
- Add TTS subpackage (abstract interface + provider implementations).
-
fabricatio-ttspure python package:UseTTScapability mixin +TTSConfig+AudioChunkstreaming model +SynthesisResultoutput type -
TTSProviderprotocol (asyncsynthesize(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 wiringTTSProviderto its backend API - Event-system bridge: emit
tts:chunk,tts:start,tts:endevents for real-time streaming playback + interruption viaEvent - Integration with
fabricatio-coretemplates (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-sessioncrate: SQLite-backed run log + replay engine —<1KBper 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
- Record step timeline in
- Add multimodal LLM support (
aaskv— text + image input).-
ContentPartenum (Text/ImageUrl) +content: Vec<ContentPart>field onCompletionRequest— backward compatible (emptycontentfalls back tomessagestring) - OpenAI serialization: switch
.content(message)to.content(content_parts)usingasync-openai's existingChatCompletionRequestMessageContentParttypes - Cache key update:
prepare_input_textconcatenates text parts + image URLs for deterministic blake3 hashing -
fabricatio-routerPyO3:completion_v(send_to, text, images: Option<Vec<Vec<u8>>>)— raw bytes → base64 data URIs, MIME sniffing, constructContentPartlist - Python
UseLLM.aaskv(text: str | list[str], images: bytes | list[bytes] | None)— clean interface, noContentPartexposure - Tests: text-only backward compat, single image, multi-image, batch mode
-
- Add
cargo clippy+cargo testto CI- Fix ruff CI no-op (installs ruff but never runs
ruff check) - Add clippy + cargo test steps to
.github/workflows/tests.yamlmatrix
- Fix ruff CI no-op (installs ruff but never runs
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:
fabricatioperforms 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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e627c88a9013080b9f8e425f6760f6df758d71cc5718e1a13edbe45417a1b59a
|
|
| MD5 |
4bd90bbe498509c8e4757dc215dd5ed6
|
|
| BLAKE2b-256 |
632470e4bba40c424339954651fe112c12924bc7593b6f5ae1792c827cfe0457
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f10d2ec564f7365eee93d727e1a1c9dd6ecf1c7ae31e49ec1174b77ae9779f5
|
|
| MD5 |
8c6df9c52fede5b53ba75db382091637
|
|
| BLAKE2b-256 |
6a92701a040ed5c74c3e0c5cbd206c069569cca8eee63db3d426b8bef3f2f818
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6e60a79625e1937ce5c886e93e68830f71ac97dc4a674aa19fcf66ec09b669e
|
|
| MD5 |
27f512eaed375fed5d3167ecdad713ba
|
|
| BLAKE2b-256 |
caa855070e55673c8d5794c4eaec995f6665e512ed9ebfce73356b83dd0883ef
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0638543bd15667b8c4bcc41e61bf7287a5fd8f9d97ba29543180e0cbbf70d47
|
|
| MD5 |
3a058f7f0122abd935a40e46edce47f8
|
|
| BLAKE2b-256 |
9ab9b24a80c9a60cef24979df983cff1a420d6f2375eb714ac7b8d8a11f39dc6
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ba9b2757b50f5909d9f0f6fd9cb807bca82357be7792823f973d416e90b273b9
|
|
| MD5 |
4c6e5077d92b2310a36bfbefa340c369
|
|
| BLAKE2b-256 |
93f8202164cf708de611b3d479f6c75ee052f4f6d60f13b5e786a7807af84347
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8af2a8e0ec7617458248ac37e6ad9fc9da9adc4c6bd9fe387457262509123732
|
|
| MD5 |
83d74959d3359a32793693e624b4b56a
|
|
| BLAKE2b-256 |
9c2370aeca50532b5a3d46732881d7552857e6a34b21a516b3de118c469ae396
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cda2befc452511c218c2af4490713faeb71bb8d1ea894b7f661f0d0f21be5dc
|
|
| MD5 |
495b1dc838fffee5eb67b697562e38f1
|
|
| BLAKE2b-256 |
a40da6e14d5396e79d2ce7b34cc97209c35c7f1082f54db0b0675cf0d264b0da
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fed4e0647b9c7db6bc550fc6c19487cdc911b9e95c664c2346196408e500f6ed
|
|
| MD5 |
8f8b6014fafc650a397f1627254a17e5
|
|
| BLAKE2b-256 |
4603793090602e29af7cda9caf838e7557301e6f3d73b6ceb49df94e7687242b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4ce7476d5a8e65118ee77f1cfd083eaa854307507fad2dd43006d4830003f04c
|
|
| MD5 |
f02787712484800e1aaf4eb60d052488
|
|
| BLAKE2b-256 |
f7bcddbdeb3a03263505afd37aedda8577c0f65ab971e3598f3957138ad59c84
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ecdfb885023b1777c17fb28211aaa9dcd2c007817e8d54927e2a9f7998e5add
|
|
| MD5 |
ee1a0c308e984a41351239b339e3f7f6
|
|
| BLAKE2b-256 |
5894c3ab407080f7cf7a3c395879b71512963ad748480e235e4eafebc970e751
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72edb2118e5eac0614e3e3e4a86072eb1e1f90d07177bc7bb9a72b2b78879fc5
|
|
| MD5 |
0a608e4a38792bea63c3eccc5560708f
|
|
| BLAKE2b-256 |
d8ef747b8e95d583e9b55585e5195ebbf068dcb24ce416f36103d3a176ff217f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
34981c0be5d854d4d6047ab6919157764dd0d4f5fa0e466854aedf1e8c5ad964
|
|
| MD5 |
bd376a18652513b8e38394309ec05731
|
|
| BLAKE2b-256 |
2188f4fb1f0df50c11930839ad998018bdb70403af643b62e1f41d58eae7b6ca
|