Skip to main content

Multi-agent scientific analysis platform

Project description

Urika

Getting Started · Agent System · Models & Privacy · Notifications · CLI Reference · Interactive REPL


Early Development — Urika is under active development. Expect frequent updates, bug fixes, and new features. Check back regularly or run urika setup to see if a new version is available. Bug reports and feedback welcome at GitHub Issues.

Urika uses multiple AI agents to autonomously explore analytical approaches for your dataset and research question. It creates experiments, tries different methods, evaluates results, searches relevant literature, and builds custom tools when needed. Everything is documented automatically — experiment labbooks, project-level reports, key findings, and slide presentations you can view in any browser. Each experiment's methods, metrics, and observations are tracked in structured records that agents use to plan the next step.

Currently supports the Claude Agent SDK (Anthropic), including local models via Ollama. Adapters for OpenAI Agents SDK, Google Agent Development Kit (ADK), and PI are planned for upcoming releases.

Runs on Linux, macOS, and Windows 11. For local/private model setups (Ollama, vLLM, LiteLLM), see Models & Privacy.

Installation

Prerequisites

  1. Python >= 3.11
  2. Claude Pro or Max account (recommended) — or an Anthropic API key
  3. Claude Code CLI — install and log in first:
npm install -g @anthropic-ai/claude-code
claude login                    # opens browser to authenticate

Install Urika

pip install urika
urika setup                     # check installation, detect hardware, optionally install DL

The default install includes visualization, ML, statistics, knowledge pipeline, and notification support. Deep learning (torch, transformers) is optional: pip install "urika[dl]".

From source (development):

git clone https://github.com/xkiwilabs/Urika.git
cd Urika
pip install -e ".[dev]"

Switching from source to PyPI? If you previously installed from source, use pip install --force-reinstall urika to clear cached files.

See Getting Started for full details.

Quickstart

urika new my-study --data ./my_data.csv    # create a project (interactive)
urika run my-study                          # run experiments
urika finalize my-study                     # produce final report
urika                                       # or use the interactive REPL

See the Getting Started guide for a full walkthrough.

How It Works

flowchart TD
    A["urika new\nProject Builder"] --> B["Scans data, profiles,\ningests knowledge"]
    B --> C{"How to run?"}

    C -- "Single experiment\n(guided)" --> D["urika run"]
    C -- "Multiple experiments\n(autonomous)" --> META["urika run --max-experiments N\nAutonomous Mode"]

    D --> LOOP
    META --> LOOP

    subgraph LOOP ["Experiment Loop (per experiment)"]
        direction TB
        P["Planning Agent\ndesigns method"] --> TA["Task Agent\nwrites code, runs tools"]
        TA --> EV["Evaluator\nscores against criteria"]
        EV --> Q{Criteria met?}
        Q -- No --> ADV["Advisor Agent\nanalyzes, proposes next"]
        ADV --> P
        Q -- "Yes\n(--review-criteria)" --> RC["Advisor reviews\ncriteria"]
        RC -- "raises bar" --> P
        RC -- "confirms" --> REPORT
        Q -- Yes --> REPORT["Generate Reports"]
    end

    D -- "after experiment" --> REVIEW["User reviews results\ndecides next step"]
    REVIEW -- "run again" --> D

    META -- "advisor decides\nnext experiment" --> LOOP

    REPORT --> FIN["urika finalize\nFinalizer Agent"]
    FIN --> OUT["Standalone methods\nFinal report & presentation\nReproduce scripts"]

    TA -. "needs tool" .-> TB["Tool Builder"]
    P -. "needs literature" .-> LIT["Literature Agent"]
    TB -.-> TA
    LIT -.-> P

Eleven agents work together. Each experiment runs autonomously — agents plan, execute, evaluate, and iterate without intervention. You choose how to manage the between-experiment flow:

  • Guided (urika run) — agents run one experiment autonomously, then you review results and decide what to try next. Best for exploratory work and complex domains where human judgment matters between experiments.
  • Fully autonomous (urika run --max-experiments N) — the system runs multiple experiments back-to-back, with the advisor agent deciding what to try next. Best when you've provided detailed context (see Prompts and Context).

Within each experiment, the orchestrator cycles through planning -> task -> evaluator -> advisor each turn. When all experiments are complete, the Finalizer produces standalone deliverables.

See Agent System for details on each agent role.

Scriptable CLI

Every Urika command is fully scriptable -- pass arguments and flags directly, get structured JSON output with --json, and chain commands in shell scripts. No interactive prompts when flags are provided.

# Create and run a project in one script
urika new my-study --data ~/data/scores.csv --question "What predicts outcome?" --mode exploratory
urika run my-study --max-turns 5 --instructions "focus on tree-based models"
urika run my-study --max-experiments 3 --auto
urika finalize my-study --instructions "emphasize the best model"

# Get structured output for custom tooling
urika status my-study --json
urika results my-study --json
urika methods my-study --json

# Remote control via Telegram/Slack while experiments run
# See Notifications docs for setup

This makes it straightforward to build custom workflows, batch processing scripts, CI pipelines, or wrap Urika in your own research tools. See CLI Reference for the full command list.

Privacy and Model Configuration

Each project can configure which models and endpoints its agents use. Three privacy modes:

  • Open (default) -- all agents use cloud models via API. No restrictions.
  • Private -- all agents use private endpoints only. This can be local models (Ollama), a secure institutional server, or any combination -- whatever stays within your data governance boundary.
  • Hybrid -- a private Data Agent reads raw data and outputs sanitized summaries; all other agents run on cloud models for maximum analytical power. Raw data never leaves your private environment. The default hybrid split covers most cases, but you can customize which agents use which endpoints to ensure what needs to be private stays private.

Per-agent model routing lets you optimize for cost (Haiku for simple tasks, Opus for complex reasoning) or compliance (institutional servers for data access, cloud for method design). Different projects can have completely different privacy and model settings.

See above for supported and upcoming SDK adapters.

See Models and Privacy for configuration details.

Documentation

Guide Description
Getting Started Installation, requirements, first project
Core Concepts Projects, experiments, runs, methods, tools, agents
Creating Projects urika new, data scanning, knowledge ingestion
Prompts and Context Writing effective descriptions, instructions, knowledge ingestion
Running Experiments Orchestrator loop, turns, auto mode, resume
Advisor Chat and Instructions Standalone advisor conversations, steering agents, suggestion-to-run flow
Viewing Results Reports, presentations, methods, leaderboard
Finalizing Projects Finalization sequence, standalone methods, reproducibility
Agent System All 11 agent roles and how they interact
Built-in Tools 18 analysis tools agents use
Knowledge Pipeline Ingesting papers, PDFs, searching
Models and Privacy Per-agent model routing, endpoints, hybrid privacy mode
Configuration urika.toml, criteria, preferences
Project Structure File layout and what each file does
CLI Reference Every command with full options
Interactive REPL Slash commands, tab completion, conversation mode
Notifications Email, Slack, Telegram alerts and remote commands

Citation

If you use Urika in your research or analysis, please acknowledge its use in your publications:

Urika -- Multi-agent scientific analysis platform. Developed by Michael J. Richardson and colleagues at Macquarie University, Sydney, Australia. https://github.com/xkiwilabs/Urika

License

Apache 2.0 -- Free to use, modify, and distribute for any purpose, including commercial use. Includes patent protection for contributors. See the full license for details.

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

urika-0.1.1.tar.gz (286.5 kB view details)

Uploaded Source

Built Distribution

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

urika-0.1.1-py3-none-any.whl (274.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: urika-0.1.1.tar.gz
  • Upload date:
  • Size: 286.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for urika-0.1.1.tar.gz
Algorithm Hash digest
SHA256 235cf71ed9e6e9144424c29e99b44a6c776be87b41f5979f76b74639eb5b79be
MD5 dd204153bad9804b82647252b64c1667
BLAKE2b-256 c66e7665ac42575e8d9fbaa37a23e3f1442040ad9195b1b64c98d7d7206bbc55

See more details on using hashes here.

Provenance

The following attestation bundles were made for urika-0.1.1.tar.gz:

Publisher: workflow.yml on xkiwilabs/Urika

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: urika-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 274.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for urika-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 40d44d66b6f2bfdfc07339609b4e59b844c4ad55cf01bacf528e1a86e15d936c
MD5 983b21dd685a01d999081fab15fe54f3
BLAKE2b-256 35e0621c84c7b99f0f74320310363990153c24fd36ea0000642293cb74026874

See more details on using hashes here.

Provenance

The following attestation bundles were made for urika-0.1.1-py3-none-any.whl:

Publisher: workflow.yml on xkiwilabs/Urika

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