OFire - Fire Safety Engineering Library
A comprehensive Python package for fire safety engineering calculations and tools, built on industry standard fire engineering documents and implemented in Rust for performance and reliability.
Overview
OFire provides Python bindings for a wide range of fire engineering calculations from authoritative sources including:
- BR 187 - External Fire Spread (Building Research Establishment)
- BS 9999 - Code of Practice for Fire Safety in the Design, Management and Use of Buildings
- CIBSE Guide E - Fire Safety Engineering
- PD 7974 - Application of Fire Safety Engineering Principles to the Design of Buildings
- SFPE Handbook - Fire Protection Engineering
- Introduction to Fire Dynamics - Fundamental fire behavior principles
- TR 17 - Fire Safety Engineering Technical Reports
All calculations are implemented in Rust and exposed through Python bindings using PyO3 for optimal performance and memory safety.
Installation
Install from PyPI using pip:
pip install ofire
Quick Start
import ofire
# Calculate thermal radiation intensity using BR 187
radiation = ofire.br_187.appendix_a.equation_a2.radiation_intensity_at_receiver(0.15, 50000.0)
print(f"Received radiation: {radiation:.1f} W/m²")
# Calculate view factor for parallel surfaces using BR 187
x = ofire.br_187.appendix_a.equation_a3.x(5.0, 10.0)
y = ofire.br_187.appendix_a.equation_a3.y(3.0, 10.0)
view_factor = ofire.br_187.appendix_a.equation_a3.phi(x, y, True)
print(f"View factor: {view_factor:.4f}")
# Calculate heat release rate at flashover using CIBSE Guide E
flashover_hrr = ofire.cibse_guide_e.chapter_6.equation_6_7.heat_release_rate_flashover(2.0, 2.1)
print(f"Flashover HRR: {flashover_hrr:.1f} kW")
# Calculate mean flame height using CIBSE Guide E
flame_height = ofire.cibse_guide_e.chapter_6.equation_6_55.mean_flame_height(1000.0)
print(f"Mean flame height: {flame_height:.2f} m")
📚 Documentation
📖 Complete API Documentation & Examples →
Find the complete function reference, mathematical formulations, detailed examples, and all supported fire engineering standards and modules in the full documentation.
Links
- 🏠 Homepage: https://www.openfiresoftware.com/
- 📖 Documentation: https://fire-library.github.io/openfire/
- 💻 Source Code: https://github.com/fire-library/openfire
Contributing
We welcome contributions! Please see our Contributing Guidelines for information on how to get started.
License
This project is licensed under the terms specified in the PYTHON_LICENSE file.
Metadata
Release files for ofire 0.1.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ofire-0.1.16.tar.gz | 171.3 kB | Details |
Built distributions (wheels)
Total release size: 3.0 MB
Release files / ofire-0.1.16.tar.gz
| Download URL | ofire-0.1.16.tar.gz |
|---|---|
| Size | 171.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
47e11bc2083c8f86ad912470e417068f7e787b8a50c82ef76e0b7a5437cfcdd1
|
|
BLAKE2b-256 checksum How to use checksums |
85a46b82ff4ee7715ead46fd2b723f067851c28e4172670f0d1a90bcc6a0dfb8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | ofire-0.1.16-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 335.7 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.10 PyPy 3.10 7.3 |
|
SHA-256 checksum How to use checksums |
690ac464faa54130e1c0ef4cb86f72eec7ef58628bd8fe53ce889655c88ffde7
|
|
BLAKE2b-256 checksum How to use checksums |
5e4f553e6d6ca2fdf84d34f305081c63b1820f8626d1c8d0f61e715b8faedc3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | ofire-0.1.16-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 336.4 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.9 PyPy 3.9 7.3 |
|
SHA-256 checksum How to use checksums |
c882187c6b30443f0e190b588d0365156ac84a3d4487f66f1e096d98ce0f899e
|
|
BLAKE2b-256 checksum How to use checksums |
f8fe837d3d4f932b7e6e82ef9d64902d8062202eed462c066990da660f90e620
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | ofire-0.1.16-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 336.4 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.8 PyPy 3.8 7.3 |
|
SHA-256 checksum How to use checksums |
f54d20c479127d1fce89db7bc7aeccea91e5212d0a8c07842cb957f9b54f73a8
|
|
BLAKE2b-256 checksum How to use checksums |
bd467a509bee638efa4f4823862793488b0eba0c38c7ece4d678f29106260ef6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | ofire-0.1.16-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 339.9 kB |
| Tags | Linux glibc 2.17+ ARM64 PyPy 3.7 PyPy 3.7 7.3 |
|
SHA-256 checksum How to use checksums |
60f623fd595cc44eba4e11fbfb6c4ed3feaf1b8a76c84b2171efbf2ba7878f94
|
|
BLAKE2b-256 checksum How to use checksums |
1ad90611e0141f3be9e7b5379f1c7107e53171df8d286b963b7e8f29e48d47a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-cp38-abi3-win_amd64.whl
| Download URL | ofire-0.1.16-cp38-abi3-win_amd64.whl |
|---|---|
| Size | 187.4 kB |
| Tags | CPython 3.8 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
002f1d05a2cd89e3fbf8b218b1c282ba4941688bd8d455d1da05bb96b7f45098
|
|
BLAKE2b-256 checksum How to use checksums |
c05a0d5a146275b632f2741b7ab21106cc577ae1ccf5ba858b1d6a10088ece13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-cp38-abi3-manylinux_2_34_x86_64.whl
| Download URL | ofire-0.1.16-cp38-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 340.1 kB |
| Tags | CPython 3.8 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
589dc04ec9098bcb0d01673e4dcd91235a4d7fdea8570abb67d0d163fcf2aaac
|
|
BLAKE2b-256 checksum How to use checksums |
b2a5c19b2f2234a49d8e74cbd8143d17781c81bdb8a3cc0234e16f457a16e3b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | ofire-0.1.16-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 340.8 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
eee189c1092957d5e6f8708820b05464e00dd8efee29f54df7897d8e39a295ee
|
|
BLAKE2b-256 checksum How to use checksums |
1edbb009f37204bdcdeb65e6ff3362ed8fa884865714cb285b942f7411cd81ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-cp38-abi3-macosx_11_0_arm64.whl
| Download URL | ofire-0.1.16-cp38-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 299.9 kB |
| Tags | CPython 3.8 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2dbd7ad8ade62a6ded2615f166b450f5de48b44ffa8b662a423b5f55b21c0980
|
|
BLAKE2b-256 checksum How to use checksums |
f8c01008845f50902c70545ef70de16bb73a74521db0b08d483933f042c015cb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|
Release files / ofire-0.1.16-cp38-abi3-macosx_10_12_x86_64.whl
| Download URL | ofire-0.1.16-cp38-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 298.0 kB |
| Tags | CPython 3.8 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
f64acb6ba75bab8e72990042ccdd23436372ce483ae982e191e73d5f8b1f9d3c
|
|
BLAKE2b-256 checksum How to use checksums |
455f5d45e4efee03607c0de9e90f20a13d8e6ea7e27936731ca4f4120b084929
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.11.5
|