Skip to main content

Python bindings for FlowgentraAI - build AI agents with graphs

Project description

FlowgentraAI

FlowgentraAI

Build AI agent workflows with graphs -- Python bindings for the FlowgentraAI Rust engine, powered by PyO3.

PyPI Python License: MIT

Installation

pip install flowgentra-ai

From source (development)

cd flowgentra-ai-py
pip install maturin
maturin develop

Quick Start

Build a graph workflow (recommended)

The primary way to use FlowgentraAI in Python is the StateGraph API. Define nodes as Python functions, wire them with edges, compile, and invoke():

from flowgentra_ai.graph import StateGraph, END
from typing import TypedDict

# 1. Define state shape — TypedDict gives IDE autocomplete
class GreetState(TypedDict):
    name: str
    greeting: str

# 2. Define node functions (receive and return state dict)
def greet(state: GreetState) -> GreetState:
    return {**state, "greeting": f"Hello, {state['name']}!"}

def uppercase(state: GreetState) -> GreetState:
    return {**state, "greeting": state["greeting"].upper()}

# 3. Build the graph
builder = StateGraph(GreetState)
builder.add_node("greet", greet)
builder.add_node("uppercase", uppercase)
builder.set_entry_point("greet")
builder.add_edge("greet", "uppercase")
builder.add_edge("uppercase", END)
graph = builder.compile()

# 4. Invoke with initial state (plain dict)
result = graph.invoke({"name": "World", "greeting": ""})
print(result)
# {"name": "World", "greeting": "HELLO, WORLD!"}

Config-driven agent

For YAML-configured agents with auto-discovered handlers:

from flowgentra_ai.agent import Agent

agent = Agent.from_config_path("config.yaml")
agent.state["input"] = "Hello, world!"
result = agent.run()
print(result.to_dict())

Core Concepts

State

State is a thread-safe dict-like container that flows through your graph:

from flowgentra_ai import State

state = State({"key": "value"})
state["name"] = "FlowgentraAI"
print(state["name"])        # "FlowgentraAI"
print("name" in state)      # True
print(state.to_dict())      # {"key": "value", "name": "FlowgentraAI"}
print(len(state))           # 2

# Serialization
json_str = state.to_json()
state = State.from_json('{"a": 1}')
state = State.from_dict({"a": 1})

Conditional Routing

Route dynamically based on state:

from flowgentra_ai.graph import StateGraph, END
from typing import TypedDict

class RouterState(TypedDict):
    input: str
    category: str
    output: str

def classify(state: RouterState) -> RouterState:
    category = "greeting" if "hello" in state["input"].lower() else "question"
    return {**state, "category": category}

def handle_greeting(state: RouterState) -> RouterState:
    return {**state, "output": "Hi there!"}

def handle_question(state: RouterState) -> RouterState:
    return {**state, "output": "Let me think about that..."}

def router(state: RouterState) -> str:
    return "handle_greeting" if state["category"] == "greeting" else "handle_question"

builder = StateGraph(RouterState)
builder.add_node("classify", classify)
builder.add_node("handle_greeting", handle_greeting)
builder.add_node("handle_question", handle_question)
builder.set_entry_point("classify")
builder.add_conditional_edge("classify", router)
builder.add_edge("handle_greeting", END)
builder.add_edge("handle_question", END)
graph = builder.compile()

result = graph.invoke({"input": "hello world", "category": "", "output": ""})
print(result["output"])  # "Hi there!"

LLM

Call LLM providers directly:

from flowgentra_ai.llm import LLM, Message

# Preferred: construct directly (key auto-resolved from env var)
client = LLM(provider="openai", model="gpt-4o")

# Or pass an explicit key
client = LLM(provider="anthropic", model="claude-3-5-haiku-20241022", api_key="sk-ant-...")

# Simple chat
response = client.chat([
    Message.system("You are a helpful assistant."),
    Message.user("What is Rust?"),
])
print(response.content)

# With token usage tracking
response, usage = client.chat_with_usage([Message.user("Hello!")])
if usage:
    print(f"Tokens: {usage.total_tokens}, Cost: ${usage.estimated_cost('gpt-4o'):.4f}")

# With retry and caching
robust_client = client.with_retry(max_retries=3).cached(max_entries=100)

Multi-Agent Supervisor

Orchestrate multiple agent graphs with 11 strategies:

from flowgentra_ai.supervision import (
    Supervisor, SupervisorNodeConfig, OrchestrationStrategy,
    ParallelMergeStrategy,
)
from flowgentra_ai import State

# Simple mode (router function)
def router(state):
    if "research" in (state.get_string("task") or ""):
        return "researcher"
    return "FINISH"

sup = Supervisor(router)
sup.add_agent("researcher", research_graph)
result = sup.run(State({"task": "research AI trends"}))

# Strategy mode (parallel, sequential, retry_fallback, debate, etc.)
config = SupervisorNodeConfig(
    "coordinator",
    ["researcher", "writer"],
    OrchestrationStrategy.parallel(),
)
config.set_child_timeout_ms(30000)
config.set_merge_strategy(ParallelMergeStrategy.latest())

sup = Supervisor.from_config(config)
sup.add_agent("researcher", research_graph)
sup.add_agent("writer", writer_graph)
result = sup.run(State({"task": "write article"}))

Strategies: sequential, parallel, autonomous, dynamic, round_robin, hierarchical, broadcast, map_reduce, conditional_routing, retry_fallback, debate.

Built-in Node Types

from flowgentra_ai.graph import StateGraph
from typing import TypedDict

class State(TypedDict):
    query: str
    response: str

def fetch_fn(state: dict) -> dict: ...
def slow_fn(state: dict) -> dict: ...
def refine_fn(state: dict) -> dict: ...
client = ...  # an LLM instance

builder = StateGraph(State)

# Retry with backoff
builder.add_retry_node("fetch", fetch_fn, max_retries=3, backoff_ms=1000)

# Timeout enforcement
builder.add_timeout_node("slow_op", slow_fn, timeout_ms=5000)

# LLM-integrated node
builder.add_llm_node("generate", client, prompt_key="query", output_key="response")

# LLM-driven planner (dynamic routing)
builder.add_planner_node("planner", client)

# Iterative evaluation/refinement
from flowgentra_ai.evaluation import EvaluationNodeConfig
config = EvaluationNodeConfig("refine", field_state="draft", min_confidence=0.8)
builder.add_evaluation_node(handler=refine_fn, config=config)

Conversation Memory

Track multi-turn conversations:

from flowgentra_ai.memory import ConversationMemory
from flowgentra_ai.llm import Message

mem = ConversationMemory(max_messages=100)
mem.add_message("thread-1", Message.user("Hello"))
mem.add_message("thread-1", Message.assistant("Hi! How can I help?"))

messages = mem.messages("thread-1")
print(len(messages))  # 2

Or use the high-level MemoryAwareAgent:

from flowgentra_ai.agent import MemoryAwareAgent

agent = MemoryAwareAgent.from_config("config.yaml")
agent.set_thread_id("user_123")
answer = agent.run_turn("What is Rust?")
answer2 = agent.run_turn("What are its main features?")  # remembers context

RAG (Retrieval-Augmented Generation)

from flowgentra_ai.rag import (
    Document, Embeddings, InMemoryVectorStore,
    Retriever, RetrievalConfig,
)
from flowgentra_ai.types import chunk_text, extract_text, estimate_tokens

# Text utilities
chunks = chunk_text("long text...", chunk_size=500, overlap=50)
text = extract_text("document.pdf")  # needs an actual file on disk
tokens = estimate_tokens("some text")

# Vector store + retrieval
emb = Embeddings.openai("sk-...", "text-embedding-3-small")
store = InMemoryVectorStore()

doc = Document("doc1", "Rust is a systems programming language.")
store.index(doc, emb.embed(doc.text))

config = RetrievalConfig.semantic(top_k=5, threshold=0.7)
retriever = Retriever(store, emb, config)
results = retriever.retrieve("What is Rust?")

for r in results:
    print(f"{r.id}: {r.text} (score: {r.score:.3f})")

Prebuilt Agents

Use ready-made agent patterns:

from flowgentra_ai.agent import ZeroShotReAct, ToolSpec
from flowgentra_ai.llm import LLM

tool = ToolSpec("search", "Search the web")
tool.add_parameter("query", "string")
tool.set_required("query")

agent = ZeroShotReAct(
    name="my_agent",
    llm=LLM(provider="openai", model="gpt-4o"),
    system_prompt="You are a helpful assistant.",
    tools=[tool],
)

result = agent.run("What is the weather today?")
print(result)

Human-in-the-Loop

Interrupt graph execution for human review:

from flowgentra_ai.graph import StateGraph, END
from typing import TypedDict

class PublishState(TypedDict):
    topic: str
    draft: str
    approved: bool

def draft_fn(state: dict) -> dict:
    return {"draft": f"An article about {state['topic']}"}

def publish_fn(state: dict) -> dict:
    return {"approved": True}

builder = StateGraph(PublishState)
builder.add_node("draft", draft_fn)
builder.add_node("publish", publish_fn)
builder.set_entry_point("draft")
builder.add_edge("draft", "publish")
builder.add_edge("publish", END)
builder.interrupt_before("publish")  # pause before publishing
builder.set_checkpointer("./checkpoints")
graph = builder.compile()

# First run -- raises AgentExecutionError at the breakpoint before "publish"
try:
    graph.invoke_with_thread("thread-1", {"topic": "AI", "draft": "", "approved": False})
except Exception:
    pass  # paused at the breakpoint; state is checkpointed under "thread-1"

# Human reviews, then resumes
result = graph.resume("thread-1")

# Or resume with modified state
result = graph.resume_with_state("thread-1", {"topic": "AI", "draft": "", "approved": True})

Visualization

Export graphs as DOT or Mermaid diagrams:

graph = builder.compile()
print(graph.to_mermaid())
print(graph.to_dot())
print(graph.node_names())

Tool Registry

Use built-in tools or register custom ones:

from flowgentra_ai.tools import ToolRegistry

registry = ToolRegistry.with_builtins()
print(registry.list_names())  # ["calculator", "search", ...]

result = registry.call_tool("calculator", {"operation": "add", "a": 2, "b": 3})
print(result)  # 5

Model Pricing

from flowgentra_ai.types import model_pricing
from flowgentra_ai.llm import TokenUsage

pricing = model_pricing("gpt-4")  # (input_price, output_price) per million tokens
usage = TokenUsage(1000, 500)
cost = usage.estimated_cost("gpt-4")

Supported LLM Providers

Provider Config name
OpenAI "openai"
Anthropic "anthropic"
Mistral "mistral"
Groq "groq"
Ollama (local) "ollama"
HuggingFace "huggingface"
Azure OpenAI "azure"

Full Documentation

For complete API reference and guides, visit the documentation site.

License

MIT

Project details


Download files

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

Source Distribution

flowgentra_ai-0.3.4.tar.gz (567.0 kB view details)

Uploaded Source

Built Distributions

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

flowgentra_ai-0.3.4-cp313-cp313-win_amd64.whl (16.6 MB view details)

Uploaded CPython 3.13Windows x86-64

flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_aarch64.whl (16.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.4-cp313-cp313-macosx_11_0_arm64.whl (14.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

flowgentra_ai-0.3.4-cp313-cp313-macosx_10_12_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

flowgentra_ai-0.3.4-cp312-cp312-win_amd64.whl (16.6 MB view details)

Uploaded CPython 3.12Windows x86-64

flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_aarch64.whl (16.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.4-cp312-cp312-macosx_11_0_arm64.whl (14.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

flowgentra_ai-0.3.4-cp312-cp312-macosx_10_12_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

flowgentra_ai-0.3.4-cp311-cp311-win_amd64.whl (16.6 MB view details)

Uploaded CPython 3.11Windows x86-64

flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_aarch64.whl (16.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.4-cp311-cp311-macosx_11_0_arm64.whl (14.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

flowgentra_ai-0.3.4-cp311-cp311-macosx_10_12_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

flowgentra_ai-0.3.4-cp310-cp310-win_amd64.whl (16.6 MB view details)

Uploaded CPython 3.10Windows x86-64

flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_aarch64.whl (16.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.4-cp310-cp310-macosx_11_0_arm64.whl (14.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

flowgentra_ai-0.3.4-cp310-cp310-macosx_10_12_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

flowgentra_ai-0.3.4-cp39-cp39-win_amd64.whl (16.6 MB view details)

Uploaded CPython 3.9Windows x86-64

flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_x86_64.whl (17.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_aarch64.whl (16.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.4-cp39-cp39-macosx_11_0_arm64.whl (14.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

flowgentra_ai-0.3.4-cp39-cp39-macosx_10_12_x86_64.whl (14.9 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file flowgentra_ai-0.3.4.tar.gz.

File metadata

  • Download URL: flowgentra_ai-0.3.4.tar.gz
  • Upload date:
  • Size: 567.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for flowgentra_ai-0.3.4.tar.gz
Algorithm Hash digest
SHA256 7183fbc0ea40cdb0007d7fea81af388494952648b576137a70db357c31590d92
MD5 50cf7093822c0786cad2f19b1eccb999
BLAKE2b-256 7194ba992cb1dcb7748c1bcb33478dae9ff685e2dffd916b69f7ebd6ae342084

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4.tar.gz:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e631fac68cdb1107be8ee27374c68a5603130aa4e725eaa13d3cbc9f8d3e4df7
MD5 b97353303df4aa934945a6f89503b520
BLAKE2b-256 5b52433b96b9e16d4c15b7eedda792f156a2be8cd14c20274dcb4cccd03a5a20

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 69371803ffd8a9dc4690978dc669d12ca2a7a58fd83ca5a6957bc1996f7615b6
MD5 6cc3b996e85efac63cfbd38848471297
BLAKE2b-256 cd29955b426879a611c518b502a2e81f12f141a6bb3d4f249eb1809a0087508f

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 a79bbd3d2824585cf0488121c81fb43a6b0a196f54ee306e8b4b1ac1ae6c8f3b
MD5 6a141b4cfac2ce41f97c087ed2c5b915
BLAKE2b-256 09089aed86028beb5bf76649eb8c80158c62c61f11d3139edfc619b22e55d080

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp313-cp313-manylinux_2_39_aarch64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4d5f0a049d6402a605145222bd7a746dac3db838ff80924f5ffd1b5d8534779a
MD5 2a44bfea4f27c4d3d1550f7221786bc7
BLAKE2b-256 37b309ac7d2fdc7b285eb926ac767b2239e7b79129b45cbe3aba27dc7008c40b

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6118c7a984ca63c1c7935019968639e97bddef8ea25f39dbc9b463695ec141ab
MD5 6eeea233e471bb7651aec247440da5ec
BLAKE2b-256 a11a27d1e531837de46eb28d1d0c3153f1f243f48be52670ea049d55523a2a61

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3b1d8269c63c04986b82fc3f740d26a0c993ac6e0d0a67e357d9650b57a7812a
MD5 02c6afd4e246c632536092f1db48d412
BLAKE2b-256 9bbb8d21f5ee405fc4a1320350ac2ec1db43b4e60702c032edeee1586644f5c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 57b9e53b09559806c411cf8c6c3b0aa93ed47a30dfa1afd2abcc368fec9fbf05
MD5 9351ecf393b30e64dc42f98ec404374f
BLAKE2b-256 d83511426ce2e5ac15759183229e63c4a22ab2c38e54e78f682823e169cfcf72

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 c2e9994137eb2e6a45f621de3eb2c0a8c7188046dd215f3c08b9e76f4a98f4a6
MD5 9a8ad6aefe3601c637aec729b71d7afb
BLAKE2b-256 904b5252fbace74bb9bbeed5838fa08c73b533957f7a7fe8de40faaac02cbfa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp312-cp312-manylinux_2_39_aarch64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0506eafee6c05f3cb911a72f1948757629bd594ce42d8f9fb0f95f93c11d982
MD5 8ecab73b9fb0f38fcd13c0f713eb49fc
BLAKE2b-256 9b49e98e0fc8b3ea9876227d8c47184daecc0f0ba817b9d774a7c638a7bf6642

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 388c230e6d663fa1393ad209c21498a0fe267afac0a0d5053b8f1f5160c3c66f
MD5 3a868443f3f8cdde8fe74f55a84d0fe8
BLAKE2b-256 b8ba2732cf13c6ca6f676cd65457c8c4d1742efaeb8905a51cefc38c59c8ecab

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 97902b7f3ca464a6205cc1a3a7cf824b516b84e839ba7bf4b21e0561e31d0ae2
MD5 e7161bebb2a1aeeb82b03c873b5cda35
BLAKE2b-256 71d5c76e200713cd36eaf425c21a6e64220d7c8a0da80c0ac27b30ccaae07e42

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 b97223fe4a00b22002f7e81033800ff218c939d575b3811fa90ed8334212383b
MD5 57736cdf1c1ddcf3e1b1b187c52bd492
BLAKE2b-256 5d79b37bd4f085fc745fde60448bb860a94e4235f95e8001cdd93d2e0a635961

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 7156865a48699b4ccd7be86f40497940f6ebe39ff473578e6b253fa798dc792a
MD5 4e8ee75e91b6912e010474d9ae5ec495
BLAKE2b-256 105bc9471c12ef70024b507357bd0671e7b9ec96b6d2897cf2ca63125f551737

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp311-cp311-manylinux_2_39_aarch64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4c69d5e7a5d2341b2fdb99b47979b7bd1fc558144922436ae4dee88fec53042d
MD5 24a5e6cc84396d0b77644dd68368c9c9
BLAKE2b-256 04130c36c3fc46fdf8af8e304324595328db3c3d603b811612220416df5c8134

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ef84af23762b1ccf271a78e70b3a4e17d19328bc6917cd9e13cffcda6709c151
MD5 de35d66c5860fb16dcd7d6bb4cd9080f
BLAKE2b-256 58fc5584126944472d3e3821d7678878e08c4c6edcb0ad8ca62ffb430895423f

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f8e1b2887bd37ce375de86a5afe5d2b8d683e3087fc87ea40c62aee3a80de952
MD5 de2cd783ea192a77c86e5ba877fc7b6f
BLAKE2b-256 fa30c0ecdf42e4da241e8124fa484e49b0004765b01a2582439549def2141fb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 2476d9aa835494bf01579886004945cec27f9f4d0214cfa58d6db9916821dd04
MD5 d5dd80fe645e18998dccf0614fb837ae
BLAKE2b-256 f2fcabe81b441dd2dce1a2e73e172e4de59059e3caba023caf5a966ac59394d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 f4818c4ec32b7b465a32867b79c492720ee3019f2fbf99093ac7e6c66be8dcc9
MD5 021e74a5fddb8ede8a0de969a5e27711
BLAKE2b-256 d10248c856c567374d91e7e95c9bafffda4326a54b6a50589eec1ba93f3ff0f9

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp310-cp310-manylinux_2_39_aarch64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7edecd580ecc83ef38f14f54c9b063ff561733bdf7fb3bd07f1446f399174a60
MD5 c8719c8c0b800e84be83e19f1091b240
BLAKE2b-256 7428dde78b15a9565247ab28db7ffe43bee9426c275d2e51928a0c8e2d1e7c09

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d37eb299e501d4dcba8356780b5699599c3b77525a2d66fba3fcb8cb58ab8d0e
MD5 fab7d638895b6c606ec71ab1bbf352e7
BLAKE2b-256 ffbae74330f1bd03b22d05537c3e874a9437c48bcc862ba7ac68310525799cf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 580e98be5967014a775dca98dacd459117d00e619da397dcc48064c275ea64fa
MD5 4bb936b83123b7c0ff39e8ae1b7249ef
BLAKE2b-256 7c7f98a449800ed2e27fd67b04f512ce88a38c25a769cf812f59e3e73475f77f

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 db52b1b363ea46e8bd252f3142f77b87a38f5867fef7bac77ec6069fd446e2de
MD5 325bdd0d6829c3fdb8eead624aa8b9a9
BLAKE2b-256 c273d6f6986fbe0b46995cb5b17badbea92d96ae37a487afcacf570aba6abef5

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 5016711b38317a14584a54bdffd3461954a14af3406f008dd924d5aaea6abe15
MD5 4c64c9bf663c535f24f360efc0d90507
BLAKE2b-256 22cd0874362fa8e737f9db86c4222e6263859795d88364648c074a96da07b5ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp39-cp39-manylinux_2_39_aarch64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d8f23db02baa9d63b9acdb5d6d466a2624c10fbde847aadff9684bff70c5dd96
MD5 a9ae1567332ca4904966749fd7d1d0f4
BLAKE2b-256 9cacd5459cbf0ffcb1d0582f6d029b41cfd565930f6cefce931a26e37f2ee7db

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowgentra_ai-0.3.4-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.4-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb73d6da29f6eb59280fc177e359495c9801508a5d3ad6c7d8536491d0221ae7
MD5 51346bee5ce0539c93bfa2b53252a9b1
BLAKE2b-256 3ccafa29f6d10f2fc4fabaea78b59abdf2e9d50f28314099fde1b7467e94d836

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.4-cp39-cp39-macosx_10_12_x86_64.whl:

Publisher: publish.yml on oussamabenhariz/flowgentra-ai-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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