Skip to main content

A Python framework for building AI agents with advanced orchestration capabilities

Project description

nFactorial

Factorial is a Python framework for reliably running high-concurrency agents asynchronously. It's designed for production workloads where you need to process thousands of agent tasks concurrently with built-in retries, monitoring, and distributed execution.

Dashboard

Features

  • Distributed execution: Run agents across multiple workers and machines with Redis-based coordination
  • Fault tolerance: Automatic retries, backoff strategies, and recovery of dropped tasks from crashed workers
  • Real-time events: Stream progress updates and results via WebSocket or Redis pub/sub
  • In-flight agent task management: Cancel, steer, and monitor running tasks
  • Observability: Built-in metrics dashboard and comprehensive logging
  • Deferred tools: Support for long-running operations that complete outside the agent execution

Installation

pip install nfactorial

Quick Start

from factorial import Agent, Orchestrator, AgentWorkerConfig, gpt_41


def get_weather(location: str) -> str:
    return f"The weather in {location} is sunny and 72°F"


agent = Agent(
    instructions="You help users get weather information.",
    model=gpt_41,
    tools=[get_weather],
)

# Create orchestrator
orchestrator = Orchestrator(
    redis_host="localhost",
    redis_port=6379,
    redis_db=0,
    redis_max_connections=50,
)
orchestrator.register_runner(
    agent=agent, agent_worker_config=AgentWorkerConfig(workers=1)
)

# Run the system
if __name__ == "__main__":
    orchestrator.run()

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

nfactorial-0.1.2.tar.gz (45.4 kB view details)

Uploaded Source

Built Distribution

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

nfactorial-0.1.2-py3-none-any.whl (53.1 kB view details)

Uploaded Python 3

File details

Details for the file nfactorial-0.1.2.tar.gz.

File metadata

  • Download URL: nfactorial-0.1.2.tar.gz
  • Upload date:
  • Size: 45.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for nfactorial-0.1.2.tar.gz
Algorithm Hash digest
SHA256 c8ad786a6033f3097f5ade27d0a094a41bbff10a1a069bacea6765f5dafeafc9
MD5 63ce90eb636238b6fb0821bf39d52d72
BLAKE2b-256 2a25247a6fd3303c94bec0d41ff75c3dccf259586eafb1ef4124b1275a551c84

See more details on using hashes here.

File details

Details for the file nfactorial-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: nfactorial-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 53.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for nfactorial-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5071b92472003b724435855ae02015bad4ec3d12c0fe0c71085b09025d46dff2
MD5 031bb5dfb0daae6ffce1b981889e8045
BLAKE2b-256 96c5c9b2b673cf5c5f1a8a2e1cc114461b18f7af13289c9e7945ae82f8603506

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