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.1.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.1-py3-none-any.whl (53.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nfactorial-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 59338bd22e0639d203ab718283f71492e45e26a599796625e535088cce87a616
MD5 2d75cc7b2a490c10ae919b005c799bd0
BLAKE2b-256 51ec2b6a8443b65da9511d379e26efc342988906eddfa85f7c2de54e2129a276

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nfactorial-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 065554e8a3ee5910a8a192e506a9f82637066d8fee1edba01ba718823e8e93c0
MD5 7ab3b12fe86f8d6dd1101746d0757288
BLAKE2b-256 be393a8f9ed0bf4f93edb6c158af8c0c812f01d174be5267b88c914838495ad6

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