Model or dataset
aristoteleo/PantheonOS avatar
aristoteleo/PantheonOS

PantheonOS: an evolvable multi-agent harness aimed at single cell biology

A general, evolvable, and distributed agent framework & harness for data science.

486 stars66 forksPythonBSD-2-Clause

At a glance

What is it?
PantheonOS is a Python framework from the aristoteleo group that combines agent teams, NATS-based distribution, and a genetic-algorithm code evolution module. The interesting part is the biology-specific harness; the caveats are packaging history and a documentation surface that is still uneven.
Who is it for?
Adopt PantheonOS if you are doing single cell or spatial transcriptomics analysis and want an agent harness that already speaks that domain, and pin your install to a release after the 0.6.1 and 0.6.2 removal. Do not adopt it if you need a small, stable orchestration library for generic LLM workflows: the team patterns and NATS layer are more machinery than a simple pipeline needs.
Can I use it commercially?
Yes. BSD-2-Clause is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly Python, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The problem PantheonOS is built around

Most agent frameworks are domain-agnostic. They give you a loop, a tool interface, and a way to chain calls, and then you spend the first week writing the parts that actually matter for your field. PantheonOS inverts that. The README describes it as an "evolvable and privacy-preserving multi-agent framework" whose stated goal is to reconcile generality with domain specificity, and the topic list makes the target explicit: singlecell, spatial-transcriptomics, bioinformatics, biology. The audience is a computational biologist or a data scientist working on single cell data who wants an agent harness that already knows what a deconvolution run looks like.

The second half of the pitch is code evolution. Pantheon-Evolve is described as a module that lets agents improve algorithms and code through genetic-algorithm-driven agentic code evolution. That is a different claim from orchestration. It says the framework is meant to search over implementations, not just call them. Whether that pays off depends on your task having a scoreable objective, which many analysis steps do not. A clustering parameter sweep with a clear metric is a candidate. A figure layout is not.

How the pieces fit: teams, NATS, and the evolution loop

The architecture has three visible layers. The orchestration layer is PantheonTeam, with the README naming Sequential, Swarm, Mixture-of-Agents (MoA), and AgentAsTool as the available team patterns. These are different coordination shapes rather than different agent types: sequential passes work down a chain, swarm lets agents hand off, MoA aggregates multiple model outputs, and AgentAsTool wraps an agent so another agent can call it as a tool. Choosing between them is a design decision you make per workflow, not a global setting.

The distribution layer is NATS-based messaging, described as supporting scalable, fault-tolerant deployments across machines. Pantheon-Fleet is the piece that turns that into something concrete: agents controlling a distributed network of machines. The CLI flag `--auto-start-nats` on `pantheon ui` is a hint that NATS is a separate process you normally have to run, and the flag exists to spare you that step in local development.

The evolution layer sits beside both. Pantheon-Evolve operates on code, not on prompts, using a genetic algorithm to propose and select variants. The README does not give the selection criteria, the population size, or the number of generations in the material available here, so treat the mechanism as described at a high level only. If you need to know how fitness is computed for your task, that is a question for the documentation, not the README.

Getting it running: uv, pip, and Docker paths

There are three install routes in the README and they are not equivalent. The uv path clones the repository and syncs, which gives you the source tree and the optional extras: `uv sync --extra knowledge` for RAG and vector search, `uv sync --extra claw` for the PantheonClaw mobile gateway channels, and `uv sync --extra r` for R language support, which requires R to be installed separately. A development install adds `--extra dev --extra knowledge` and runs `uv run pytest tests/`.

The pip path is a single line, `pip install pantheon-agents`, with extras in bracket form such as `pip install "pantheon-agents[knowledge]"`. Note the package name: the importable project is PantheonOS, the distribution is pantheon-agents.

The Docker path pulls `nanguage/pantheon-agents:latest` and runs it with `-e PANTHEON_MODE=standalone`, a workspace bind mount at `/workspace`, and port 8080 published. The README makes one operational detail explicit that is easy to miss: the image reads factory templates directly from the running image rather than copying them into `/workspace` or the container home, while user-created project overrides persist under `/workspace/.pantheon/`. If you are debugging a template that will not change, that is why.

Once installed, the two entry points are `pantheon cli` for an interactive REPL and `pantheon ui --auto-start-nats --auto-ui` for the multi-agent chatroom. API usage for creating agents, toolsets, and teams is deferred to the Read the Docs site rather than shown in the README.

The June 2026 supply chain incident and what it means for pinning

The installation section carries a security note that is unusual to see in a README and worth taking at face value. It states that the June 2026 "Hades" incident is resolved, that trojanized `pantheon-agents` 0.6.1 and 0.6.2 releases were removed from PyPI, and that the account was restored. It also gives a specific remediation: if you installed either of those versions during the incident, uninstall and rotate any credentials that were present on that machine.

This is not a reason to avoid the project. It is a reason to treat version pinning as a first-class concern rather than an afterthought. A lockfile that resolves to an unpinned range could, in principle, land on a yanked or replaced artifact; a lockfile that names an exact version cannot. The README says current releases are clean, and the most recent release artifacts listed are fleet-v0.2.0-alpha from 2026-08-31 and desktop-v0.3.8 from 2026-08-25, both well after the incident window. The absence of a corresponding PyPI version number in the material here means you should confirm the installed version yourself after any pip install.

Where the framework stops being the right tool

The clearest limitation is scope. PantheonOS is built for data science with a stated focus on end-to-end single cell biology. If your work is a two-step LLM pipeline over text, you are paying for NATS, a fleet controller, a store of biomedical agents, and a genetic algorithm you will never invoke. The install surface alone (multiple extras, an optional R dependency, a Docker image with a standalone mode) is more configuration than a small orchestration problem justifies.

The second limitation is that the evolution module needs a measurable objective. Genetic-algorithm-driven code evolution requires a fitness signal, and much of biological analysis is judged by whether a figure looks right to a domain expert. The README does not describe how Pantheon-Evolve handles tasks without a clean metric, and the material does not say what happens when the fitness function is noisy or expensive to evaluate. If your task falls in that category, the evolution layer is dead weight.

The third is maturity signaling. The release list shows an alpha tag on Pantheon-Fleet (v0.2.0-alpha) and a desktop app at v0.3.8. Alpha in a distributed fleet component that lets agents control machines is a meaningful caveat: the blast radius of a bug in that layer is larger than in a single-process agent loop. Treat fleet deployment as the last thing you turn on, not the first.

How it differs from a general orchestration library

The obvious comparison is LangGraph. Both let you build multi-agent systems in Python and both have a notion of state passing between nodes. The difference in approach is where the domain knowledge lives. LangGraph gives you a graph abstraction and leaves the tools, the prompts, and the domain conventions to you; PantheonOS ships a store of over 1,000 curated agents, teams, and skills aimed at biomedical AI, installable from a UI or CLI, plus named team patterns (Sequential, Swarm, MoA, AgentAsTool) that you select rather than assemble.

That is a real trade. You get a shorter path to a working single cell analysis, and you inherit the framework's opinions about how that analysis should be structured. If your pipeline does not resemble the ones in the store, you are working against the grain rather than with it. LangGraph in that situation is the more neutral substrate. Conversely, if you want a Tangram deconvolution run driven by agents without writing the orchestration from scratch, PantheonOS starts much further along.

A second difference is the evolution loop. LangGraph has no equivalent; the closest general-purpose pattern is an external optimizer that mutates prompts or code and re-runs the graph. Pantheon-Evolve folds that into the framework, which is convenient if you want it and irrelevant if you do not.

Maintenance, licensing, and what to verify first

The project is BSD-2-Clause, which is permissive: it allows modification and redistribution with the copyright notice and disclaimer retained, and it does not carry the patent grant that BSD-3-Clause or Apache-2.0 include. For most research and internal use this is unremarkable. If patent exposure is a concern in your organization, that difference matters and is worth raising with whoever handles licensing. This is not legal advice; read the LICENSE file in the repository.

On maintenance, the repository is not archived and the last push is dated 2026-09-10, with releases in the weeks before that. The release cadence visible in the material is split across components (fleet, desktop) rather than a single version line, which means upgrade cost is not uniform: a desktop app update and a fleet update are separate decisions. The Python package, the Docker image, and the desktop app can drift apart, and the README does not describe a compatibility matrix between them.

Three things to check before you build on it. Confirm the exact version pip resolves to, given the 0.6.1 and 0.6.2 history. Confirm that the extra you need resolves on your Python version, since `claw` and `r` pull in different dependencies than the base install. And confirm that the API you intend to call is documented on Read the Docs, because the README defers agent, toolset, and team construction to that site rather than showing it inline.

Editorial conclusion

Adopt PantheonOS if you are doing single cell or spatial transcriptomics analysis and want an agent harness that already speaks that domain, and pin your install to a release after the 0.6.1 and 0.6.2 removal. Do not adopt it if you need a small, stable orchestration library for generic LLM workflows: the team patterns and NATS layer are more machinery than a simple pipeline needs. Before committing, verify three things yourself: that the PyPI version you install is not 0.6.1 or 0.6.2, that the extra you need (knowledge, claw, or r) resolves cleanly under your Python version, and that the API surface you plan to call is documented in the Read the Docs build rather than only in the store UI.

Official sources

  1. aristoteleo/PantheonOS on GitHub
  2. License: BSD-2-Clause
  3. Project website
  4. README
  5. Releases
Community notes

Community notes