Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
c87b52a
build: trying to build from source
FedericoTartarini Dec 5, 2023
d96245f
Restructure app responding to #151
t-kramer May 4, 2024
120e26a
Modify tab style
t-kramer May 4, 2024
df9fb52
Remove redundant sections, adjust cypress config for new page structure
t-kramer May 6, 2024
e3dcf0a
fix: remove redundant code, adjust Python test
t-kramer May 22, 2024
b219307
fix: remove redundant code, adjust Python test
t-kramer May 22, 2024
940523c
docs: add link to 'Discussions' to README.md
t-kramer May 22, 2024
00efe52
style: adjust navbar to original tab style format
t-kramer Jun 13, 2024
04e8205
fix: adjust navbar tabs behavior and callbacks
t-kramer Jun 19, 2024
29f1036
fix: adjust dynamic layout behavior for tabs
t-kramer Jun 24, 2024
d8d036a
GITBOOK-54: No subject
FedericoTartarini Oct 12, 2024
78f987e
feat: add Siteimprove analytics
t-kramer May 20, 2025
bd4b57a
build: reverted to pipenv in cypress.yml
FedericoTartarini Jul 31, 2025
5ae03fa
build: using pipenv in python.yml
FedericoTartarini Jul 31, 2025
80f75fd
build: created Pipfile
FedericoTartarini Jul 31, 2025
ffb3d4f
build: added Dockerfile
FedericoTartarini Jul 31, 2025
7102dbb
build: trying to build from source
FedericoTartarini Dec 5, 2023
1b76182
Restructure app responding to #151
t-kramer May 4, 2024
ec88a44
Modify tab style
t-kramer May 4, 2024
f82a174
Remove redundant sections, adjust cypress config for new page structure
t-kramer May 6, 2024
de2310e
fix: remove redundant code, adjust Python test
t-kramer May 22, 2024
8ec489b
fix: remove redundant code, adjust Python test
t-kramer May 22, 2024
568dca3
docs: add link to 'Discussions' to README.md
t-kramer May 22, 2024
87a3891
style: adjust navbar to original tab style format
t-kramer Jun 13, 2024
3871532
fix: adjust navbar tabs behavior and callbacks
t-kramer Jun 19, 2024
8633840
fix: adjust dynamic layout behavior for tabs
t-kramer Jun 24, 2024
414ead1
GITBOOK-54: No subject
FedericoTartarini Oct 12, 2024
a25dc26
feat: add Siteimprove analytics
t-kramer May 20, 2025
98bd75a
build: reverted to pipenv in cypress.yml
FedericoTartarini Jul 31, 2025
d09dccb
build: using pipenv in python.yml
FedericoTartarini Jul 31, 2025
51b8f1a
build: created Pipfile
FedericoTartarini Jul 31, 2025
cdde3ee
build: updated dependencies to run js tests
FedericoTartarini Jul 31, 2025
0dac00b
build: updated python dependencies
FedericoTartarini Jul 31, 2025
e9b8ec6
build: removed Procfile
FedericoTartarini Jul 31, 2025
2ced355
build: updated requirements.txt
FedericoTartarini Jul 31, 2025
34f6fba
build: updated .gcloudignore
FedericoTartarini Jul 31, 2025
cb74a34
lint: reformatted code with Black
FedericoTartarini Jul 31, 2025
22dc0fd
Merge remote-tracking branch 'origin/development' into development
FedericoTartarini Jul 31, 2025
97f1c9d
build: updated artifact version in cypress.yml
FedericoTartarini Jul 31, 2025
e43b461
build: installed black
FedericoTartarini Jul 31, 2025
15ebc96
build: installed black
FedericoTartarini Jul 31, 2025
4a6b1c8
feat: removed loading around store
FedericoTartarini Jul 31, 2025
8d4ad8b
feat: added a skeleton world map
FedericoTartarini Jul 31, 2025
62bd4de
fix: depreciation warning wind rose
FedericoTartarini Jul 31, 2025
5b11258
lint: added ruff
FedericoTartarini Jul 31, 2025
06c1b73
lint: added ruff
FedericoTartarini Jul 31, 2025
f7f314f
feat: changed the color of low wind speed
FedericoTartarini Jul 31, 2025
b9832ca
feat: shared y-axis plots
FedericoTartarini Jul 31, 2025
641b855
feat: added units to wind roses legend
FedericoTartarini Jul 31, 2025
f221f45
feat: added link to documentation natural ventilation tab
FedericoTartarini Jul 31, 2025
b8ada5c
build: updated requirements.txt
FedericoTartarini Jul 31, 2025
59e0c0b
lint: formatted code
FedericoTartarini Jul 31, 2025
8e8089f
docs: updated README.md
FedericoTartarini Jul 31, 2025
69fe436
fix: #230 heatmap visualisation and filtering
FedericoTartarini Jul 31, 2025
6b2d37c
fix: #234 wind rose filtering time
FedericoTartarini Jul 31, 2025
ddc37ef
fix: #234 fixed heatmaps across whole tool
FedericoTartarini Jul 31, 2025
3fc7418
build: excluded more files from .dockerignore and .gcloudignore
FedericoTartarini Jul 31, 2025
a1e52c1
feat: storing config variables in the config.py file
FedericoTartarini Aug 1, 2025
6335e5b
feat: using class for doclinks
FedericoTartarini Aug 1, 2025
85e13d6
feat: using class to register pages
FedericoTartarini Aug 1, 2025
bca62dc
build: created a cloudbuild.yaml file
FedericoTartarini Aug 1, 2025
87ec5cd
docs: redirected contact us to GitHub discussions
FedericoTartarini Aug 1, 2025
5e24c76
lint: ruff formatting
FedericoTartarini Aug 1, 2025
1b8b089
feat: improved the layout of the header
FedericoTartarini Aug 1, 2025
c537903
feat: created class for unit system
FedericoTartarini Aug 1, 2025
1d91d9e
lint: code
FedericoTartarini Aug 1, 2025
f1146ee
feat: updated footer
FedericoTartarini Aug 1, 2025
0823643
feat: added back version to footer
FedericoTartarini Aug 1, 2025
09060f4
build: updated .bumpversion.cfg
FedericoTartarini Aug 1, 2025
56afe93
Bump version: 0.8.17 → 0.8.18
FedericoTartarini Aug 1, 2025
b10dc7c
fix: error in sun.py
FedericoTartarini Aug 1, 2025
1568c59
lint: formatting with black and ruff match
FedericoTartarini Aug 1, 2025
c6948f8
feat(viz): Update wind rose label to annual description
FedericoTartarini Aug 21, 2025
dc2574a
fix(outdoor): Handle errors in zero value count
FedericoTartarini Aug 21, 2025
8d0e5b9
fix(extract): Log error when fetching EPW data
FedericoTartarini Aug 21, 2025
8dcb13b
fix(precommit): use pre-commit for ruff check and format
FedericoTartarini Aug 21, 2025
0f1ce27
fix(tests): Ensure root directory is added to sys.path
FedericoTartarini Aug 21, 2025
f5fed9c
ci(cypress): Update Cypress configuration for development branch
FedericoTartarini Aug 21, 2025
c619723
ci(python): Update Python CI configuration for development branch
FedericoTartarini Aug 21, 2025
ed0239e
ci(deploy): Update deployment workflow for Google Cloud Run
FedericoTartarini Aug 21, 2025
250077f
Bump version: 0.8.18 → 0.8.19
FedericoTartarini Aug 21, 2025
cb22448
Bump version: 0.8.19 → 0.9.0
FedericoTartarini Aug 21, 2025
be9a348
docs: Update documentation for clarity and formatting
FedericoTartarini Aug 21, 2025
25716dc
refactor(config): Update order of climate data constants
FedericoTartarini Aug 21, 2025
62e3578
ci(python): Update Ruff commands for output format and verification
FedericoTartarini Aug 21, 2025
3ba5e03
fix(select): Improve error handling for EPW file parsing
FedericoTartarini Aug 21, 2025
ee64980
fix(summary): Improve calculation of diffuse solar radiation percentage
FedericoTartarini Aug 21, 2025
3c89262
fix(viz): Improve error handling for graph data retrieval
FedericoTartarini Aug 21, 2025
f618ae3
ci(deploy): Update Google Auth action to v2
FedericoTartarini Aug 21, 2025
d1012bb
ci(cloudbuild): Fix formatting in cloudbuild.yaml
FedericoTartarini Aug 21, 2025
5eff48b
fix(layout): Correct grammar in user survey prompt
FedericoTartarini Aug 21, 2025
232247f
refactor(tests): Remove unnecessary sys.path modification
FedericoTartarini Aug 21, 2025
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 .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[bumpversion]
current_version = 0.8.17
current_version = 0.9.0
commit = True
tag = True

[bumpversion:file:my_project/layout.py]
[bumpversion:file:pages/lib/layout.py]
search = Version: {current_version}
replace = Version: {new_version}
Comment on lines +6 to 8
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Verify that the target file actually contains the search template

The search pattern "Version: {current_version}" must exist in pages/lib/layout.py or the bump will no-op/fail. Same for the manifest id pattern.

Run this to verify before cutting a release:


🏁 Script executed:

#!/bin/bash
set -euo pipefail
# Expect at least one match in each target
rg -n "^.*Version:\s*$(awk -F'= ' '/current_version/ {print $2}' .bumpversion.cfg)\b" pages/lib/layout.py -C0
rg -nP '"id":\s*"'$(awk -F'= ' '/current_version/ {print $2}' .bumpversion.cfg)'"' assets/manifest.json -C0

Length of output: 521


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Extract the current version from .bumpversion.cfg
current_version=$(awk -F'= ' '/current_version/ {print $2}' .bumpversion.cfg)
echo "current_version is '$current_version'"

# Verify the layout.py contains the version template
echo "Searching for 'Version: $current_version' in pages/lib/layout.py"
rg -nF "Version: $current_version" pages/lib/layout.py || echo "No match in pages/lib/layout.py"

# Verify the manifest.json contains the id template
echo "Searching for '\"id\": \"$current_version\"' in assets/manifest.json"
rg -nF "\"id\": \"$current_version\"" assets/manifest.json || echo "No match in assets/manifest.json"

Length of output: 1523


bumpversion search patterns will not match existing placeholders

The current bumpversion config expands {current_version} to 0.9.0, but neither target file contains that literal string—both still show the template placeholders. As a result, running the bump will no-op on these files.

• pages/lib/layout.py
– contains Version: {current_version}
– needs to contain Version: 0.9.0 (or whatever current_version is)

• assets/manifest.json
– contains "id": "{current_version}"
– needs to contain "id": "0.9.0"

Please update those files to include the actual current version string (or adjust your search patterns accordingly) before cutting a release.

🤖 Prompt for AI Agents
.bumpversion.cfg lines 6-8: the bumpversion search patterns won't match because
target files still contain template placeholders; either replace the
placeholders in pages/lib/layout.py and assets/manifest.json with the current
version string (e.g., change 'Version: {current_version}' to 'Version: 0.9.0' in
pages/lib/layout.py and '"id": "{current_version}"' to '"id": "0.9.0"' in
assets/manifest.json), or alter the .bumpversion.cfg search/replace to match the
placeholder form (e.g., search for 'Version: {current_version}' / '"id":
"{current_version}"' and replace with the new_version format); implement one of
these fixes and commit the updated files.


Expand Down
16 changes: 9 additions & 7 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,24 @@ README.md
LICENSE
Procfile
Procfile.windows
Pipfile.lock
Pipfile
*.pyo
*.pyd
__pycache__
.pytest_cache
file_system_store
.git
.gitbook
.gitbook.yaml
docs
test
tests
node_modules
.my_cache

assets/data/Region*.kml
assets/data/OneBuilding*.zip
file_system_backend

venv
.idea
Expand Down Expand Up @@ -162,20 +170,14 @@ typings/
.serverless
### Python template
# Byte-compiled / optimized / DLL files
__pycache__/
*/__pycache__/*
*.pyc
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
Expand Down
11 changes: 7 additions & 4 deletions .gcloudignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,16 @@

README.md
LICENSE
Procfile
Procfile.windows
*.pyo
*.pyd
__pycache__
.pytest_cache
.gitbook
docs
file_system_backend
tests
.gitbook.yaml
assets/data/OneBuilding*.zip

assets/data/Region*.kml
file_system_store
test
file_system_store
16 changes: 11 additions & 5 deletions .github/workflows/cypress.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
name: Cypress 🌲
on: [push, pull_request]
name: Cypress Testing 🌲
on:
push:
branches:
- development
pull_request:
branches:
- development
jobs:
cypress:
runs-on: ubuntu-latest
Expand All @@ -10,7 +16,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
python-version: '3.11'

- name: Build Clima
run: |-
Expand All @@ -37,14 +43,14 @@ jobs:
npm run cy:run

- name: Archive screenshots
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: cypress-screenshots
path: tests/node/cypress/screenshots

- name: Archive videos
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: always()
with:
name: cypress-videos
Expand Down
41 changes: 13 additions & 28 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,46 +1,31 @@
# .github/workflows/deploy.yml
name: Deploy 🚀 Clima to Google Cloud Run (☁🏃)

on:
push:
branches:
- main

jobs:
deploy:
name: Deploying 🚀 Clima
runs-on: ubuntu-latest
if: "contains(github.event.head_commit.message, 'bump version')"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Setup python
uses: actions/setup-python@v4
- id: auth
uses: google-github-actions/auth@v2
with:
python-version: '3.11'

- name: Export gcloud related env variable
run: export CLOUDSDK_PYTHON="/usr/bin/python3"
credentials_json: ${{ secrets.GCP_SA_KEY_JSON }}

# Build and push image to Google Container Registry
- name: Setting up
uses: google-github-actions/setup-gcloud@v0
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v1
with:
Comment on lines +23 to 24
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

Update setup-gcloud action to v2 to satisfy actionlint and use the maintained runner.

actionlint flags google-github-actions/setup-gcloud@v1 as too old. Bump to v2.

Apply:

-      - name: Set up Cloud SDK
-        uses: google-github-actions/setup-gcloud@v1
+      - name: Set up Cloud SDK
+        uses: google-github-actions/setup-gcloud@v2
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
uses: google-github-actions/setup-gcloud@v1
with:
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v2
with:
🧰 Tools
🪛 actionlint (1.7.7)

23-23: the runner of "google-github-actions/setup-gcloud@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

🤖 Prompt for AI Agents
.github/workflows/deploy.yml around lines 23 to 24: update the GitHub Action
reference from google-github-actions/setup-gcloud@v1 to
google-github-actions/setup-gcloud@v2 to satisfy actionlint and use the
maintained runner; change the uses line accordingly and verify any inputs or
output names that differ between v1 and v2 (adjust input keys and step outputs
if needed), then run a workflow lint or dry-run to confirm compatibility.

version: '318.0.0'
service_account_key: ${{ secrets.GCP_SA_KEY_JSON }}
service_account_email: "federico.tartarini@bears-berkeley.sg"
project_id: clima-316917
project_id: heat-stress-scale

- name: Building (🏗️)
run: |-
- name: Building (🏗️) and Deploying (🚀)
run: |
gcloud builds submit \
--tag us-docker.pkg.dev/clima-316917/gcr.io/clima

# Setup gcloud CLI
- name: Deploy (🚀)
uses: google-github-actions/deploy-cloudrun@v1
with:
service: clima
image: us-docker.pkg.dev/clima-316917/gcr.io/clima
region: us-central1
credentials: ${{ secrets.GCP_SA_KEY_JSON }}
project_id: clima-316917
--project=clima-316917 \
--substitutions=_REPO_NAME="clima",_PROJ_NAME="clima-316917",_IMG_NAME="main",_GCR="us.gcr.io",_REGION="us-central1",_MEMORY="4Gi",_CPU="2"
Comment on lines 25 to 31
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Project mismatch between setup-gcloud (heat-stress-scale) and builds submit (clima-316917).

This is likely to fail or deploy to the wrong project unless the service account has cross-project roles intentionally. Align both to the same project or remove the --project override.

Apply one of the following:

Option A: Use heat-stress-scale everywhere

-          project_id: heat-stress-scale
+          project_id: heat-stress-scale
...
-            --project=clima-316917 \
+            --project=heat-stress-scale \

Option B: Use clima-316917 everywhere

-          project_id: heat-stress-scale
+          project_id: clima-316917

🏁 Script executed:

#!/bin/bash
# Display repository workflows directory to confirm file path
fd -t f .github/workflows

# Print lines 1–40 of the deploy.yml workflow for context
sed -n '1,40p' .github/workflows/deploy.yml

Length of output: 1264


.github/workflows/deploy.yml – Project ID Mismatch
The workflow currently authenticates against heat-stress-scale but then submits the build to clima-316917. This misalignment will either fail the build or deploy into the wrong GCP project unless you’ve intentionally granted the service account cross-project permissions. Align both settings to the same project.

Please choose one of the following fixes:

• Option A: Use heat-stress-scale everywhere

   - name: Set up Cloud SDK
     uses: google-github-actions/setup-gcloud@v1
     with:
-      project_id: heat-stress-scale
+      project_id: heat-stress-scale

   - name: Building (🏗️) and Deploying (🚀)
     run: |
       gcloud builds submit \
-        --project=clima-316917 \
+        --project=heat-stress-scale \
         --substitutions=_REPO_NAME="clima",_PROJ_NAME="clima-316917",_IMG_NAME="main",_GCR="us.gcr.io",_REGION="us-central1",_MEMORY="4Gi",_CPU="2"

• Option B: Use clima-316917 everywhere

   - name: Set up Cloud SDK
     uses: google-github-actions/setup-gcloud@v1
     with:
-      project_id: heat-stress-scale
+      project_id: clima-316917

Please update to ensure both project_id and --project match.

📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
project_id: heat-stress-scale
- name: Building (🏗️)
run: |-
- name: Building (🏗️) and Deploying (🚀)
run: |
gcloud builds submit \
--tag us-docker.pkg.dev/clima-316917/gcr.io/clima
# Setup gcloud CLI
- name: Deploy (🚀)
uses: google-github-actions/deploy-cloudrun@v1
with:
service: clima
image: us-docker.pkg.dev/clima-316917/gcr.io/clima
region: us-central1
credentials: ${{ secrets.GCP_SA_KEY_JSON }}
project_id: clima-316917
--project=clima-316917 \
--substitutions=_REPO_NAME="clima",_PROJ_NAME="clima-316917",_IMG_NAME="main",_GCR="us.gcr.io",_REGION="us-central1",_MEMORY="4Gi",_CPU="2"
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v1
with:
project_id: heat-stress-scale
- name: Building (🏗️) and Deploying (🚀)
run: |
gcloud builds submit \
--project=heat-stress-scale \
--substitutions=_REPO_NAME="clima",_PROJ_NAME="clima-316917",_IMG_NAME="main",_GCR="us.gcr.io",_REGION="us-central1",_MEMORY="4Gi",_CPU="2"
Suggested change
project_id: heat-stress-scale
- name: Building (🏗️)
run: |-
- name: Building (🏗️) and Deploying (🚀)
run: |
gcloud builds submit \
--tag us-docker.pkg.dev/clima-316917/gcr.io/clima
# Setup gcloud CLI
- name: Deploy (🚀)
uses: google-github-actions/deploy-cloudrun@v1
with:
service: clima
image: us-docker.pkg.dev/clima-316917/gcr.io/clima
region: us-central1
credentials: ${{ secrets.GCP_SA_KEY_JSON }}
project_id: clima-316917
--project=clima-316917 \
--substitutions=_REPO_NAME="clima",_PROJ_NAME="clima-316917",_IMG_NAME="main",_GCR="us.gcr.io",_REGION="us-central1",_MEMORY="4Gi",_CPU="2"
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v1
with:
project_id: clima-316917
- name: Building (🏗️) and Deploying (🚀)
run: |
gcloud builds submit \
--project=clima-316917 \
--substitutions=_REPO_NAME="clima",_PROJ_NAME="clima-316917",_IMG_NAME="main",_GCR="us.gcr.io",_REGION="us-central1",_MEMORY="4Gi",_CPU="2"
🤖 Prompt for AI Agents
In .github/workflows/deploy.yml around lines 25 to 31, the workflow sets
project_id to "heat-stress-scale" but the gcloud builds submit uses
--project=clima-316917, causing a project mismatch; pick one project and make
both values identical. Update the file so the top-level project_id and the
--project substitution in the gcloud command use the same project identifier
(either change project_id to "clima-316917" or change --project to
"heat-stress-scale") and ensure any other substitutions (_PROJ_NAME, etc.)
reflect that same chosen project.

25 changes: 16 additions & 9 deletions .github/workflows/python.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
name: Python 🐍
on: [push, pull_request]
name: Python Testing 🐍
on:
push:
branches:
- development
pull_request:
branches:
- development
jobs:
pytest:
runs-on: ubuntu-latest
Expand All @@ -17,13 +23,14 @@ jobs:
pip install pipenv
pipenv install --dev

- name: Test Clima
- name: Ruff Check
run: |-
pipenv run python -m pytest
pipenv run ruff check . --output-format=github

- name: Ruff Format (verify)
run: |-
pipenv run ruff format --check .

- name: Run Black
# TODO: Add to dev dependencies: Adding it right now
# bumps other dependencies and the application won't run.
- name: Test Clima
run: |-
pip install black
black . --check
pipenv run python -m pytest
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -220,9 +220,6 @@ target/
# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

Expand Down Expand Up @@ -279,4 +276,6 @@ bh_unicode_properties.cache

# Sublime-github package stores a github token in this file
# https://packagecontrol.io/packages/sublime-github
GitHub.sublime-settings
GitHub.sublime-settings

file_system_backend
10 changes: 10 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.12.9
hooks:
# Run the linter.
- id: ruff-check
args: [ --fix ]
# Run the formatter.
- id: ruff-format
1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.10
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Version skew: .python-version is 3.10 but CI/workflows are on 3.11

This will cause local vs CI environment drift (type hints, deps, wheels). Align on a single version across .python-version, CI, Docker/Cloud Build.

Proposed fix (if 3.11 is the new standard as suggested by workflows):

-3.10
+3.11

To audit other version pins:

If 3.10 is required for deployment/runtime, update CI back to 3.10 instead and document the reason in CONTRIBUTING.md.


🏁 Script executed:

#!/bin/bash
# Find Python version pins in workflows, Dockerfiles, and docs
rg -n -C2 -e 'python-version:\s*["'\'']?3\.\d+' -e 'FROM\s+python:3\.\d+' -e '\bPython 3\.\d+\b' .github/workflows Dockerfile** docs || true

# Check for tox/pyproject config that might pin a version
fd -HI 'pyproject.toml|tox.ini|setup.cfg' | xargs -I{} rg -n 'python_requires|basepython|3\.\d+' {}

Length of output: 981


Update .python-version to 3.11 to match CI and Dockerfile

Our audit confirmed that both GitHub workflows and the Docker base image use Python 3.11, while .python-version remains at 3.10. No other version pins (e.g., in pyproject.toml, tox.ini, or setup.cfg) were found, so aligning on 3.11 will eliminate environment drift.

• File needing change:

  • .python-version (currently “3.10”)

Proposed change:

--- .python-version
-3.10
+3.11
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
3.10
3.11
🤖 Prompt for AI Agents
In .python-version around lines 1 to 1, the file pins Python to "3.10" while CI
and the Docker base image use Python 3.11; update the file to contain "3.11"
(replace the existing version string) so local tooling and pyenv will match
CI/Docker and eliminate environment drift.

21 changes: 12 additions & 9 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,26 @@ verify_ssl = true
name = "pypi"

[packages]
dash = "==2.14.2"
dash = "==2.15"
pvlib = "==0.9.1"
pythermalcomfort = "*"
pythermalcomfort = "==2.9.1"
dash-bootstrap-components = "==1.2.0"
dash-extensions = "==1.0.7"
dash-mantine-components = "*"
requests = "*"
plotly = "*"
pandas = "*"
numpy = "*"
dash-mantine-components = "==0.12.1"
requests = "==2.32.4"
plotly = "==5.18.0"
pandas = "==2.2.0"
numpy = "==1.26.3"
dash-iconify = "*"
scipy = "==1.12.0"

[dev-packages]
cleanpy = "*"
pytest = "*"
bump2version = "*"
pandas = "*"
requests = "*"
black = "*"
ruff = "*"
pre-commit = "*"

[requires]
python_version = "3.11"
Loading
Loading