https://github.com/centerforthebuiltenvironment/comfort-dash
Revision of the CBE Comfort Tool using Dash.
https://github.com/centerforthebuiltenvironment/comfort-dash
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.3%) to scientific vocabulary
Repository
Revision of the CBE Comfort Tool using Dash.
Basic Info
- Host: GitHub
- Owner: CenterForTheBuiltEnvironment
- Language: Python
- Default Branch: main
- Size: 1.02 MB
Statistics
- Stars: 5
- Watchers: 5
- Forks: 12
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
CBE Thermal Comfort Tool
This is the official repository for the CBE Thermal Comfort Tool
View Demo
·
Report Bug
·
Request Feature
Table of Contents
About The Project
This is the official repository for the CBE Thermal Comfort Tool. The CBE Thermal Comfort Tool is a web application to calculate and visualize thermal comfort indices.
Built With
Getting Started
To get a local copy up and running follow these simple steps. Clone the repository and run the following commands:
bash
pipenv install
pipenv shell
python app.py
Then you can run the application using the following command:
bash
python app.py
Usage
Roadmap
See the open issues for a full list of proposed features (and known issues).
Contributing
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') using commit conventions. - Bump the version
bump-my-version bump patch - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Test the application
I wrote some tests with playwright to make sure the application is displaying properly.
All the tests are located in the tests folder.
In order to run the tests, you need to have the application running locally.
bash
python app.py
You will also need to install the playwright dependencies, more info here:
bash
playwright install
Test generation
Detailed guide on how to generate tests can be found here
playwright codegen http://localhost:9090
If you want to generate tests for a specific device, you can run the following command:
playwright codegen --device="iPhone 13" http://localhost:9090
Deploy the application
The application is deployed automatically using a GitHub action. If you want to deploy the application manually, you can run the following command:
gcloud components update
pipenv requirements > requirements.txt
pipenv requirements --dev > dev-requirements.txt
gcloud config set account federicotartarini@gmail.com
python -m pytest tests/test_public_urls.py --base-url http://0.0.0.0:9090
python -m pytest --numprocesses 3 --base-url http://0.0.0.0:9090
python -m pytest --numprocesses 3 --base-url https://comfort-tool-v2-test-6ncu37myea-uc.a.run.app
gcloud builds submit --project=comfort-327718 --substitutions=_REPO_NAME="comfort-tool-v2-test"
gcloud builds submit --project=comfort-327718 --substitutions=_REPO_NAME="comfort-tool-v2"
Kill application running locally
lsof -i :9090
kill -9 <PID>
License
Distributed under the MIT License. See LICENSE.txt for more information.
Contact
Federico Tartarini - federicotartarini@gmail.com
Project Link: CenterForTheBuiltEnvironment/comfort-dash
Contributors
Teams & responsibilities
| Group | Task | Team | Main focus | |----------|-----------------------|--------------------------------------------------|------------------------------------------------------| | - | Admin | Revolving, weekly | Meetings & communication (e.g. notes, agenda) | | A | Front-End | Ruixin Wu, Jiaming Zheng, Xuhui Wang, Zhou Tong | Front-End design and Dash implementation | | A | Visuals | Jiadong Zhang, Yan Zhang | Develop plots for main UI | | B | Data Management | Shiyi Shen, Haozhen Li | Manage use of data within app | | B | Back-End | Yinyan Liu, Junan Lu, Jinjia Bai, Chao Jiang | Develop app back-end | | - | Testing | Haozhen Li | Writing tests for the app |
Owner
- Name: CenterForTheBuiltEnvironment
- Login: CenterForTheBuiltEnvironment
- Kind: organization
- Location: Berkeley, CA
- Website: http://cbe.berkeley.edu
- Repositories: 25
- Profile: https://github.com/CenterForTheBuiltEnvironment
GitHub Events
Total
- Issues event: 1
- Watch event: 3
- Issue comment event: 11
- Push event: 7
- Pull request review event: 23
- Pull request event: 33
Last Year
- Issues event: 1
- Watch event: 3
- Issue comment event: 11
- Push event: 7
- Pull request review event: 23
- Pull request event: 33
Dependencies
- python 3.11-slim build
- black * develop
- bump-my-version * develop
- pytest-playwright * develop
- pytest-xdist * develop
- dash *
- dash-bootstrap-components *
- dash-iconify *
- dash-mantine-components *
- icecream *
- numpy *
- pandas *
- psychrolib *
- pydantic *
- pythermalcomfort *
- annotated-types ==0.7.0 develop
- black ==24.8.0 develop
- bracex ==2.5 develop
- bump-my-version ==0.25.4 develop
- certifi ==2024.7.4 develop
- charset-normalizer ==3.3.2 develop
- click ==8.1.7 develop
- execnet ==2.1.1 develop
- greenlet ==3.0.3 develop
- idna ==3.7 develop
- iniconfig ==2.0.0 develop
- markdown-it-py ==3.0.0 develop
- mdurl ==0.1.2 develop
- mypy-extensions ==1.0.0 develop
- packaging ==24.1 develop
- pathspec ==0.12.1 develop
- platformdirs ==4.2.2 develop
- playwright ==1.46.0 develop
- pluggy ==1.5.0 develop
- prompt-toolkit ==3.0.36 develop
- pydantic ==2.8.2 develop
- pydantic-core ==2.20.1 develop
- pydantic-settings ==2.4.0 develop
- pyee ==11.1.0 develop
- pygments ==2.18.0 develop
- pytest ==8.3.2 develop
- pytest-base-url ==2.1.0 develop
- pytest-playwright ==0.5.1 develop
- pytest-xdist ==3.6.1 develop
- python-dotenv ==1.0.1 develop
- python-slugify ==8.0.4 develop
- questionary ==2.0.1 develop
- requests ==2.32.3 develop
- rich ==13.7.1 develop
- rich-click ==1.8.3 develop
- text-unidecode ==1.3 develop
- tomlkit ==0.13.2 develop
- typing-extensions ==4.12.2 develop
- urllib3 ==2.2.2 develop
- wcmatch ==9.0 develop
- wcwidth ==0.2.13 develop
- annotated-types ==0.7.0
- asttokens ==2.4.1
- blinker ==1.8.2
- certifi ==2024.7.4
- charset-normalizer ==3.3.2
- click ==8.1.7
- colorama ==0.4.6
- dash ==2.17.1
- dash-bootstrap-components ==1.6.0
- dash-core-components ==2.0.0
- dash-html-components ==2.0.0
- dash-iconify ==0.1.2
- dash-mantine-components ==0.14.4
- dash-table ==5.0.0
- executing ==2.0.1
- flask ==3.0.3
- icecream ==2.1.3
- idna ==3.7
- importlib-metadata ==8.2.0
- itsdangerous ==2.2.0
- jinja2 ==3.1.4
- llvmlite ==0.43.0
- markupsafe ==2.1.5
- nest-asyncio ==1.6.0
- numba ==0.60.0
- numpy ==2.0.1
- packaging ==24.1
- pandas ==2.2.2
- plotly ==5.23.0
- psychrolib ==2.5.0
- pydantic ==2.8.2
- pydantic-core ==2.20.1
- pygments ==2.18.0
- pythermalcomfort ==2.10.0
- python-dateutil ==2.9.0.post0
- pytz ==2024.1
- requests ==2.32.3
- retrying ==1.3.4
- scipy ==1.14.0
- setuptools ==72.2.0
- six ==1.16.0
- tenacity ==9.0.0
- typing-extensions ==4.12.2
- tzdata ==2024.1
- urllib3 ==2.2.2
- werkzeug ==3.0.3
- zipp ==3.20.0
- annotated-types ==0.7.0 development
- asttokens ==2.4.1 development
- black ==24.8.0 development
- blinker ==1.8.2 development
- bracex ==2.5 development
- bump-my-version ==0.25.4 development
- certifi ==2024.7.4 development
- charset-normalizer ==3.3.2 development
- click ==8.1.7 development
- colorama ==0.4.6 development
- dash ==2.17.1 development
- dash-bootstrap-components ==1.6.0 development
- dash-core-components ==2.0.0 development
- dash-html-components ==2.0.0 development
- dash-iconify ==0.1.2 development
- dash-mantine-components ==0.14.4 development
- dash-table ==5.0.0 development
- execnet ==2.1.1 development
- executing ==2.0.1 development
- flask ==3.0.3 development
- greenlet ==3.0.3 development
- icecream ==2.1.3 development
- idna ==3.7 development
- importlib-metadata ==8.2.0 development
- iniconfig ==2.0.0 development
- itsdangerous ==2.2.0 development
- jinja2 ==3.1.4 development
- llvmlite ==0.43.0 development
- markdown-it-py ==3.0.0 development
- markupsafe ==2.1.5 development
- mdurl ==0.1.2 development
- mypy-extensions ==1.0.0 development
- nest-asyncio ==1.6.0 development
- numba ==0.60.0 development
- numpy ==2.0.1 development
- packaging ==24.1 development
- pandas ==2.2.2 development
- pathspec ==0.12.1 development
- platformdirs ==4.2.2 development
- playwright ==1.46.0 development
- plotly ==5.23.0 development
- pluggy ==1.5.0 development
- prompt-toolkit ==3.0.36 development
- psychrolib ==2.5.0 development
- pydantic ==2.8.2 development
- pydantic-core ==2.20.1 development
- pydantic-settings ==2.4.0 development
- pyee ==11.1.0 development
- pygments ==2.18.0 development
- pytest ==8.3.2 development
- pytest-base-url ==2.1.0 development
- pytest-playwright ==0.5.1 development
- pytest-xdist ==3.6.1 development
- pythermalcomfort ==2.10.0 development
- python-dateutil ==2.9.0.post0 development
- python-dotenv ==1.0.1 development
- python-slugify ==8.0.4 development
- pytz ==2024.1 development
- questionary ==2.0.1 development
- requests ==2.32.3 development
- retrying ==1.3.4 development
- rich ==13.7.1 development
- rich-click ==1.8.3 development
- scipy ==1.14.0 development
- setuptools ==72.2.0 development
- six ==1.16.0 development
- tenacity ==9.0.0 development
- text-unidecode ==1.3 development
- tomlkit ==0.13.2 development
- typing-extensions ==4.12.2 development
- tzdata ==2024.1 development
- urllib3 ==2.2.2 development
- wcmatch ==9.0 development
- wcwidth ==0.2.13 development
- werkzeug ==3.0.3 development
- zipp ==3.20.0 development
- asttokens ==2.4.1
- blinker ==1.8.2
- certifi ==2024.7.4
- charset-normalizer ==3.3.2
- click ==8.1.7
- colorama ==0.4.6
- dash ==2.17.1
- dash-bootstrap-components ==1.6.0
- dash-core-components ==2.0.0
- dash-html-components ==2.0.0
- dash-iconify ==0.1.2
- dash-mantine-components ==0.14.4
- dash-table ==5.0.0
- executing ==2.0.1
- flask ==3.0.3
- icecream ==2.1.3
- idna ==3.7
- importlib-metadata ==8.2.0
- itsdangerous ==2.2.0
- jinja2 ==3.1.4
- llvmlite ==0.43.0
- markupsafe ==2.1.5
- nest-asyncio ==1.6.0
- numba ==0.60.0
- numpy ==2.0.1
- packaging ==24.1
- pandas ==2.2.2
- plotly ==5.23.0
- psychrolib ==2.5.0
- pygments ==2.18.0
- pythermalcomfort ==2.10.0
- python-dateutil ==2.9.0.post0
- pytz ==2024.1
- requests ==2.32.3
- retrying ==1.3.4
- scipy ==1.14.0
- setuptools ==72.2.0
- six ==1.16.0
- tenacity ==9.0.0
- typing-extensions ==4.12.2
- tzdata ==2024.1
- urllib3 ==2.2.2
- werkzeug ==3.0.3
- zipp ==3.20.0