This repository serves as a curated database of Python libraries for professional engineers, specifically focusing on Civil, Structural, Geotechnical, Hydrotechnical, Mechanical, and Electrical disciplines. It also includes sections for essential Data Analysis & Visualization, Machine Learning, and Automation / Productivity tools. The primary objective is to facilitate the discovery and application of Python in diverse engineering tasks.
For those interested in learning Python to enhance their engineering skills, visit:
- Flocode Newsletter offers focused content on Python programming applications in civil and structural engineering, ranging from beginner to advanced levels. Content is tailored for engineers, not computer scientists, using clear and accessible language to explain Python's role in engineering.
- Flocode Courses for structured learning paths.
We welcome contributions from the community! Whether it's adding new libraries, improving the documentation, or reporting issues, your input is highly appreciated.
To contribute:
- Fork the project.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
This project is licensed under the MIT License.
If you have any questions or want to reach out, visit flocode.dev.
Library | Description | Tag |
---|---|---|
HandCalc | Render Python math in human-readable form using LaTeX | Calculation Tools |
CalcTree | Control and automate your calculations via API | Calculation Tools |
forallpeople | Units-aware calculations with dimensional consistency | Calculation Tools |
CadQuery | Script-based parametric CAD modeling | 3D Modelling / CAD |
Compas | Computational design framework | 3D Modelling / CAD |
exdxf | Read, modify, and create new DXF drawings | 3D Modelling / CAD |
FreeCAD API | Scripting and extending FreeCAD | 3D Modelling / CAD |
Blender API | Control and extract data from Blender | 3D Modelling / CAD |
BlenderBIM | Manipulate BlenderBIM | 3D Modelling / CAD |
pyRevit | Rapid prototyping API for Revit | 3D Modelling / CAD |
pyautocad | COM automation for AutoCAD | 3D Modelling / CAD |
rhino3dmpy | Geometry manipulation for Rhino 3D | 3D Modelling / CAD |
rhinoscriptsyntax | Scripting engine for Rhino | 3D Modelling / CAD |
SolidPython | OpenSCAD-style 3D CAD scripting in Python | 3D Modelling / CAD |
geolysis | Soil classification and bearing capacity | Geotechnical |
geotech-pandas | Pandas extension for geotechnical use | Geotechnical |
Groundhog | Geotechnical calculation library | Geotechnical |
LiquPy | Liquefaction analysis | Geotechnical |
FoundationDesign | Foundation design calculations | Geotechnical |
Geotecha | Geotechnical engineering tools | Geotechnical |
ObsPy | Seismological data analysis | Geotechnical |
OpenPile | Pile design using FEM/Winkler models | Geotechnical |
pySlope | Slope stability analysis | Geotechnical |
PyAnchor | Soil anchor design | Geotechnical |
DeepFEM | Advanced finite element analysis in geomechanics | Geotechnical |
GEOPY | General geotechnical calculations | Geotechnical |
fluids | Fluid dynamics utilities | Hydrotechnical |
ChannelFlowlib | Open channel flow solver | Hydrotechnical |
Hydroengine | Environmental/hydrological analysis tools | Hydrotechnical |
Hydrostats | Hydrological statistics and analysis | Hydrotechnical |
PyHSPF | Hydrological Simulation Program Fortran wrapper | Hydrotechnical |
raspy | HEC-RAS Python tools | Hydrotechnical |
WaterTAP | Water treatment process design and analysis | Hydrotechnical |
PySWMM | Python wrapper for the Storm Water Management Model (SWMM) | Hydrotechnical |
Hydrofunctions | Accessing and analyzing USGS hydrological data | Hydrotechnical |
Keras | High-level deep learning API | Machine Learning |
OpenCV | Image processing and computer vision | Machine Learning |
PyTorch | Deep learning framework | Machine Learning |
Scikit-learn | Classical ML algorithms | Machine Learning |
TensorFlow | Deep learning and ML | Machine Learning |
XGBoost | Gradient boosting framework for structured data | Machine Learning |
LightGBM | High-performance gradient boosting framework | Machine Learning |
DynPy | Dynamics system simulation | Mechanical |
Shapely | Planar geometry operations | GIS |
Folium | Leaflet.js interactive maps | GIS |
GeoPandas | Spatial operations with pandas | GIS |
PyQGIS | QGIS API in Python | GIS |
Pydantic | Data validation with type hints | Other |
PySpark | Big data distributed processing | Other |
SQLAlchemy | Database abstraction toolkit | Other |
PyTest | Unit testing framework | Other |
Click | Creating command-line interfaces | Other |
requests | Making HTTP requests | Other |
tqdm | Displaying progress bars | Other |
Selenium | Web browser automation for testing and data extraction | Automation / Productivity |
Cookiecutter | Project templating from various template sources | Automation / Productivity |
Fabric | Streamlined SSH application deployment and system administration | Automation / Productivity |
Invoke | Task execution and command-line management | Automation / Productivity |
Pyautogui | GUI automation for controlling mouse and keyboard | Automation / Productivity |
OpenPyXL | Read/write Excel 2010 xlsx/xlsm/xltx/xltm files | Automation / Productivity |
python-docx | Create and update Microsoft Word .docx files | Automation / Productivity |
ReportLab | Create PDF documents programmatically | Automation / Productivity |
efficalc | Render Python calculations clearly | Scientific Computing |
Jupyter Notebook | Interactive computing interface | Scientific Computing |
NumPy | N-dimensional array operations | Scientific Computing |
SciPy | Scientific computing library | Scientific Computing |
SymPy | Symbolic mathematics | Scientific Computing |
Pandas | Data manipulation and analysis | Data Analysis & Visualization |
Matplotlib | Static, interactive, and animated visualizations | Data Analysis & Visualization |
Seaborn | Statistical data visualization | Data Analysis & Visualization |
Plotly | Interactive, web-based visualizations | Data Analysis & Visualization |
Blueprints | Structural calculations per Eurocode | Structural |
IndeterminateBeam | Indeterminate beam solver | Structural |
Anastruct | 2D frame analysis | Structural |
ak_sap | SAP2000 FE model control | Structural |
comtypes | SAP2000/Etabs automation | Structural |
OpenSees | General FEM analysis | Structural |
sectionproperties | Cross-section property analysis | Structural |
PyAbaqus | Abaqus scripting | Structural |
PyAnsys | Ansys automation tools | Structural |
PyCBA | Beam analysis via stiffness method | Structural |
Pynite | General finite element solver | Structural |
PyTekla | Tekla Structures automation | Structural |
PlaneSections | Beam bending and moment visualization | Structural |
Steelpy | AISC steel section properties | Structural |
StruPy | General structural design library | Structural |
StructuralCodes | Code-compliant structural design (fib/Eurocode) | Structural |
StructPy | Structural analysis via stiffness method | Structural |
Viktor | Low-code platform for engineers | Structural |
pycalculix | 2D FEM solver via CalculiX | Structural |
FEA Toolkit | Mesh generation for FEM | Structural |
PyNiteCoupler | Integrates PyNite with other tools | Structural |
Compyl | Structural code checking | Structural |
Beautiful Soup | HTML/XML parsing | Web Dev |
Django | Full-featured web framework | Web Dev |
FastAPI | Fast web APIs with type hints | Web Dev |
Flask | Lightweight web framework | Web Dev |
Litestar | Lightweight async API framework | Web Dev |
Solara | Reactive web apps for engineers | Web Dev |
Streamlit | Rapid dashboards & apps | Web Dev |