{"library":"openseespylinux","title":"OpenSeesPy (Linux)","description":"OpenSeesPy is a Python wrapper for the OpenSees finite element analysis framework, widely used for simulating structural and geotechnical systems. The `openseespylinux` package provides a pre-compiled, optimized version of OpenSeesPy specifically for Linux environments, enabling high-performance numerical simulations without needing to compile OpenSees from source. It is currently at version 3.8.0.0 and typically updates in alignment with major OpenSees releases.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install openseespylinux"],"cli":null},"imports":["import openseespy.opensees as ops"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import openseespy.opensees as ops\n\n# 1. Start a new model (2D, 3 DoF per node)\nops.wipe()\nops.model('basic', '-ndm', 2, '-ndf', 3)\n\n# 2. Define a uniaxial elastic material (tag 1, E=3000)\nops.uniaxialMaterial('Elastic', 1, 3000.0)\n\n# 3. Define nodes\nops.node(1, 0.0, 0.0)\nops.node(2, 10.0, 0.0)\n\n# 4. Define boundary conditions (fixed at node 1)\nops.fix(1, 1, 1, 1)\n\n# 5. Define an elastic truss element (tag 1, nodes 1-2, Area=1.0, material tag 1)\nops.element('Truss', 1, 1, 2, 1.0, 1)\n\n# 6. Define a time series (constant) and load pattern\nops.timeSeries('Constant', 1)\nops.pattern('Plain', 1, 1)\nops.load(2, 0.0, -100.0, 0.0) # Apply 100 units downward load at node 2\n\n# 7. Define analysis parameters\nops.integrator('LoadControl', 0.1)\nops.numberer('RCM')\nops.constraints('Plain')\nops.system('BandGeneral')\nops.algorithm('Newton')\nops.analysis('Static')\n\n# 8. Perform analysis in 10 steps\nops.analyze(10)\n\n# 9. Get results (Y-displacement of node 2)\ndisp_y = ops.nodeDisp(2, 2)\nprint(f\"Y-displacement at node 2: {disp_y}\")\n\n# 10. End model and clear memory\nops.wipe()","lang":"python","description":"This example demonstrates a basic static analysis of a simple truss element, including model definition, material/element assignment, boundary conditions, loading, analysis, and result retrieval. It's crucial to call `ops.wipe()` before defining a new model.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"3.7.1.2","pypi_latest":"3.8.0.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":100,"avg_install_s":3.4,"avg_import_s":null,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"193.0M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.5,"import_time_s":null,"mem_mb":null,"disk_size":"194M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"194.9M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":2.9,"import_time_s":null,"mem_mb":null,"disk_size":"195M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"264.7M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.7,"import_time_s":null,"mem_mb":null,"disk_size":"265M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"264.4M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.5,"import_time_s":null,"mem_mb":null,"disk_size":"265M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":"192.5M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"openseespylinux","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":3.6,"import_time_s":null,"mem_mb":null,"disk_size":"193M"}]}}