Skip to content

jsbayley/gazelle

Gazelle

🦌 A Fast Engine for Structural Engineering. 💨

Open in Dev Containers Contributor Covenant

License: AGPL-3.0 CI

.NET Version

Table of Contents

What Is Gazelle?

Gazelle is a .NET library and Command-Line Interface (CLI) written in F#. It favours a batteries-included approach with intuitive CLI commands, structured outputs, Eurocode design equations, and ETABS I/O support. Gazelle is optimised for automation, CI pipelines, and workflow orchestration using peripheral command-line tools or AI orchestrators. The standard I/O mechanics of CLI tools allow them to interoperate easily with other languages and technology stacks, which opens up the ecosystem for collaboration and innovation.

Why Build It?

Frustrated by the friction and opacity of traditional engineering software, and an admiration for the Unix Philosophy of small, focussed, composable tools, we set out on a journey to build a modern equivalent for the Structural Engineer. Gazelle aims to play nicely with the wider ecosystem, offer a stable and reliable platform for others to build on top of, and ultimately be a tool of choice for Engineers everywhere. We want to build something that Engineers love to use.

Get Started

New to Gazelle? Choose your pathway:

Releases

Gazelle is distributed via self-contained binaries for Windows, MacOS, and Linux at https://gazelle.sh.

Documentation

Check out these resources to learn Gazelle.

Design Philosophy

Gazelle is, first and foremost, the tool we wish existed:

  • Fast,
  • Local,
  • Minimal,
  • Type-safe,
  • Composable,
  • Transparent, and
  • Crafted with intention.

The project is the purest expression of our love for:

  • Order,
  • Clarity,
  • Purpose,
  • Elegance,
  • Precision, and
  • Experience Design.

Project Values

Gazelle is opinionated by design. These nine principles guide every decision in the project and set clear expectations for engineers and contributors.

  1. Privacy-First: All computation happens locally. Your data stays with you.
  2. Radical Transparency: Algorithms must be readable, verifiable, and open to scrutiny.
  3. Open Collaboration: Open code, discussion, and shared learning strengthen our profession.
  4. Reliability Matters: Stability, correctness, and deterministic behaviour matter more than novelty.
  5. Type-Safe by Design: F# Units-of-Measure and strong typing ensure mistakes surface at compile time.
  6. Designed for Humans: Simplicity, clarity, and flow are core design goals to reduce cognitive load.
  7. Optimised for AI: Clean CLI interfaces and structured data formats are ideal for AI orchestration.
  8. Small Composable Tools: Unix-style components combine into workflows.
  9. Performance as a Feature: Lean, fast, low-friction engineering binaries.

Why F#?

We primarily selected F# because of its Units-of-Measure feature, the language's succinctness for expressing mathematical formulae, and the interop with existing engineering applications offered by .NET. The strictness of the F# compiler makes it ideal for maintaining correctness. For safety-critical software development, compiler strictness helps to ensure structural integrity. The advanced domain modelling and type system characteristics of F# also allow for elegant expression of complex algorithms, which ultimately improves clarity, maintainability, and readability.

A Note From Our Creator

Gazelle is the clearest, most honest expression of my craft, my philosophy, and my desire to create a better way for engineers to think and work. It sits at the exact intersection of who I am, how I think, and what I wish existed in the world. It's ultimately a form of self-expression. Gazelle is my way of showing that AEC tools can be more humane. We don’t need bloated GUIs to do serious engineering. We can centre experience design in a field that ignores it. We can open-source safety-critical tooling and still maintain trust.

I am humbled and energised to see so many people take an interest in the project and follow its evolution. I welcome and encourage as many of you as possible to get involved and join our community. If you love Gazelle and wish to support, you can also sponsor its development here on GitHub.

I appreciate each and every one of you. Your advice and suggestions help to shape the strategic roadmap for Gazelle. If you'd like to chat, you can always reach me on LinkedIn. Please use our discussions forum to meet others in our community.

🦌 James 💨

Join Our Community

Gazelle is a community-led project designed to:

  • Accelerate AEC innovation,
  • Underpin academic research,
  • Support Structural Engineering education, and
  • Connect like-minded Engineers.

Please ⭐ and 'watch' this repository so that you can track its progress in real-time. You can also get involved in the discussions where the design decisions for the future of Gazelle are conducted in the open.

Roadmap

We are currently defining the roadmap. Please keep an eye on our GitHub repository for updates.

Open Source

Engineers accept phenomenal responsibility when dedicating their lives to improving our built environment. However, the vast majority of professional engineering software is, regrettably, closed source and proprietary. This is unfair and must change. Engineers should be offered the respect and freedom to inspect, validate and influence the algorithms used to design our buildings and bridges.

Gazelle is proudly open source.

Security

Review our security policy for reporting vulnerabilities.

Errata

We consider structural engineering software to be safety critical. We strive to ensure stability, robustness and correctness throughout the source code, test suite and companion documentation. Nevertheless, we are human and mistakes are possible. Please submit error reports and suggestions for improvement via GitHub Issues.

Help and Support

Stuck and need support? Here are a few suggested next steps:

  • Review our documentation to see if we've answered your question.
  • Check out Issues to see if others are experiencing similar problems.
  • Review Discussions to discover conversations our community is having.
  • File a new Issue and help us improve Gazelle.
  • Reach out on LinkedIn and we'll do our best to help you.

Our Contributors

Thanks to those who have contributed to Gazelle and help to keep the project moving forwards:


Built with ❤️ for the global engineering community

Fast • Simple • Reliable • Transparent • Cross-platform

Sponsor this project

 

Languages