Registry / workflow / openmdao

openmdao

JSON →
library3.44.0pypypi✓ verified 84d ago

OpenMDAO is an open-source high-performance computing framework for multidisciplinary analysis and optimization. It enables efficient decomposition of coupled systems into components, automatic differentiation, and parallel computing. Current version 3.43.0, requires Python >=3.10. Release cadence is approximately monthly.

pip install openmdao
INSTALL
IMPORT
SIG · OPENMDAO
O
openmdao
workflowpythonv3.44.0
Install
33.1s avg
Import
3850ms
Disk
287MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v3.44.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
1/2 runs
✓ 32.8s
py 3.11
1/2 runs
✓ 33.6s
py 3.12
1/2 runs
✓ 31.75s
py 3.13
1/2 runs
✓ 30.6s
py 3.9
1/2 runs
✓ 36.55s
287MB installed
● package 287MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Problem
from openmdao.core.problem import Problem
from openmdao.api import Problem
Old top-level import from openmdao.api still works but is deprecated; prefer explicit core import.
IndepVarComp
from openmdao.core.indepvarcomp import IndepVarComp
from openmdao.api import IndepVarComp
Using openmdao.api is deprecated; use explicit import from submodule.
ExplicitComponent
from openmdao.core.explicitcomponent import ExplicitComponent
from openmdao.api import ExplicitComponent
Same deprecation as above.

Minimal example: create a Problem, add an IndepVarComp and an ExecComp, run the model, and print output.

import openmdao.api as om prob = om.Problem() prob.model.add_subsystem('indep', om.IndepVarComp('x', 1.0), promotes=['x']) prob.model.add_subsystem('comp', om.ExecComp('y=x+1'), promotes=['*']) prob.setup() prob.run_model() print(prob.get_val('y'))
openmdao --version
Debug
Known issues
breakingOpenMDAO 3.x removed support for Python 2.7 and 3.6. Upgrade code to Python >=3.10.
fix
Ensure Python interpreter is 3.10 or higher; update deprecated API calls.
affects: >=3.0.0
breakingThe 'openmdao.api' module is deprecated as of OpenMDAO 3.31.0. Direct imports from submodules are now preferred.
fix
Replace 'from openmdao.api import X' with the explicit import path (e.g., 'from openmdao.core.problem import Problem').
affects: >=3.31.0
deprecatedThe 'openmdao.core.component.Component' base class has been renamed to 'ExplicitComponent' and 'ImplicitComponent'. Using the old name issues a deprecation warning and will be removed.
fix
Use 'from openmdao.core.explicitcomponent import ExplicitComponent' or 'from openmdao.core.implicitcomponent import ImplicitComponent' instead.
affects: >=3.0.0
gotchaDo not modify a model's structure (add/remove subsystems) after calling setup() or run_model() unless you call final_setup() again. Doing so can cause crashes or undefined behavior.
fix
Either restructure before setup() or use a new Problem instance.
affects: all
gotchaSolver tolerances and options must be set before calling setup() if you want them to take effect. Setting them after setup may be silently ignored.
fix
Set solver options on the system's solver object before prob.setup().
affects: all
Errors
Common errors & fixes
ImportError: cannot import name 'IndepVarComp' from 'openmdao.api'
openmdao.api is deprecated; import path changed.
fix
Use 'from openmdao.core.indepvarcomp import IndepVarComp' or keep openmdao.api but this will break in future versions.
NameError: name 'ExecComp' is not defined
Forgot to import ExecComp; it's not a built-in.
fix
Add 'from openmdao.components.exec_comp import ExecComp' or use 'om.ExecComp' if using openmdao.api.
ValueError: The model is already set up. Cannot change configuration after setup.
Attempting to modify model after setup() call.
fix
Make all model changes before calling setup(). If needed, create a new Problem instance.
Upgrade
Version history
3.44.0latest on PyPI · released Jun 1, 2026
Audit
Dependencies
numpyrequiredcore dependency for array operations
scipyoptionalused for solvers and optimization
matplotliboptionalfor built-in plotting utilities
Agent activity
35 hits · last 30 days
node
32
Amazon
1
OpenAI (training)
1
Resources
openmdao — pip install openmdao · libregistry