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
4 changes: 2 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
**physXAI** is a toolbox for creating physics-guided machine learning models, also known as physics-informed or physics-constrained models. The toolbox is specifically designed for application in Model Predictive Control (MPC) of Building Energy Systems (BES). It provides preprocessing pipelines, various neural network architectures (including classical ANNs, RBF networks, residual models, constrained monotonic networks, RNNs, and physics-informed neural networks), feature selection tools, evaluation metrics, and visualization utilities.

### Key Information
- **Language**: Python (3.9-3.12)
- **Language**: Python (3.11-3.13)
- **License**: BSD-3-Clause
- **Testing**: pytest (unit tests live in `unittests/`)
- **Dependencies**: Core (numpy, pandas, scikit-learn, keras, tensorflow, pydantic, plotly), Optional (dev dependencies for testing and coverage)
Expand Down Expand Up @@ -127,7 +127,7 @@ Reviewers should validate schema changes carefully: prefer additive, optional fi

#### 5. CI/CD Considerations
- **Import errors**: New dependencies must be in `pyproject.toml` dependencies or optional-dependencies
- **Python version compatibility**: Code must work on Python 3.9-3.12
- **Python version compatibility**: Code must work on Python 3.11-3.13
- **Test execution**: Changes to `unittests/` structure or execution patterns
- **Example scripts**: `executables/` should remain functional (may be tested by CI)
- **Keras/TensorFlow compatibility**: Ensure compatibility with keras and tensorflow
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pytest_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
python-version: ['3.11', '3.12', '3.13']

steps:
- name: Checkout Code
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/verify_executables.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ jobs:
fail-fast: false
matrix:
script: ${{ fromJSON(needs.setup.outputs.scripts) }}
python-version: ['3.9', '3.10', '3.11', '3.12']
python-version: ['3.11', '3.12', '3.13']

steps:
- name: Checkout Code
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/verify_installation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
python-version: ['3.11', '3.12', '3.13']

steps:
- name: Checkout Code
Expand Down
9 changes: 4 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
]
description = "Framework for development and execution of physics-guided machine learning for application in Model Predictive Control (MPC) of Building Energy Systems (BES)"
readme = "README.md"
requires-python = ">=3.9"
requires-python = ">=3.11"
keywords = [
"physics-guided", "physics-informed", "machine-learning", "mpc", "model-predictive-control", "building-energy-systems",
]
Expand All @@ -18,18 +18,17 @@ classifiers = [
"Intended Audience :: Science/Research",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python :: 3",
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
'Programming Language :: Python :: 3.13',
]
dependencies = [
"numpy>=2.0",
"pandas>=2.2.3",
"scikit-learn>=1.6.1",
"keras>=3.9.2",
"keras>=3.15.0", # older versions have known vulnerabilities in loading models
"tensorflow>=2.19.0",
"GitPython>=3.1.44",
"GitPython>=3.2.1",
"pydantic>=2.11.4",
"plotly>=6.0.1",
]
Expand Down
93 changes: 46 additions & 47 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,54 +1,53 @@
absl-py==2.2.2
annotated-types==0.7.0
# Pinned environment of physXAI 0.3.0 (Python 3.11 - 3.13), as installed from pyproject.toml.
# All versions are at or above the releases fixing the known security advisories (GitHub Dependabot).
absl-py==2.5.1
annotated-types==0.8.0
astunparse==1.6.3
certifi==2025.4.26
charset-normalizer==3.4.2
flatbuffers==25.2.10
gast==0.6.0
certifi==2026.10.23
charset-normalizer==3.5.2
cloudpickle==3.1.2
flatbuffers==25.12.19
gast==0.7.0
gitdb==4.0.12
GitPython==3.1.44
GitPython==3.2.1
google-pasta==0.2.0
grpcio==1.71.0
h5py==3.13.0
idna==3.10
joblib==1.5.0
keras==3.9.2
grpcio==1.85.1
h5py==3.14.0
idna==3.20
joblib==1.6.0
keras==3.15.1
libclang==18.1.1
Markdown==3.8
markdown-it-py==3.0.0
MarkupSafe==3.0.2
markdown-it-py==4.2.0
mdurl==0.1.2
ml_dtypes==0.5.1
namex==0.0.9
narwhals==1.39.0
numpy==2.1.3
ml_dtypes==0.6.0
namex==0.1.0
narwhals==2.28.0
numpy==2.4.6; python_version < "3.12"
numpy==2.5.4; python_version >= "3.12"
opt_einsum==3.4.0
optree==0.15.0
packaging==25.0
pandas==2.2.3
plotly==6.0.1
protobuf==5.29.4
pydantic==2.11.4
pydantic_core==2.33.2
Pygments==2.19.1
python-dateutil==2.9.0.post0
pytz==2025.2
requests==2.32.3
rich==14.0.0
scikit-learn==1.6.1
scipy==1.15.3
setuptools==80.1.0
optree==0.20.0
packaging==26.3
pandas==3.1.1
plotly==7.1.0
protobuf==7.36.2
pydantic==2.14.3
pydantic_core==2.50.4
Pygments==2.21.0
python-dateutil==4.0.0
requests==2.34.2
rich==15.0.0
scikit-learn==1.9.1
scipy==1.17.1; python_version < "3.12"
scipy==1.18.1; python_version >= "3.12"
setuptools==84.2.1
six==1.17.0
smmap==5.0.2
tensorboard==2.19.0
tensorboard-data-server==0.7.2
tensorflow==2.19.0
termcolor==3.1.0
threadpoolctl==3.6.0
typing-inspection==0.4.0
typing_extensions==4.13.2
tzdata==2025.2
urllib3==2.4.0
Werkzeug==3.1.3
wheel==0.45.1
wrapt==1.17.2
smmap==5.0.3
tensorflow==2.21.0
termcolor==3.3.0
threadpoolctl==3.8.0
typing-inspection==0.4.5
typing_extensions==4.16.0
tzdata==2026.6
urllib3==2.8.0
wheel==0.48.0
wrapt==2.5.2
Loading