OsdagBridge is a modular, shared-core software plugin for the analysis and design of steel bridges within the Osdag ecosystem.
It supports desktop (PySide6), web (Django + React), and CLI interfaces through a unified Python core.
The system currently supports:
- Plate Girder Bridges
Additional bridge types can be added through the plugin architecture.
All numerical logic and I/O are implemented once in osdagbridge.core.
The desktop GUI, web app, and CLI all reuse the same core for consistent behavior.
Each bridge type includes:
- DTO (input model schema)
- Initial sizing routines
- Structural analysis configuration
- Design and code-check modules
- CAD geometry generation
- Report generation utilities
Common structural elements are defined in bridge_components/:
- Girders
- Decks
- Crash barriers
- Pedestals
- Piers
- Foundations
- Piles and pile caps
Components are shared across multiple bridge types.
Multiple analysis backends are supported:
- Native lightweight FEM solver
- OpenSeesPy
- OspGrillage
Solvers are switchable at runtime via adapters.
Included under core/utils/codes/:
- IRC:6–2017
- IRC:22–2015
- IRC:24–2010
These modules provide load models, combinations, material factors, and code checks.
OsdagBridge/
├── docs/
├── examples/
├── tests/
└── src/
└── osdagbridge/
├── core/ # Analysis, design, IO, solvers, codes
├── bridge_types/ # Plate girder, box girder, truss
├── bridge_components/ # Reusable components
├── cli/ # Command-line interface
├── desktop/ # PySide6 GUI
└── web/ # Django + React web stack
Clone the repository:
git clone https://github.com/osdag-admin/OsdagBridge.git
cd OsdagBridgeInstall in editable mode:
pip install -e .Run an analysis:
osdagbridge analyze project.yaml --solver nativeGenerate a report:
osdagbridge report project.yaml report.pdfpython -m osdagbridge.desktopBackend:
python src/osdagbridge/web/backend/manage.py runserverFrontend:
cd src/osdagbridge/web/frontend
npm install
npm startRun the complete test suite:
pytest -qContinuous integration runs automatically through GitHub Actions (.github/workflows/ci.yml).
- Core logic:
src/osdagbridge/core/ - Codes & standards:
src/osdagbridge/core/utils/codes/ - Bridge types:
src/osdagbridge/bridge_types/ - Components:
src/osdagbridge/bridge_components/ - CLI:
src/osdagbridge/cli/ - Desktop GUI:
src/osdagbridge/desktop/ - Web backend/frontend:
src/osdagbridge/web/
- Fork the repository
- Create a feature branch
- Ensure all tests pass (
pytest) - Submit a pull request
OsdagBridge is part of the Osdag project, promoting open-source tools for steel design education, research, and practice.
This project is licensed under the MIT License.
See the LICENSE file for full details.