PyNiteFEA
A simple elastic 3D structural finite element library for Python.
Decision gist · record as of 2026-08-14
Yes. PyNiteFEA is actively maintained, has no known vulnerabilities, permissive licensing, and low install friction. It is well-suited for structural engineers needing accessible 3D FEA without commercial software. The recent 3.0.0 release adds pushover analysis, and the codebase is tested against known solutions. Start with the examples folder and readthedocs documentation to evaluate fit for your specific analysis needs.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.11 or later; numpy, scipy, matplotlib, and PrettyTable must be installed (included in [all] extra).
- Low install friction with a pure-Python wheel and four common scientific dependencies (numpy, scipy, matplotlib, PrettyTable).
- The package is actively maintained with a recent release (74 days ago) and 728 repository stars, indicating stable ongoing development.
License · maintenance · safety
permissive license (permissive) — Licensed under MIT (permissive), allowing unrestricted use, modification, and distribution in both open-source and commercial projects without copyleft obligations.
last release 2026-06-01 (74 days) · last repo commit 2026-08-04 · 728 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 135,267 downloads/mo, #11,443 on PyPI
Alternatives
Verify before relying
pip install PyniteFEA[all]
import numpy
import scipy
import matplotlib
import PrettyTable
# Create and solve a finite element model using PyNiteFEA's API- Whether the package handles dynamic analysis beyond modal analysis and pushover
- Performance characteristics and scalability limits for large models with many elements
- Validation scope and accuracy bounds for nonlinear pushover analysis beyond I-shaped steel members
What it is and what it does
PyNiteFEA is a Python library for structural engineering finite element analysis focused on simplicity and accuracy. It handles 3D elastic analysis of frame and plate structures, including static loads, modal vibration analysis, geometric nonlinearity (P-Delta), and nonlinear pushover analysis for steel frames. The library supports point loads, distributed loads, load cases, load combinations, and various element types (frame members, quadrilateral and rectangular plate elements, tension/compression-only members, and spring elements). It produces member diagrams (shear, moment, axial, torsion), reaction reports, and can render model geometry, deformed shapes, and generate PDF reports.
The package prioritizes ease of use and correctness over advanced capabilities, targeting structural engineers who need a robust general-purpose solver without steep learning curves or extensive finite element theory knowledge. It depends on numpy for computation, scipy for numerical methods, matplotlib for visualization, and PrettyTable for formatted output. The codebase is tested against textbook problems with known solutions via continuous integration.
Use it for
- Design and analyze 3D steel or concrete frame structures under multiple load cases and combinations
- Perform modal analysis to find natural frequencies and mode shapes of building or bridge frames
- Conduct P-Delta analysis to assess geometric nonlinearity effects in tall or slender structures
- Run nonlinear pushover analysis on steel frames to evaluate seismic performance and capacity
- Model and analyze shear walls and mat foundations with automatic meshing and visualization
- Generate member force diagrams and PDF reports for structural design documentation
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
PyNiteFEA is actively maintained, has no known vulnerabilities, permissive licensing, and low install friction. It is well-suited for structural engineers needing accessible 3D FEA without commercial software. The recent 3.0.0 release adds pushover analysis, and the codebase is tested against known solutions. Start with the examples folder and readthedocs documentation to evaluate fit for your specific analysis needs.
Install
pynitefea on PyPI
Before you install
Low install friction with a pure-Python wheel and four common scientific dependencies (numpy, scipy, matplotlib, PrettyTable). The package is actively maintained with a recent release (74 days ago) and 728 repository stars, indicating stable ongoing development.
Requires Python 3.11 or later; numpy, scipy, matplotlib, and PrettyTable must be installed (included in [all] extra).
License in practice
Licensed under MIT (permissive), allowing unrestricted use, modification, and distribution in both open-source and commercial projects without copyleft obligations.
Quickstart
pip install PyniteFEA[all]
import numpy
import scipy
import matplotlib
import PrettyTable
# Create and solve a finite element model using PyNiteFEA's API
Verify before relying
- Whether the package handles dynamic analysis beyond modal analysis and pushover
- Performance characteristics and scalability limits for large models with many elements
- Validation scope and accuracy bounds for nonlinear pushover analysis beyond I-shaped steel members
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesnumpyPrettyTablescipymatplotlib |
| Maintenance | Actively maintained 74 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 135,267 / month, #11,443 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13 |
Evidence: pynitefea-3.0.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “structural analysis library”
- PyNiteFEAPyNiteFEA performs 3D elastic structural finite element analysis,…
- openseespylinuxOpenSeesPy Linux provides a Python interface to OpenSees, an…
- anastructAnalyzes 2D frames and trusses to compute bending moments, shear…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also anastruct · scikit-fem · openseespy · openseespylinux · cytriangle · pyvista · pymeshfix · gmsh · fast-simplification · pymeshlab