Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 27 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# FireSciPy

[![FireSciPy Documentation](https://img.shields.io/badge/docs-online-brightgreen)](https://FireDynamics.github.io/FireSciPy/)

Fundamental algorithms from the field of fire science and fire safety engineering, for computations with Python.

Documentation is available here: [![FireSciPy Documentation](https://img.shields.io/badge/docs-online-brightgreen)](https://FireDynamics.github.io/FireSciPy/)

Examples are available in Jupyter notebooks in the [FireSciPy repo on GitHub](https://github.com/FireDynamics/FireSciPy).



## Meta Information

Distributed under the CC-BY-4.0 license (Creative Commons Attribution 4.0 International Public License, https://creativecommons.org/licenses/by/4.0/). See ``LICENSE`` for more information.

[https://github.com/FireDynamics/FireSciPy](https://github.com/FireDynamics/FireSciPy)


## Contributing

Contributions to this package are welcome!

Please feel free to use the [discussions forum](https://github.com/FireDynamics/FireSciPy/discussions) or the [issue tracker](https://github.com/FireDynamics/FireSciPy/issues) to get in contact with us. From there, we can talk about your ideas and see how to implement them.

Practical summary for contributions directly to the repo:

1. Fork it (<https://github.com/FireDynamics/FireSciPy/fork>)
2. Create your feature branch (`git checkout -b feature/fooBar`)
3. Commit your changes (`git commit -am 'Add some fooBar'`)
4. Push to the branch (`git push origin feature/fooBar`)
5. Create a new Pull Request
6 changes: 3 additions & 3 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
FireSciPy Documentation
=======================

Welcome to the documentation for FireSciPy — a Python package for fire science and fire safety engineering calculations.
Welcome to the documentation for FireSciPy — a Python package for fire safety engineering and fire science calculations.


Tutorials
---------

This section provides hands-on examples of the various functions.
This section provides hands-on examples of the various functions. There are also Jupyter notebooks available for download that contain these examples. Check out the `FireSciPy repo <https://github.com/FireDynamics/FireSciPy>`_ on GitHub.

.. toctree::
:maxdepth: 2
Expand All @@ -16,7 +16,7 @@ This section provides hands-on examples of the various functions.
tutorials/index


Documentation
API Documentation
-------------

This section provides a reference for the internal data structure, key
Expand Down
42 changes: 38 additions & 4 deletions docs/tutorials/pyrolysis/notebooks/FireSciPy_KAS_Demo.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,12 @@
"import os\n",
"import re\n",
"import sys\n",
"import matplotlib\n",
"\n",
"import numpy as np\n",
"import scipy as sp\n",
"import pandas as pd\n",
"import FireSciPy as fsp\n",
"import firescipy as fsp\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from importlib import reload # Python 3.4+\n",
Expand Down Expand Up @@ -56,6 +58,38 @@
"})\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"###########################################################################\n",
"## ! Use the 'requirements.txt' to create a virtual Python environment ! ##\n",
"###########################################################################\n",
"\n",
"# Package Versions\n",
"# ----------------\n",
"# Python version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]\n",
"# Python path: F:\\PhD\\PythonPackage\\venv_Packaging\\Scripts\\python.exe\n",
"# Numpy version: 2.3.2\n",
"# SciPy version: 1.16.1\n",
"# Pandas version: 2.3.1\n",
"# Matplotlib version: 3.10.5\n",
"# FireSciPy version: 0.0.3\n",
"\n",
"\n",
"print('Package Versions')\n",
"print('----------------')\n",
"print('Python version: {}'.format(sys.version))\n",
"print('Python path: {}'.format(sys.executable))\n",
"print('Numpy version: {}'.format(np.__version__))\n",
"print('SciPy version: {}'.format(sp.__version__))\n",
"print('Pandas version: {}'.format(pd.__version__))\n",
"print('Matplotlib version: {}'.format(matplotlib.__version__))\n",
"print('FireSciPy version: {}'.format(fsp.__version__))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down Expand Up @@ -1489,9 +1523,9 @@
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"display_name": "Python (venv_Packaging)",
"language": "python",
"name": "python3"
"name": "venv_packaging"
},
"language_info": {
"codemirror_mode": {
Expand All @@ -1503,7 +1537,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
"version": "3.13.3"
}
},
"nbformat": 4,
Expand Down
34 changes: 23 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,26 +1,38 @@
[build-system]
requires = ["setuptools>=64", "wheel"]
build-backend = "setuptools.build_meta"
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "firescipy"
version = "0.1.0"
version = "0.0.5"
description = "FireSciPy: Fundamental algorithms from the field of fire science, for computations with Python."
readme = "README.md"
keywords = ["Fire Safety Engineering", "fire", "pyrolysis", "kinetics", "FDS"]
requires-python = ">=3.9"
license = { text = "CC-BY-4.0" } # adjust if you use another license
license = { text = "CC-BY-4.0" } # adjust if you use another license
license-files = ["LICEN[CS]E*"]
authors = [
{ name = "Tristan Hehnen", email = "you@example.com" },
{ name = "Lukas Arnold", email = "you@example.com" }
]
classifiers = [
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
"Intended Audience :: Science/Research",
"Topic :: Scientific/Engineering"
]
dependencies = [
"numpy>=1.19.5",
"scipy>=1.5.4",
"pandas>=1.1.5",
"matplotlib>=3.3.4",
"numpy>=1.21",
"scipy>=1.7",
"pandas>=1.3",
"matplotlib>=3.4",
# Add other runtime dependencies here
]

[tool.setuptools.packages.find]
where = ["src"]
include = ["firescipy*"]
[tool.hatch.build.targets.wheel]
packages = ["src/firescipy"]

[project.urls]
Repository = "https://github.com/FireDynamics/FireSciPy"
Documentation = "https://firedynamics.github.io/FireSciPy/"
Issues = "https://github.com/FireDynamics/FireSciPy/issues"
11 changes: 10 additions & 1 deletion src/firescipy/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,18 @@
from . import pyrolysis
from . import constants
from . import handcalculation
from importlib.metadata import PackageNotFoundError, version


__version__ = "0.1.0"
# IMPORTANT: must match the name in pyproject.toml
_PKG_NAME = "firescipy"

# Get version for pyproject.toml as single source of truth
try:
__version__ = version(_PKG_NAME)
except PackageNotFoundError:
# Running from a source checkout without installation:
__version__ = "0.0.0"


# from .utils import ensure_nested_dict, get_nested_value, series_to_numpy, linear_model, calculate_residuals, calculate_R_squared, calculate_RMSE
Expand Down