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.3.tar.gz (46.1 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.3-py3-none-any.whl (53.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nfactorial-0.1.3.tar.gz
  • Upload date:
  • Size: 46.1 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.3.tar.gz
Algorithm Hash digest
SHA256 1dfab54bb522c709215db59a51cf20a00dfea06cb02220e47035f49eeba72178
MD5 688071271d6728674ea3edf60755769a
BLAKE2b-256 0353e444655273757008bf4de54db593d31ad6725de4c75ce2d7fdb31f2ce931

See more details on using hashes here.

File details

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

File metadata

  • Download URL: nfactorial-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 53.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f9bff1c0231750129b9db6da4c148319ed213380fef8eee2d6e86962a3a890bd
MD5 cd123aece534ab8b28f59d3c382bcc4d
BLAKE2b-256 52a7c1cfd2c178f2fd49015e7d06cd6827ebe39ce72d1edceddd6cc719405b6a

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