Skip to content

Blueprints-org/blueprints

Repository files navigation

LinkedIn Run Tests Read the Docs codecov PyPI GitHub Python versions

blueprints banner

Documentation: https://blueprints.readthedocs.io

Source Code: https://github.com/Blueprints-org/blueprints

Discord: https://discord.gg/hBZBqegEzA

LinkedIn: https://www.linkedin.com/company/blueprints-org


Welcome to Blueprints, the go-to repository for civil engineering professionals and enthusiasts!

It includes programmable engineering standards, formulas, tables, and checks across a variety of structural and geotechnical disciplines. We offer tools for materials, geometry, and section checks, as well as a foundation of essential use cases designed to meet all key engineering needs.

Stop coding civil engineering logic from scratch, ditch Excel, and start collaborating to shape the future of civil engineering! 🚀

See our ROADMAP for detailed feature status and upcoming developments.

Installation

Python >=3.12 is required.

For the last release:

pip install blue-prints

For the actively developed version:

pip install git+https://github.com/Blueprints-org/blueprints.git

Developer CLI

Blueprints includes a command-line interface for development automation, designed to simplify developing and contributing to the project. Maybe you want to check locally if your code passes all quality checks before making a PR? Or serve the documentation locally with live reload? We got you covered!

Quick Start

Install with CLI dependencies:

uv sync --group cli

Pre-PR validation (recommended):

blueprints check

This runs all quality checks: lint, format, typecheck, and coverage. In one single command! Simple as that. All checks passed? then you are good to go with your PR.

Documentation

For complete CLI documentation, including all available commands, advanced usage, and pass-through arguments, see the Developer CLI Guide.

Quick Start

from blueprints.materials.concrete import ConcreteMaterial, ConcreteStrengthClass
from blueprints.materials.reinforcement_steel import ReinforcementSteelMaterial, ReinforcementSteelQuality

# Calculate concrete properties
concrete = ConcreteMaterial(concrete_class=ConcreteStrengthClass.C30_37)  # C30/37 concrete
print(f"Design strength: {concrete.f_cd} MPa")

# Check reinforcement
rebar = ReinforcementSteelMaterial(steel_quality=ReinforcementSteelQuality.B500B)  # B500B rebar
print(f"Design yield strength: {rebar.f_yd} MPa")

Output:

Design strength: 20.0 MPa
Design yield strength: 434.7826086956522 MPa

Key Features

  • Eurocode Implementations: EN 1992 (Concrete), EN 1993 (Steel), EN 1997 (Geotechnical), etc.
  • Material Definitions: Concrete, steel, rebar, and soil properties
  • Steel Profile Database: HEA, HEB, IPE, CHS, RHS, UNP profiles, etc.
  • Shape Building Blocks: Rectangle, circle, tube, triangle, hexagon, etc.
  • Engineering Checks: Shear, torsion, punching, anchorage, concrete cover, etc.
  • 100% Test Coverage: Reliable, well-tested implementations

Mission

Our mission is to reduce the cost and time associated with civil engineering calculations by:

  • Offering a robust suite of tools that encapsulate both basic and advanced engineering tasks
  • Providing an open-source alternative to expensive proprietary tools with full transparency
  • Standardizing programmable civil engineering implementations, minimizing redundancy
  • Fostering a community where sharing knowledge and best practices is the norm
  • Ensuring 100% code coverage and high-quality documentation

Documentation

Full documentation is available at blueprints.readthedocs.io.

How to Contribute

We welcome contributions from developers and engineers of all skill levels! Here's how you can contribute:

  • Fork the Repository: Create your own fork of the project.
  • Create a Branch: Make a feature branch (git checkout -b feature/new-feature).
  • Make Your Changes: Write clear, concise code and ensure it's fully covered with tests.
  • Run Tests: Use pytest to ensure all tests pass.
  • Submit a Pull Request: Push your branch and open a pull request against main.

To learn more, see our full Contributor Guide.

License

Blueprints is free and open source software. Distributed under the terms of the MIT license.

Support

If you have found a bug 🐛, or have a feature request ✨, raise an issue on the GitHub issue tracker. Alternatively you can get support on the discussions page.

Disclaimer

Users are responsible for verifying results and ensuring compliance with applicable codes and regulations. See our full disclaimer for details.

About

Blueprints, open source python package for civil engineering calculations.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 24