Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
7ae5fcb
Preps for actual OSut methods
brgix Jun 17, 2025
d414a3f
Tests OSut tuples & dicts
brgix Jun 17, 2025
a96ce6f
Tests OSut dictionary keys
brgix Jun 18, 2025
a3dac5f
uv-based setup
brgix Jun 21, 2025
377efcb
Imports oslg from PyPi
brgix Jun 21, 2025
2bf4114
Deletes oslg static files
brgix Jun 21, 2025
cca6516
Adapts GitHub Action yaml file for oslg
brgix Jun 21, 2025
4a41d81
Reverts oslg package/module import
brgix Jun 21, 2025
c273d8c
Tests material (dict) floating point values
brgix Jun 21, 2025
f72ed4f
Completes initial material unittests
brgix Jun 21, 2025
464c4a0
Tests oslg log retrieval
brgix Jun 22, 2025
6d52ce7
Tests oslg log retrieval (2)
brgix Jun 24, 2025
d421538
Tests oslg log retrieval (3)
brgix Jun 24, 2025
9725a79
Fixes genConstruction error logging
brgix Jun 25, 2025
ff2c387
Fixes genConstruction error logging (2)
brgix Jun 25, 2025
adbb507
Extends genConstruction (1)
brgix Jun 26, 2025
b55d1f0
Completes conditional materials logic
brgix Jun 26, 2025
a6890c0
First true tests of genConstruction - OK
brgix Jun 27, 2025
f9e667c
Completes material id assignment
brgix Jun 29, 2025
ab6b34a
Adds RSI vs UO tests
brgix Jun 29, 2025
cd30085
Completes genConstruction unit tests
brgix Jun 29, 2025
5075f30
Tests OSM file open/read
brgix Jun 30, 2025
9006151
Tests OSM file open/read (2)
brgix Jun 30, 2025
4091336
Tests basic point3D methods
brgix Jun 30, 2025
81a24cc
Tests Point3dVector as tuple
brgix Jul 1, 2025
0b8a1ea
Completes construction thickness test
brgix Jul 1, 2025
7920640
Completes insulating layer test
brgix Jul 1, 2025
7c121cc
Completes internal mass test
brgix Jul 1, 2025
72cfcd3
Completes holds construction test
brgix Jul 1, 2025
3a6fcc5
Adds fenestration/spandrel (untested) methods
brgix Jul 1, 2025
a9aaf2c
Adds fenestration/spandrel (untested) methods (redux)
brgix Jul 1, 2025
3c1a814
Imports oslg v0.3.0
brgix Jul 2, 2025
9d481c5
Resets unittest sequence
brgix Jul 2, 2025
a24919b
Completes default construction set test
brgix Jul 2, 2025
a4ca014
Pulls OSlg v0.3.2
brgix Jul 2, 2025
094452a
Completes glazing airfilm RSi tests
brgix Jul 2, 2025
b4f8716
Completes RSi calc tests
brgix Jul 2, 2025
25a3852
Completes spandrel tests
brgix Jul 2, 2025
4b5abf6
Completes facet tests
brgix Jul 3, 2025
9638a1e
Completes scheduleRulesetMinMax test
brgix Jul 4, 2025
992ce8c
Extends holdsConstruction - 01
brgix Jul 5, 2025
48749ef
Extends holdsConstruction - done
brgix Jul 5, 2025
c9872a7
Completes MIN/MAX methods for degC scheds
brgix Jul 6, 2025
6c473cc
Completes setpoints, vestibules, etc. tests
brgix Jul 7, 2025
6da75da
Completes availability sched tests
brgix Jul 8, 2025
902d0e6
Completes genSlab tests
brgix Jul 8, 2025
080badc
unit tests cleanup
brgix Jul 8, 2025
b9c4140
Fixes min Python version
brgix Jul 8, 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 .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: python -m pip install --upgrade pip setuptools wheel openstudio
run: python -m pip install --upgrade pip setuptools wheel openstudio oslg
- name: Run unit tests
run: python -m unittest

Expand All @@ -37,6 +37,6 @@ jobs:
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: python -m pip install --upgrade pip setuptools wheel openstudio
run: python -m pip install --upgrade pip setuptools wheel openstudio oslg
- name: Run unit tests
run: python -m unittest
76 changes: 8 additions & 68 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ __pycache__/

.DS_Store

tests/files/osms/out/*.osm

# Distribution / packaging
.Python
build/
Expand All @@ -22,6 +24,7 @@ parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
Expand Down Expand Up @@ -51,7 +54,6 @@ coverage.xml
*.py,cover
.hypothesis/
.pytest_cache/
cover/

# Translations
*.mo
Expand All @@ -74,7 +76,6 @@ instance/
docs/_build/

# PyBuilder
.pybuilder/
target/

# Jupyter Notebook
Expand All @@ -85,9 +86,7 @@ profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
Expand All @@ -96,30 +95,10 @@ ipython_config.py
# install all needed dependencies.
#Pipfile.lock

# UV
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
#uv.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
.pdm.toml
.pdm-python
.pdm-build/

# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
# Not sure about the uv.lock ...
uv.lock

# PEP 582; used by e.g. github.com/David-OConnor/pyflow
__pypackages__/

# Celery stuff
Expand Down Expand Up @@ -155,42 +134,3 @@ dmypy.json

# Pyre type checker
.pyre/

# pytype static type analyzer
.pytype/

# Cython debug symbols
cython_debug/

# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# Abstra
# Abstra is an AI-powered process automation framework.
# Ignore directories containing user credentials, local state, and settings.
# Learn more at https://abstra.io/docs
.abstra/

# Visual Studio Code
# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
# and can be added to the global gitignore or merged into this file. However, if you prefer,
# you could uncomment the following to ignore the enitre vscode folder
# .vscode/

# Ruff stuff:
.ruff_cache/

# PyPI configuration file
.pypirc

# Cursor
# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
# refer to https://docs.cursor.com/context/ignore-files
.cursorignore
.cursorindexingignore
22 changes: 9 additions & 13 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,19 +1,15 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[project]
name = "osut"
version = "0.6.0a1"
requires-python = ">=3.2"
authors = [
{name = "Denis Bourgeois", email = "[email protected]"}
]
maintainers = [
{name = "Denis Bourgeois", email = "[email protected]"}
]
description = "OpenStudio SDK utilities for Python"
readme = "README.md"
requires-python = ">=3.2"
authors = [ {name = "Denis Bourgeois", email = "[email protected]"} ]
maintainers = [ {name = "Denis Bourgeois", email = "[email protected]"} ]
dependencies = [
"oslg",
"openstudio>=3.6.1",
]
license = "BSD-3-Clause"
license-files = ["LICENSE"]
classifiers = [
Expand All @@ -28,5 +24,5 @@ keywords = ["openstudio", "utilities"]
"Homepage" = "https://github.com/rd2/pyOSut"
"Bug Tracker" = "https://github.com/rd2/pyOSut/issues"

[tool.hatch.build.targets.wheel]
packages = ["src/osut"]
[tool.uv]
package = true
Loading