Skip to main content

AI-native physics simulation OS with TAPS-first physics IR, solver planning, and cloud runner tooling.

Project description

PhysicsOS

PhysicsOS is an AI-native physics simulation scaffold built around a TAPS-first workflow:

  • compile physics problems into typed weak-form / solver IR;
  • route executable IR blocks to local TAPS kernels;
  • prepare audited fallback bundles for FEniCSx, MFEM, PETSc, or cloud runners;
  • expose a CLI for PhysicsOS Cloud / foamvm device-login and job submission.

The project is currently alpha-stage research infrastructure. Local TAPS kernels are intentionally lightweight and deterministic; full-solver execution is prepared through manifests and approval gates rather than silently running external software.

Install

From a local checkout:

pip install -e .

The default install includes the official DeepAgents CLI/TUI, LangGraph, and the OpenAI-compatible model adapter, so physicsos starts the natural-language PhysicsOS agent loop immediately after model credentials are configured.

With Gmsh / meshio geometry tooling:

pip install -e ".[geometry]"

For package build and test tooling:

pip install -e ".[dev]"

CLI

physicsos
physicsos paths
physicsos auth login
physicsos account
physicsos runner submit path/to/manifest.json
physicsos runner status JOB_ID
physicsos runner logs JOB_ID
physicsos runner artifacts JOB_ID

Running physicsos with no arguments launches the official DeepAgents Textual TUI with the physicsos agent selected. PhysicsOS automatically installs its DeepAgents agent prompt and subagent prompts under ~/.deepagents/physicsos/. DeepAgents manages interactive threads, TUI state, model selection, MCP tools, skills, and approval prompts. PhysicsOS local control commands remain available as normal shell commands, for example physicsos paths, physicsos auth login, and physicsos runner .... Device-login tokens are stored under the user config directory, not in the repository.

To enable model calls, configure an OpenAI-compatible model:

$env:PHYSICSOS_OPENAI_API_KEY="..."
$env:PHYSICSOS_OPENAI_BASE_URL="https://api.tu-zi.com/v1"
$env:PHYSICSOS_OPENAI_MODEL="gpt-5.4"

These variables are mapped to the official DeepAgents CLI at startup. You can still pass native DeepAgents flags through physicsos, for example:

physicsos --message "simulate a 1D steady heat conduction problem"
physicsos --resume
physicsos --model openai:gpt-5.4

Local Data

PhysicsOS uses PHYSICSOS_HOME when set. Otherwise, pip-installed usage stores runtime state under:

~/.physicsos/

In a source checkout, runtime artifacts stay under the repository so tests and development remain reproducible.

Default paths:

  • Unified config: ~/.physicsos/config.json
  • Cloud auth config: ~/.physicsos/config.json under the cloud object
  • Interactive sessions: ~/.physicsos/sessions/session-*.jsonl for pip installs, or ./sessions/session-*.jsonl in a source checkout
  • Command history: ~/.physicsos/history.jsonl for pip installs, or ./history.jsonl in a source checkout
  • Solver/session artifacts: ~/.physicsos/scratch/... for pip installs, or ./scratch/... in a source checkout
  • Case memory: ~/.physicsos/data/case_memory.jsonl for pip installs, or ./data/case_memory.jsonl in a source checkout
  • Knowledge base: ~/.physicsos/data/knowledge/physicsos_knowledge.sqlite for pip installs, or ./data/knowledge/physicsos_knowledge.sqlite in a source checkout

Set PHYSICSOS_HOME=/path/to/physicsos-home to relocate these files. Run physicsos paths to print the exact paths used by the current environment.

Config

PhysicsOS creates ~/.physicsos/config.json on first run. Edit it to set model, API, cloud, and storage preferences in one place:

{
  "model": {
    "provider": "openai",
    "name": "gpt-5.4",
    "api_key": "",
    "base_url": "https://api.tu-zi.com/v1",
    "use_responses_api": false
  },
  "cloud": {
    "runner_url": "https://foamvm.vercel.app",
    "access_token": ""
  }
}

Environment variables such as PHYSICSOS_OPENAI_API_KEY, PHYSICSOS_OPENAI_BASE_URL, and PHYSICSOS_OPENAI_MODEL still override this file for one-off runs.

Development

python -B -m pytest -q
python -m build
python -m twine check dist/*

Notes

  • ARCHITECTURE.md is the main design document.
  • taps.md describes the TAPS-first solver strategy.
  • vm.md describes PhysicsOS Cloud / foamvm integration.
  • Heavy model weights, generated scratch artifacts, local secrets, and knowledge databases are excluded from package distribution.

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

physicsos-0.1.6.tar.gz (164.3 kB view details)

Uploaded Source

Built Distribution

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

physicsos-0.1.6-py3-none-any.whl (145.0 kB view details)

Uploaded Python 3

File details

Details for the file physicsos-0.1.6.tar.gz.

File metadata

  • Download URL: physicsos-0.1.6.tar.gz
  • Upload date:
  • Size: 164.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for physicsos-0.1.6.tar.gz
Algorithm Hash digest
SHA256 9f6c6afc3a4b6b4f87b0554b28b24000281bb5fce480b68bac26086b45b11020
MD5 4e8dc4a234dfcfce939be6ae6fe9f985
BLAKE2b-256 251b977e8e8222428f7a55b606001484e127ca5e1b52b3522cc6f98c2995525b

See more details on using hashes here.

File details

Details for the file physicsos-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: physicsos-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 145.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for physicsos-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 25a0bd835468d7b1d28f114de10ca2919af96b8d2905013cde25a7f9449da07c
MD5 02aeef03cec29d18adf05e4b978df445
BLAKE2b-256 d6ef185be40055113b7209bb09f55f0695369389accbfe865a11b1ed6e684c7a

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