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.3.tar.gz (556.3 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.3-cp313-cp313-win_amd64.whl (16.3 MB view details)

Uploaded CPython 3.13Windows x86-64

flowgentra_ai-0.3.3-cp313-cp313-manylinux_2_39_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.3-cp313-cp313-manylinux_2_39_aarch64.whl (16.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.3-cp313-cp313-macosx_11_0_arm64.whl (13.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

flowgentra_ai-0.3.3-cp313-cp313-macosx_10_12_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

flowgentra_ai-0.3.3-cp312-cp312-win_amd64.whl (16.3 MB view details)

Uploaded CPython 3.12Windows x86-64

flowgentra_ai-0.3.3-cp312-cp312-manylinux_2_39_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.3-cp312-cp312-manylinux_2_39_aarch64.whl (16.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.3-cp312-cp312-macosx_11_0_arm64.whl (13.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

flowgentra_ai-0.3.3-cp312-cp312-macosx_10_12_x86_64.whl (14.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

flowgentra_ai-0.3.3-cp311-cp311-win_amd64.whl (16.3 MB view details)

Uploaded CPython 3.11Windows x86-64

flowgentra_ai-0.3.3-cp311-cp311-manylinux_2_39_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.3-cp311-cp311-manylinux_2_39_aarch64.whl (16.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.3-cp311-cp311-macosx_11_0_arm64.whl (13.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

flowgentra_ai-0.3.3-cp311-cp311-macosx_10_12_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

flowgentra_ai-0.3.3-cp310-cp310-win_amd64.whl (16.3 MB view details)

Uploaded CPython 3.10Windows x86-64

flowgentra_ai-0.3.3-cp310-cp310-manylinux_2_39_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.3-cp310-cp310-manylinux_2_39_aarch64.whl (16.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.3-cp310-cp310-macosx_11_0_arm64.whl (13.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

flowgentra_ai-0.3.3-cp310-cp310-macosx_10_12_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

flowgentra_ai-0.3.3-cp39-cp39-win_amd64.whl (16.3 MB view details)

Uploaded CPython 3.9Windows x86-64

flowgentra_ai-0.3.3-cp39-cp39-manylinux_2_39_x86_64.whl (17.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ x86-64

flowgentra_ai-0.3.3-cp39-cp39-manylinux_2_39_aarch64.whl (16.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.39+ ARM64

flowgentra_ai-0.3.3-cp39-cp39-macosx_11_0_arm64.whl (13.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

flowgentra_ai-0.3.3-cp39-cp39-macosx_10_12_x86_64.whl (14.7 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: flowgentra_ai-0.3.3.tar.gz
  • Upload date:
  • Size: 556.3 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.3.tar.gz
Algorithm Hash digest
SHA256 db596ab74d4c805ca1a3c7522433efc3adf0b9f866b948537cccb3d32e8fab47
MD5 a2da3851fc59a3710b313541840c21d3
BLAKE2b-256 14e63a337cedca02d9e9a1ee78077dd154fdb9a1fb40dd46b3af4ffa9e710663

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3.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.3-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 79396e9dcddc2cb239335ea6660e3a12e07c2d91a2054d79b6239e55188fc784
MD5 28bd317b8beeeb1bd34940c717f566d0
BLAKE2b-256 87c92b7b41eca7c756ed54cb04075278f212c1d3c1eb63867eaa15e0a8ee14e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 91c906dd4c2af78621bdbe7374a13e3d6292bd046ba3814708e83bf7d17427df
MD5 a10ee3e2dedf01d9cd7d755d90ddfd95
BLAKE2b-256 e6c115490a0c76854cec4b3076b93835489ea30049877ac36e3ffef1a83342a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 3e46540b3a77a66304b3f83b67105a4aae5bfe04a255dbc3a0c31fbab0ed23f8
MD5 6ab78e00b9cdb3f3de164c33b4f82964
BLAKE2b-256 4dbb3cdc7cb34b78ea0c599b00fbfb332023795aa192abf970484bdcf1094f76

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 32c23244f31837a0189d0c70344f94f3bb99a49ed80d8486ddd02269cd312cfa
MD5 fddbee412970e2e1a597f7b9c10c30bd
BLAKE2b-256 b54a7527e52c87f4fd22dc859d3e4a10e79c464a6fd5449f8b9551b4a7a9f624

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 759cf2dcf12bb05d3975a028c21c01e930eb77250a05a8bab4cccf82afcc21d6
MD5 3b63692742a7fb28d68efcbd35683489
BLAKE2b-256 e5687df343d397ff97b93d84dace4fdf3e3bc24c0123eca5c5631796dd3a26e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 70211bcdf900f94d2f3719fe8f40db355a0bfa0f8b7793ea80bb2f796fea1844
MD5 4377faf216e59ba431244f69e163eae3
BLAKE2b-256 d330a8ac5755fd932ac6df6f1f8ed943e3e04a848388ca9a9ae61b96f4a9b252

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e56f2898cd538c8414db18aa338aea13e71162f5f74f1103baeb1940213fa5bf
MD5 057fa618bd32fffb2e0e95fc0006078f
BLAKE2b-256 c361223395203bf37a8ae134d649078fe8421e7b88f34ab8703b50e06268e5a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 198801c55207403f67b8c98d35d43065b06136e16f6637a18ff6441ab8991259
MD5 42c18af3d7fc4751ab482a4046ae4f3f
BLAKE2b-256 6345650f8ac6a0b7963695e310ca265983aa3a947b91e122d96d1a8f7672743f

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a4ead5341acb5e92253240def99ea159489d98c8911ffd24eb79fbd17f8ba0d
MD5 4db619476affb91203d32fd7eb00221f
BLAKE2b-256 90d69cfbae5dc52fe81559760714d5a0e6a7fdf068930ae2b5a37ca32a6b7c46

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b4df2c8a835b67d3e58d759af88637027e65ff5e3b1d94cbf028f598aef877a0
MD5 0102133891ef17e7357b36f91bb62c60
BLAKE2b-256 78f2ed8e2171c628e607cbace21a910f2b2f5ad3e523a43f02bae102b92d6977

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 6711765a701e011cf8c40cb10bbe64557f3f7b612a0b285818cb5d6bb920d0a5
MD5 47ba0f1e0ec400423884859ab2f272fc
BLAKE2b-256 7b1c062bfbf2357a7617fbc0fd370915210c088054f700c9e5cc2b7535090f38

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp311-cp311-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp311-cp311-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 e708406febb488489133a70bb6ba306e844773aa9824eaaac7cf0d7f497d37a0
MD5 60c9308db2b36b521b6945dc365dd98f
BLAKE2b-256 6db7b1e3c52c76ec545f45b5e914ab261bcb8776f4fb4aec8653a5bb0794bd40

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp311-cp311-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp311-cp311-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 ae8118df07af50470def6436179419a9f8a654f5b629246d0c21490662dde298
MD5 e67ccbdee6d6126af7a95abc63acd35a
BLAKE2b-256 139d5568f2aba1de72cf341299ec3a9ff77a3b59498418efa59a3b40233e913e

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7dc005be1833128c5c5a9df5da8d252205d658376ea406615a4439ee8dcf168a
MD5 d0f66d5f5a7eccfeed279278e94da1b8
BLAKE2b-256 faea204e37b40ae85eaeb84de97c194a407f55b0a51bf91bcec06059103d9c76

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cbd7837768ac9e9c6ca83db532c0f00818f5a744723bd4f0a8bf648df3abb56d
MD5 a0d15a1bce296d1a73200bd6388a1d24
BLAKE2b-256 d468fde128a2092034f687fb43a063c788390b3f3bbb3d4d08c0e6162cece708

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 fa79a5ffb239eb8b4af028f2d8be8bf6a9d9ee766ec093ffcaf755f0a0778d2d
MD5 785aaa254fafeb221b485df387e556cf
BLAKE2b-256 0e4a4d6330cd2c2440dfd7b8334676a40be97a1934ffa9a223e8a783bd99bee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp310-cp310-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp310-cp310-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 00e958e3d023a7a0c8ec3e5e7aca09a5da6445890a2f699f06c6f7349d6fa269
MD5 605a7d32a58c7bf2b17d686c23969c55
BLAKE2b-256 3f617bb5e27233b019565f7ad6425f2c9c4948f5d84ff2237d868194b9a57d6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp310-cp310-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp310-cp310-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 93b72c07716e4cdf230bb2ec2431baade55c96c4c3fb4bdd3a1db5b78caba97f
MD5 f5f182acefb839d1f993355d869c432e
BLAKE2b-256 3792cf0f9e40ff24432c409a8e028f4e8f78c48dee5f002e91f33c442b4ff2a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 422b9ab16f0d2b7898fcb62c73eda6e6302e155390377acef3e23187f282e8c8
MD5 892e9059d8373e41cf16bfdca983a1bd
BLAKE2b-256 64b773d3bf65eed9be7a91186abc2200bf4e38c2055deda61df3a27aa4906b92

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 234d9ae034655031e3f8172948a9f97a865958364e1cfaa3904de07e768b9985
MD5 3b36c9ff49d55094834dd2af9ce9b393
BLAKE2b-256 8b98996bf363f19fd33a4e8996ab837e1700f7fba8449e65613cca2c95b293c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 9c0b91e812f5ceb0e8e8e1571aae655e40371c35fd0ab31b3b34da438b49b5de
MD5 935f86004c5b6696f9b602e51f0bae76
BLAKE2b-256 d988efada1fe88c8821bb394e270f04908715a598129a5a189032b64d85f0863

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp39-cp39-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp39-cp39-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 29fc4ed36e11860c2fece9daadad9ff26cff9c8c007fd409ccb251e41cceeb20
MD5 a420f6d8aecd4a71dfcdd51b0c3cb065
BLAKE2b-256 c58ab8bf1c116e5402872829364dad556a390fd896d11d0821bc0159f6b59ab5

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp39-cp39-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp39-cp39-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 6e768c91310c2febcd155cff098d96e856d29a9637c613b79b5b67eceea51a81
MD5 6dd956a2c11f4b4ba6dac34fd2f3658a
BLAKE2b-256 b6467e969a532a643fc68f935cc2864e6b3c263884a2b8c08907445ca4d81b4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 edb0c189e609f5285bbb224cb9f1107045462e9d88c2775d43d36f38b612caed
MD5 669f5cec4bdd7568dc16e32c22281938
BLAKE2b-256 02cc1b675af785c1bd4b35281f0024a700d8ed14cb76adfcff43b3c7fc66dfb4

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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.3-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for flowgentra_ai-0.3.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d16ed60b6e57c86d76467c397f3715ac0a799dd887ba3be9634e9a5bd9eadcae
MD5 00e93c595cb819b67626e039bd5af40c
BLAKE2b-256 90daa789e8935c0752cdb6a0d0ea3eafae617d1dad8cba90fa666de06e5b2b31

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowgentra_ai-0.3.3-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