--- id: anastruct version: "1.7.0" license: GPL-3.0-or-later license_treatment: copyleft maintenance: active --- # anastruct — Finite element analysis of 2D structures License: copyleft · Maintenance: active · Downloads: 119.4K/mo ## What it is and what it does anaStruct is a finite element analysis library for 2D structural systems—frames, trusses, and beams. It computes internal forces (bending moments, shear forces, axial forces) and displacements under various loading conditions. The package supports diverse boundary conditions (fixed, hinged, and spring supports), load types (point loads, distributed loads, dead load), and structural features (hinged elements, rotational springs, non-linear nodes). It relies on numpy and scipy for numerical computation. The library is designed for structural engineers and researchers analyzing slender 2D structures. It includes visualization tools to display the structure, reactions, internal force diagrams, and deformations. It also provides access to standard steel section databases (EU, US, UK) and supports load cases and combinations, making it suitable for both educational and practical engineering applications. Use it for: - Analyze a multi-span beam under distributed and point loads to find maximum bending moments and reactions. - Design a truss structure by computing axial forces in members and checking against allowable stresses. - Model a frame with spring supports to study the effect of foundation compliance on displacements. - Perform non-linear water accumulation analysis on a structure to predict load redistribution. - Verify hand calculations for a simple cantilever or simply-supported beam during design review. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Analyzes 2D frames and trusses to compute bending moments, shear forces, axial forces, and displacements for slender structures. Yes, if you are working on 2D structural analysis in Python and can accept a copyleft license. The package is actively maintained, has no known vulnerabilities, and provides a complete FEA workflow for frames and trusses. Install only if your project permits GPL-3.0-or-later licensing; otherwise, seek an alternative with a permissive license. ## Install pip install anastruct uv add anastruct poetry add anastruct ## Installing anastruct Before you install: Medium install friction due to compiled wheels for multiple Python versions (3.10–3.13) and platforms. Active maintenance with a recent commit on 2026-08-07 and no known vulnerabilities. License in practice: GPL-3.0-or-later (copyleft) means any derivative work or distribution must also be open-source under compatible terms; suitable for research and open-source projects but requires careful review in proprietary contexts. Quickstart: from anastruct import SystemElements ss = SystemElements(EA=15000, EI=5000) ss.add_element(location=[0, 5]) ss.add_support_fixed(node_id=1) ss.point_load(Fx=30, node_id=2) ss.solve() ss.show_bending_moment() Requires Python >= 3.10; numpy and scipy must be installed. Verify before relying: - Whether the package supports non-linear analysis beyond the geometrical non-linearity mentioned in the description. - Performance characteristics and scalability limits for large structures. - Availability and completeness of the EU, US, UK steel section database. ## Package facts - License: GPL-3.0-or-later (copyleft) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 119.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags 2D frame analysis, truss analysis, finite element analysis, structural analysis python, bending moment calculation, shear force computation, beam analysis, structural-analysis, finite-element-method, engineering [View on SkillFed](https://skillfed.io/packages/anastruct) · [View on PyPI](https://pypi.org/project/anastruct/)