Skip to main content

Open-source core for Flyto Pro — contracts, cost control, interfaces, and agent runtime

Project description

flyto-pro-core

Open-source foundation for Flyto — workflow validation, cost control, agent runtime, and provider interfaces.

What's Inside

Module Purpose Lines
contract Workflow validation, binding resolution, compilation 4.9K
cost Multi-resource budget management (cost, tokens, tool calls, iterations) 1.3K
interfaces Abstract LLM, vector store, quality checker + OpenAI/Qdrant providers 1.8K
agent_runtime Deterministic verification, observations, project state management 11.9K
core DI container, safe access utilities, validators 1.5K
config Settings, constants, timeouts 1K

Install

pip install flyto-pro-core

With optional providers:

pip install flyto-pro-core[openai]    # OpenAI LLM + embeddings
pip install flyto-pro-core[qdrant]    # Qdrant vector store
pip install flyto-pro-core[full]      # All providers

Quick Start

Contract Engine — Validate Workflows

from flyto_pro_core.contract.engine import ContractEngine

engine = ContractEngine()
await engine.initialize()  # loads module catalog from flyto-core

report = await engine.validate_workflow(spec)
if not report.valid:
    for issue in report.issues:
        print(f"  {issue.severity}: {issue.message}")

# Binding resolution
bindings = await engine.get_available_bindings(spec, "node_3")

# Compile to execution plan
plan = await engine.compile(spec)

Cost Controller — Budget Management

from flyto_pro_core.cost.controller import CostController, BudgetConfig

# Per-tier budgets
controller = CostController(budget=BudgetConfig.for_tier("pro"))

# Record usage
controller.record_llm_usage("gpt-4o", prompt_tokens=1000, completion_tokens=500)
controller.record_tool_call()

# Check budget (raises BudgetExceededError if over)
controller.check_budget()

# Summary
print(controller.get_summary())
# {"cost_spent_usd": 0.025, "cost_budget_usd": 1.0, "tokens_used": 1500, ...}

Interfaces — Bring Your Own Provider

from flyto_pro_core.interfaces.llm import ILLMService, LLMResponse
from flyto_pro_core.interfaces.storage import IVectorStoreRepository

# Use built-in OpenAI provider
from flyto_pro_core.interfaces.providers.openai_llm import OpenAILLMService
llm = OpenAILLMService(model="gpt-4o")
response = await llm.generate("Hello")

# Or implement your own
class MyLLM(ILLMService):
    async def generate(self, prompt, **kwargs) -> LLMResponse:
        ...

Agent Runtime — Verification & Project State

from flyto_pro_core.agent_runtime.verification import DeterministicVerifier
from flyto_pro_core.agent_runtime.project import ProjectStateManager

# Deterministic verification (no LLM needed)
verifier = DeterministicVerifier()
report = await verifier.verify(assertions, evidence)

# Project state management
state = ProjectStateManager(project_dir="/path/to/project")
await state.initialize()

DI Container

from flyto_pro_core.core.container import container

# Register services
container.register("llm", my_llm_instance)
container.register_factory("vector_store", lambda: QdrantVectorStore())

# Retrieve
llm = container.get("llm")

Architecture

flyto-pro-core (this package, Apache-2.0)
├── contract/        → WorkflowSpec → ValidationReport → ExecutablePlan
├── cost/            → BudgetConfig → CostController → BudgetExceededError
├── interfaces/      → ILLMService / IVectorStoreRepository / IQualityChecker
│   └── providers/   → OpenAILLMService, QdrantVectorStore (built-in)
├── agent_runtime/   → Verification, Observations, ProjectState, Interventions
├── core/            → ServiceContainer, safe_access, validators
└── config/          → Settings, constants

Relationship to Flyto Ecosystem

flyto-pro-core (open source)     flyto-pro (proprietary)
├── contract                      ├── ems (error learning)
├── cost                          ├── evolution (module generation)
├── interfaces                    ├── knowledge (semantic search)
├── agent_runtime                 ├── agent (AI agent core)
├── core                          ├── guardian (safety)
└── config                        └── 50+ enterprise modules
         │                                    │
         └────────── flyto-ai ────────────────┘
                  (open source)
                  ProBridge connects both layers
  • Free users: flyto-ai + flyto-pro-core = full contract validation, cost control, agent runtime
  • Pro users: + flyto-pro = EMS error learning, module evolution, semantic knowledge search

Requirements

  • Python 3.9+
  • pydantic >= 2.0.0
  • pyyaml >= 6.0

Optional:

  • openai >= 1.0.0 (for OpenAI provider)
  • qdrant-client >= 1.7.0 (for Qdrant provider)
  • flyto-core >= 1.5.3 (for contract catalog loading)

License

Apache License 2.0 — see LICENSE.

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

flyto_pro_core-0.1.0.tar.gz (174.5 kB view details)

Uploaded Source

Built Distribution

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

flyto_pro_core-0.1.0-py3-none-any.whl (211.1 kB view details)

Uploaded Python 3

File details

Details for the file flyto_pro_core-0.1.0.tar.gz.

File metadata

  • Download URL: flyto_pro_core-0.1.0.tar.gz
  • Upload date:
  • Size: 174.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for flyto_pro_core-0.1.0.tar.gz
Algorithm Hash digest
SHA256 49d4d1fba5c6c2bc825fa26700a09c6bbe5b7381b0d63dc72d0eb075bba6068e
MD5 9c07d712c62ed11f49556e03d596d829
BLAKE2b-256 7f8bbc8448f68fb7d17aa1a81ff2c5a9356487606012aadf9166dcb06a5d24d1

See more details on using hashes here.

File details

Details for the file flyto_pro_core-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: flyto_pro_core-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 211.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for flyto_pro_core-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 85784b90fcbf534ed3993160ec40347d42b6791c1e109ea942bdd57cb8b3fa67
MD5 509db2c1261dcf6f309b1f0904bef61f
BLAKE2b-256 11ad443c87f4c24f202ca89fec4283eade5b096ff9b4d1baf0abfb0ac9495098

See more details on using hashes here.

Supported by

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