In the rapidly evolving landscape of today’s world, the availability of educational resources for coding has become increasingly accessible. For engineers who are interested in exploring the realm of coding and developing their own applications, the initial hurdles can often seem daunting. However, it is important to recognize that a wealth of knowledge and resources already exist, with individuals having developed foundations and libraries of functions that can serve as a launching pad for beginners.
We aim to demystify the process for engineers venturing into coding by highlighting the readily available coding libraries in Python. These libraries act as repositories of code snippets and preexisting functions, offering a solid foundation from which engineers can confidently embark on their coding journey. Want to develop code for designing a steel beam? There’s a library for that. Want to calculate concrete section properties? There’s a library for that too.
Why did we create this list?
When we were first developing Civils.ai we found it difficult to find all the great open-source work other Engineers had already prepared. After spending hours searching and collecting these resources we realised it would be helpful to publish the list to make it easier for other Civil Engineers to find these awesome resources. We have curated a comprehensive list of open-source resources specifically tailored for Civil Engineers using Python, all conveniently available on GitHub. Our aim is to provide engineers with a curated selection of tools, libraries, and frameworks that serve as a solid foundation for their coding journey. By leveraging open-source solutions, engineers can access a wealth of knowledge, tap into collaborative communities, and harness the power of shared code contributions. We empower civil engineers to unlock their coding potential and embark on a path of innovation and efficiency in their field.
What is a code library?
Code libraries, also known as software libraries or code repositories, are collections of prewritten, reusable code modules or functions that serve specific purposes. These libraries are designed to provide a set of tools and functionalities that can be utilized by programmers and developers to simplify the process of building software applications. By encapsulating commonly used code snippets, libraries offer a convenient way to access and incorporate established code solutions into new projects.
Below are the GitHub links to the latest additions in our extensive compilation of open-source libraries. These repositories represent the most up-to-date resources that we have curated, encompassing a wide range of programming languages and domains. These links showcase the diverse range of resources we have specifically for civil engineers using Python. Each link represents a unique library that can empower engineers to streamline their workflows, optimize their processes, and unlock new possibilities in their projects.
Without further a do, here is the full list:
Structural beam analysis: https://github.com/JesseBonanno/IndeterminateBeam
2D Frame Analysis: https://github.com/ritchie46/anaStruct
Geotechnical slope stability: https://github.com/JesseBonanno/PySlope
Pad foundation design: https://github.com/CodedKunz/FoundationDesign
Reinforced concrete properties: https://github.com/robbievanleeuwen/concrete-properties
3D Frame Analysis: https://github.com/JWock82/PyNite
Ground anchor design: https://github.com/tunnelsai-public/PyAnchor
AGS data convertor: https://gitlab.com/ags-data-format-wg/ags-python-library
Geological modelling: https://github.com/cgre-aachen/gempy
Geotechnical functions: https://github.com/snakesonabrain/groundhog
Xlwings: https://github.com/xlwings/xlwings
If you’d like a guided path to mastering the libraries above, watch the two‑minute overview below. You’ll see the four web‑based tools we build during the Python for Civil Engineering Certification and learn how each one replaces hours of manual spreadsheet work.
Python sits at the heart of today’s most powerful engineering automation, from finite‑element solvers to AI‑driven optimisation. By adding Python to your toolbox you can:
Across seven bite‑sized modules you will craft four deployable apps that replace hours of manual work. Expand each panel below for a short preview:
Publish a web‑based beam calculator that returns deflection, shear and moment diagrams in seconds.
PyNite
.Generate full M‑N interaction diagrams and optimise rebar layouts in a browser.
Assess factor‑of‑safety using Bishop’s Method with layered soils and pore‑water pressures.
Visualise deformed shapes, forces and stresses for complex space frames directly in the browser.
Every app is self‑hosted on a free cloud platform, so you can demo your work to clients or colleagues from any device.
We kick off the course by explaining exactly how the course works.
Lesson duration: 10 mins
Lesson type: Theory
Things you will learn:
This is a beginner friendly crash course explaining how programming languages work and how to get started scripting in Python.
Lesson duration: 60 mins
Lesson type: Theory & Practical
Building upon the last lesson, we look at how we can host our applications on the web and publish our first web app.
Lesson duration: 45 mins
Lesson type: Theory & Practical
We build our own self-hosted beam analysis tool and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
We build our own self-hosted reinforced concrete design tool and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
We build our own self-hosted slope stability analysis tool and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
We build our own self-hosted Finite Element Analysis software and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
Join 300+ civil & structural engineers already automating their design workflows with the Python for Civil Engineering certification. Stop wrestling with spreadsheets—build your own web-based tools instead!
Explore the Course →