Skip to main content
Distributed Multidisciplinary Analysis

Philote-Python

Python implementation of the Philote-MDO standard for language-agnostic, gRPC-based MDO discipline servers and clients

CLIENTopenmdaoAEROexplicitSTRUCTimplicitPROPexplicitgRPC // PHILOTE-MDO
Python 3.9+
Runtime
gRPC
Transport
OpenMDAO
Integration
Apache-2
License

Built for Multidisciplinary Workflows

STANDARD

Philote-MDO Protocol

Reference Python implementation of the Philote-MDO gRPC standard. Compatible with disciplines written in any supported language.

DISCIPLINES

Explicit & Implicit

First-class support for both explicit components and residual-based implicit disciplines, with analytic partial derivatives.

INTEROP

OpenMDAO Bindings

Drop-in RemoteExplicitComponent and RemoteImplicitComponent for OpenMDAO models, plus a wrapper to host OpenMDAO groups as Philote servers.

DISTRIBUTED

Network Native

Run expensive analyses on dedicated servers and call them from anywhere over gRPC. Same code, local or remote.

paraboloid.py
import philote_mdo.general as pmdo

class Paraboloid(pmdo.ExplicitDiscipline):
    def setup(self):
        self.add_input("x", shape=(1,), units="m")
        self.add_input("y", shape=(1,), units="m")
        self.add_output("f_xy", shape=(1,), units="m**2")

    def compute(self, inputs, outputs):
        x, y = inputs["x"], inputs["y"]
        outputs["f_xy"] = (x - 3)**2 + x*y + (y + 4)**2 - 3