honeybee-radiance 1.66.165__tar.gz → 1.66.215__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/PKG-INFO +19 -5
  2. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/dev-requirements.txt +6 -5
  3. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/glare.py +17 -7
  4. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/study.py +5 -1
  5. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/translate.py +3 -0
  6. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/viewfactor.py +4 -4
  7. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/model.py +79 -5
  8. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/writer.py +2 -2
  9. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/PKG-INFO +19 -5
  10. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/SOURCES.txt +0 -1
  11. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/requires.txt +1 -1
  12. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/requirements.txt +1 -1
  13. honeybee_radiance-1.66.215/setup.cfg +4 -0
  14. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/setup.py +6 -2
  15. honeybee_radiance-1.66.165/setup.cfg +0 -10
  16. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/.coveragerc +0 -0
  17. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/CODE_OF_CONDUCT.md +0 -0
  18. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/CONTRIBUTING.md +0 -0
  19. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/LICENSE +0 -0
  20. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/MANIFEST.in +0 -0
  21. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/README.md +0 -0
  22. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/__init__.py +0 -0
  23. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/__main__.py +0 -0
  24. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/_extend_honeybee.py +0 -0
  25. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/__init__.py +0 -0
  26. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/dc.py +0 -0
  27. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/edit.py +0 -0
  28. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/grid.py +0 -0
  29. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/lib.py +0 -0
  30. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/modifier.py +0 -0
  31. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/mtx.py +0 -0
  32. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/multiphase.py +0 -0
  33. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/octree.py +0 -0
  34. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/postprocess.py +0 -0
  35. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/raytrace.py +0 -0
  36. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/rpict.py +0 -0
  37. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/schedule.py +0 -0
  38. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/setconfig.py +0 -0
  39. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/sky.py +0 -0
  40. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/sunpath.py +0 -0
  41. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/threephase.py +0 -0
  42. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/util.py +0 -0
  43. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/view.py +0 -0
  44. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/config.json +0 -0
  45. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/config.py +0 -0
  46. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/dictutil.py +0 -0
  47. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/__init__.py +0 -0
  48. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/group.py +0 -0
  49. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/multiphase.py +0 -0
  50. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/state.py +0 -0
  51. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/stategeo.py +0 -0
  52. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/__init__.py +0 -0
  53. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/bubble.py +0 -0
  54. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cone.py +0 -0
  55. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cup.py +0 -0
  56. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cylinder.py +0 -0
  57. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/geometrybase.py +0 -0
  58. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/instance.py +0 -0
  59. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/mesh.py +0 -0
  60. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/polygon.py +0 -0
  61. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/ring.py +0 -0
  62. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/source.py +0 -0
  63. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/sphere.py +0 -0
  64. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/tube.py +0 -0
  65. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/__init__.py +0 -0
  66. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/_loadmodifiers.py +0 -0
  67. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/_loadmodifiersets.py +0 -0
  68. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/modifiers.py +0 -0
  69. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/modifiersets.py +0 -0
  70. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightpath.py +0 -0
  71. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/__init__.py +0 -0
  72. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/_gendaylit.py +0 -0
  73. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/dictutil.py +0 -0
  74. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/ground.py +0 -0
  75. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/__init__.py +0 -0
  76. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/_skybase.py +0 -0
  77. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/certainirradiance.py +0 -0
  78. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/cie.py +0 -0
  79. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/climatebased.py +0 -0
  80. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/hemisphere.py +0 -0
  81. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/skydome.py +0 -0
  82. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/skymatrix.py +0 -0
  83. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/strutil.py +0 -0
  84. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/sunmatrix.py +0 -0
  85. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sunpath.py +0 -0
  86. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/__init__.py +0 -0
  87. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/__init__.py +0 -0
  88. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/absdf.py +0 -0
  89. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/antimatter.py +0 -0
  90. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/ashik2.py +0 -0
  91. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/brtdfunc.py +0 -0
  92. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/bsdf.py +0 -0
  93. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/dielectric.py +0 -0
  94. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/glass.py +0 -0
  95. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/glow.py +0 -0
  96. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/illum.py +0 -0
  97. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/interface.py +0 -0
  98. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/light.py +0 -0
  99. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/materialbase.py +0 -0
  100. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metal.py +0 -0
  101. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metal2.py +0 -0
  102. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metdata.py +0 -0
  103. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metfunc.py +0 -0
  104. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/mirror.py +0 -0
  105. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/mist.py +0 -0
  106. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plasdata.py +0 -0
  107. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plasfunc.py +0 -0
  108. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plastic.py +0 -0
  109. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plastic2.py +0 -0
  110. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/prism1.py +0 -0
  111. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/prism2.py +0 -0
  112. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/spotlight.py +0 -0
  113. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/trans.py +0 -0
  114. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/trans2.py +0 -0
  115. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/transdata.py +0 -0
  116. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/transfunc.py +0 -0
  117. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/__init__.py +0 -0
  118. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixdata.py +0 -0
  119. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixfunc.py +0 -0
  120. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixpict.py +0 -0
  121. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixtext.py +0 -0
  122. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixturebase.py +0 -0
  123. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/modifierbase.py +0 -0
  124. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/__init__.py +0 -0
  125. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brightdata.py +0 -0
  126. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brightfunc.py +0 -0
  127. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brighttext.py +0 -0
  128. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colordata.py +0 -0
  129. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colorfunc.py +0 -0
  130. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colorpict.py +0 -0
  131. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colortext.py +0 -0
  132. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/patternbase.py +0 -0
  133. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/__init__.py +0 -0
  134. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texdata.py +0 -0
  135. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texfunc.py +0 -0
  136. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texturebase.py +0 -0
  137. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/modifierset.py +0 -0
  138. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/mutil.py +0 -0
  139. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/__init__.py +0 -0
  140. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annual.py +0 -0
  141. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualdaylight.py +0 -0
  142. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualglare.py +0 -0
  143. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualirradiance.py +0 -0
  144. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/electriclight.py +0 -0
  145. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/en17037.py +0 -0
  146. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/leed.py +0 -0
  147. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/solartracking.py +0 -0
  148. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/primitive.py +0 -0
  149. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/__init__.py +0 -0
  150. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/_base.py +0 -0
  151. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/aperture.py +0 -0
  152. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/door.py +0 -0
  153. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/face.py +0 -0
  154. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/room.py +0 -0
  155. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/shade.py +0 -0
  156. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/shademesh.py +0 -0
  157. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/putil.py +0 -0
  158. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/reader.py +0 -0
  159. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/sensor.py +0 -0
  160. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/sensorgrid.py +0 -0
  161. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance/view.py +0 -0
  162. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/dependency_links.txt +0 -0
  163. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/entry_points.txt +0 -0
  164. {honeybee_radiance-1.66.165 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/top_level.txt +0 -0
@@ -1,23 +1,37 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: honeybee-radiance
3
- Version: 1.66.165
3
+ Version: 1.66.215
4
4
  Summary: Daylight and light simulation extension for honeybee.
5
5
  Home-page: https://github.com/ladybug-tools/honeybee-radiance
6
6
  Author: Ladybug Tools
7
7
  Author-email: info@ladybug.tools
8
8
  License: AGPL-3.0
9
9
  Classifier: Programming Language :: Python :: 2.7
10
- Classifier: Programming Language :: Python :: 3.6
11
10
  Classifier: Programming Language :: Python :: 3.7
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
12
16
  Classifier: Programming Language :: Python :: Implementation :: CPython
13
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3
17
+ Classifier: Programming Language :: Python :: Implementation :: IronPython
14
18
  Classifier: Operating System :: OS Independent
15
19
  Description-Content-Type: text/markdown
16
20
  License-File: LICENSE
17
- Requires-Dist: honeybee-core==1.61.14
21
+ Requires-Dist: honeybee-core==1.64.8
18
22
  Requires-Dist: honeybee-radiance-folder==2.11.16
19
23
  Requires-Dist: honeybee-radiance-command==1.22.5
20
24
  Requires-Dist: honeybee-standards==2.0.7
25
+ Dynamic: author
26
+ Dynamic: author-email
27
+ Dynamic: classifier
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: home-page
31
+ Dynamic: license
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: summary
21
35
 
22
36
  # honeybee-radiance
23
37
 
@@ -1,13 +1,13 @@
1
- pytest==7.4.4;python_version>='3.6'
1
+ pytest==8.3.2;python_version>='3.6'
2
2
  Sphinx==8.0.2;python_version>='3.6'
3
3
  sphinx-bootstrap-theme==0.8.1
4
4
  sphinxcontrib-fulltoc==1.2.0
5
5
  sphinxcontrib-websupport==2.0.0;python_version>='3.6'
6
6
  sphinx-click==6.0.0;python_version>='3.6'
7
- twine==5.1.1;python_version>='3.6'
8
- wheel==0.44.0;python_version>='3.6'
9
- setuptools==75.1.0;python_version>='3.6'
10
- importlib-metadata==8.5.0;python_version>='3.6'
7
+ twine==6.1.0;python_version>='3.6'
8
+ wheel==0.45.1;python_version>='3.6'
9
+ setuptools==80.9.0;python_version>='3.6'
10
+ build==1.3.0;python_version>='3.6'
11
11
  pytest==4.6.9;python_version<'3.0'
12
12
  Sphinx==1.8.5;python_version<'3.0'
13
13
  sphinxcontrib-websupport==1.1.2;python_version<'3.0'
@@ -15,4 +15,5 @@ sphinx-click==4.4.0;python_version<'3.0'
15
15
  twine==1.13.0;python_version<'3.0'
16
16
  wheel==0.38.1;python_version<'3.0'
17
17
  setuptools==44.1.0;python_version<'3.0'
18
+ build==0.1.0;python_version<'3.0'
18
19
  importlib-metadata==2.0.0;python_version<'3.0'
@@ -18,13 +18,20 @@ def dcglare():
18
18
 
19
19
  @dcglare.command('two-phase')
20
20
  @click.argument(
21
- 'dc-direct', type=click.Path(exists=True, dir_okay=False, resolve_path=True))
21
+ 'dc-direct',
22
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
23
+ )
22
24
  @click.argument(
23
- 'dc-total', type=click.Path(exists=True, dir_okay=False, resolve_path=True))
25
+ 'dc-total',
26
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
27
+ )
24
28
  @click.argument(
25
- 'sky-mtx', type=click.Path(exists=True, dir_okay=False, resolve_path=True))
29
+ 'sky-mtx',
30
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
31
+ )
26
32
  @click.argument(
27
- 'view-rays', type=click.Path(exists=True, dir_okay=False, resolve_path=True)
33
+ 'view-rays',
34
+ type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True)
28
35
  )
29
36
  @click.option(
30
37
  '--glare-limit', '-l', type=float,
@@ -51,7 +58,8 @@ def dcglare():
51
58
  '--glare-limit (or -l) is specified.'
52
59
  )
53
60
  @click.option(
54
- '--output', '-o', help='Path to output file. If a relative path is provided it '
61
+ '--output', '-o', default='output.dgp',
62
+ help='Path to output file. If a relative path is provided it '
55
63
  'should be relative to project folder.'
56
64
  )
57
65
  @click.option(
@@ -84,8 +92,10 @@ def two_phase_command(
84
92
  options.b = threshold_factor
85
93
  if occupancy_schedule:
86
94
  options.sf = occupancy_schedule
87
-
88
- # create command.
95
+ # create command
96
+ out_dir = os.path.dirname(output)
97
+ if out_dir and not os.path.isdir(out_dir):
98
+ os.makedirs(out_dir)
89
99
  dcglare = Dcglare(
90
100
  options=options, output=output,
91
101
  dc_direct=dc_direct, dc_total=dc_total, sky_matrix=sky_mtx
@@ -21,12 +21,15 @@ def study():
21
21
  @click.argument(
22
22
  'wea', type=click.Path(exists=True, dir_okay=False, resolve_path=True))
23
23
  @click.argument('timestep', type=click.INT)
24
+ @click.option(
25
+ '--study-type', '-st', help='Type of study, e.g., annual-daylight or annual-irradiance',
26
+ default='annual-daylight', show_default=True)
24
27
  @click.option('--folder', '-f', help='Output folder.', default='.', show_default=True)
25
28
  @click.option(
26
29
  '--name', '-n', help='Output file name study info.',
27
30
  type=click.STRING, default='study_info', show_default=True
28
31
  )
29
- def study_info(wea, timestep, folder, name):
32
+ def study_info(wea, timestep, study_type, folder, name):
30
33
  """Create a study info file.
31
34
 
32
35
  This command generates a study info file with the timestep and the hoys of
@@ -50,6 +53,7 @@ def study_info(wea, timestep, folder, name):
50
53
  wea = Wea.from_file(wea, timestep=timestep)
51
54
  study_info['timestep'] = timestep
52
55
  study_info['study_hours'] = wea.hoys
56
+ study_info['study_type'] = study_type
53
57
 
54
58
  if not os.path.isdir(folder):
55
59
  os.makedirs(folder)
@@ -184,6 +184,9 @@ def model_to_rad_folder(
184
184
  grid_size, offset=offset, wall_offset=wall_offset))
185
185
  model.properties.radiance.sensor_grids = sensor_grids
186
186
  model.to_hbjson('output_model', '.')
187
+ else:
188
+ file_extension = os.path.splitext(model_file)[1]
189
+ shutil.copy(model_file, 'output_model' + file_extension)
187
190
  else:
188
191
  file_extension = os.path.splitext(model_file)[1]
189
192
  shutil.copy(model_file, 'output_model' + file_extension)
@@ -160,8 +160,8 @@ def create_view_factor_modifiers(
160
160
  mod_name = '%s_mod' % poly_id
161
161
  mod_names.append(mod_name)
162
162
  white_plastic.identifier = mod_name
163
- base_geo = white_plastic.identifier + ' polygon {} 0 0 9 {}'
164
- geo_str = base_geo.format(poly_id, ' '.join(coords))
163
+ base_geo = white_plastic.identifier + ' polygon {} 0 0 {} {}'
164
+ geo_str = base_geo.format(poly_id, len(coords), ' '.join(coords))
165
165
  geo_strs.append(geo_str)
166
166
  mod_strs.append(white_plastic.to_radiance(True, False, False))
167
167
  else:
@@ -173,14 +173,14 @@ def create_view_factor_modifiers(
173
173
  geo_strs.append(rad_poly.to_radiance(False, False, False))
174
174
  for shade_mesh in model.shade_meshes:
175
175
  shade_mesh.properties.radiance.modifier = white_plastic
176
- base_geo = white_plastic.identifier + ' polygon {} 0 0 9 {}'
176
+ base_geo = white_plastic.identifier + ' polygon {} 0 0 {} {}'
177
177
  shd_id = shade_mesh.identifier
178
178
  str_vertices = tuple(tuple(str(v) for v in pt.to_array())
179
179
  for pt in shade_mesh.vertices)
180
180
  for fi, f_geo in enumerate(shade_mesh.faces):
181
181
  coords = tuple(v for pt in f_geo for v in str_vertices[pt])
182
182
  poly_id = '{}_{}'.format(shd_id, fi)
183
- geo_str = base_geo.format(poly_id, ' '.join(coords))
183
+ geo_str = base_geo.format(poly_id, len(coords), ' '.join(coords))
184
184
  geo_strs.append(geo_str)
185
185
 
186
186
  # add the ground and sky domes if requested
@@ -46,6 +46,14 @@ class ModelRadianceProperties(object):
46
46
  * has_sensor_grids
47
47
  * has_views
48
48
  """
49
+ ERROR_MAP = {
50
+ '010001': 'check_duplicate_modifier_identifiers',
51
+ '010002': 'check_duplicate_modifier_set_identifiers',
52
+ '010003': 'check_duplicate_sensor_grid_identifiers',
53
+ '010004': 'check_duplicate_view_identifiers',
54
+ '010005': 'check_sensor_grid_rooms_in_model',
55
+ '010006': 'check_view_rooms_in_model'
56
+ }
49
57
 
50
58
  def __init__(self, host, sensor_grids=None, views=None):
51
59
  """Initialize Model radiance properties."""
@@ -593,8 +601,43 @@ class ModelRadianceProperties(object):
593
601
  msgs.append(self.host.check_rooms_solid(tol, ang_tol, False, detailed))
594
602
 
595
603
  # perform checks that are specific to Radiance
596
- msgs.append(self.check_duplicate_modifier_identifiers(False, detailed))
597
- msgs.append(self.check_duplicate_modifier_set_identifiers(False, detailed))
604
+ msgs.append(self.check_duplicate_sensor_grid_identifiers(False, detailed))
605
+ msgs.append(self.check_duplicate_view_identifiers(False, detailed))
606
+ msgs.append(self.check_sensor_grid_rooms_in_model(False, detailed))
607
+ msgs.append(self.check_view_rooms_in_model(False, detailed))
608
+ # output a final report of errors or raise an exception
609
+ full_msgs = [msg for msg in msgs if msg]
610
+ if detailed:
611
+ return [m for msg in full_msgs for m in msg]
612
+ full_msg = '\n'.join(full_msgs)
613
+ if raise_exception and len(full_msgs) != 0:
614
+ raise ValueError(full_msg)
615
+ return full_msg
616
+
617
+ def check_generic(self, raise_exception=True, detailed=False):
618
+ """Check generic of the aspects of the Model radiance properties.
619
+
620
+ This includes checks for everything except duplicate identifiers for
621
+ modifiers and modifier sets. Typically, these checks just add to the
622
+ validation time without providing useful information since extension
623
+ objects with duplicate IDs are lost during HBJSON serialization. Checks
624
+ for duplicate sensor grid and view IDs are still performed.
625
+
626
+ Args:
627
+ raise_exception: Boolean to note whether a ValueError should be raised
628
+ if any errors are found. If False, this method will simply
629
+ return a text string with all errors that were found.
630
+ detailed: Boolean for whether the returned object is a detailed list of
631
+ dicts with error info or a string with a message. (Default: False).
632
+
633
+ Returns:
634
+ A text string with all errors that were found or a list if detailed is True.
635
+ This string (or list) will be empty if no errors were found.
636
+ """
637
+ # set up defaults to ensure the method runs correctly
638
+ detailed = False if raise_exception else detailed
639
+ msgs = []
640
+ # perform checks for specific radiance simulation rules
598
641
  msgs.append(self.check_duplicate_sensor_grid_identifiers(False, detailed))
599
642
  msgs.append(self.check_duplicate_view_identifiers(False, detailed))
600
643
  msgs.append(self.check_sensor_grid_rooms_in_model(False, detailed))
@@ -625,13 +668,44 @@ class ModelRadianceProperties(object):
625
668
  # set up defaults to ensure the method runs correctly
626
669
  detailed = False if raise_exception else detailed
627
670
  msgs = []
628
- # perform checks for key honeybee model schema rules
671
+ # perform checks for duplicate identifiers
672
+ msgs.append(self.check_all_duplicate_identifiers(False, detailed))
673
+ # perform checks for specific radiance simulation rules
674
+ msgs.append(self.check_sensor_grid_rooms_in_model(False, detailed))
675
+ msgs.append(self.check_view_rooms_in_model(False, detailed))
676
+ # output a final report of errors or raise an exception
677
+ full_msgs = [msg for msg in msgs if msg]
678
+ if detailed:
679
+ return [m for msg in full_msgs for m in msg]
680
+ full_msg = '\n'.join(full_msgs)
681
+ if raise_exception and len(full_msgs) != 0:
682
+ raise ValueError(full_msg)
683
+ return full_msg
684
+
685
+ def check_all_duplicate_identifiers(self, raise_exception=True, detailed=False):
686
+ """Check that there are no duplicate identifiers for any radiance objects.
687
+
688
+ This includes Modifiers, ModifierSets, SensorGrids, and Views.
689
+
690
+ Args:
691
+ raise_exception: Boolean to note whether a ValueError should be raised
692
+ if any duplicate identifiers are found. If False, this method will simply
693
+ return a text string with all errors that were found. (Default: True).
694
+ detailed: Boolean for whether the returned object is a detailed list of
695
+ dicts with error info or a string with a message. (Default: False).
696
+
697
+ Returns:
698
+ A text string with all errors that were found or a list if detailed is True.
699
+ This string (or list) will be empty if no errors were found.
700
+ """
701
+ # set up defaults to ensure the method runs correctly
702
+ detailed = False if raise_exception else detailed
703
+ msgs = []
704
+ # perform checks for duplicate identifiers
629
705
  msgs.append(self.check_duplicate_modifier_identifiers(False, detailed))
630
706
  msgs.append(self.check_duplicate_modifier_set_identifiers(False, detailed))
631
707
  msgs.append(self.check_duplicate_sensor_grid_identifiers(False, detailed))
632
708
  msgs.append(self.check_duplicate_view_identifiers(False, detailed))
633
- msgs.append(self.check_sensor_grid_rooms_in_model(False, detailed))
634
- msgs.append(self.check_view_rooms_in_model(False, detailed))
635
709
  # output a final report of errors or raise an exception
636
710
  full_msgs = [msg for msg in msgs if msg]
637
711
  if detailed:
@@ -35,7 +35,7 @@ def shade_mesh_to_rad(shade_mesh, blk=False):
35
35
  """
36
36
  rad_prop = shade_mesh.properties.radiance
37
37
  modifier = rad_prop.modifier_blk if blk else rad_prop.modifier
38
- base_geo = modifier.identifier + ' polygon {} 0 0 9 {}'
38
+ base_geo = modifier.identifier + ' polygon {} 0 0 {} {}'
39
39
  shd_id = shade_mesh.identifier
40
40
  geo_strs = []
41
41
  str_vertices = tuple(tuple(str(v) for v in pt.to_array())
@@ -43,7 +43,7 @@ def shade_mesh_to_rad(shade_mesh, blk=False):
43
43
  for fi, f_geo in enumerate(shade_mesh.faces):
44
44
  coords = tuple(v for pt in f_geo for v in str_vertices[pt])
45
45
  poly_id = '{}_{}'.format(shd_id, fi)
46
- geo_str = base_geo.format(poly_id, ' '.join(coords))
46
+ geo_str = base_geo.format(poly_id, len(coords), ' '.join(coords))
47
47
  geo_strs.append(geo_str)
48
48
  return '\n'.join(geo_strs)
49
49
 
@@ -1,23 +1,37 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: honeybee-radiance
3
- Version: 1.66.165
3
+ Version: 1.66.215
4
4
  Summary: Daylight and light simulation extension for honeybee.
5
5
  Home-page: https://github.com/ladybug-tools/honeybee-radiance
6
6
  Author: Ladybug Tools
7
7
  Author-email: info@ladybug.tools
8
8
  License: AGPL-3.0
9
9
  Classifier: Programming Language :: Python :: 2.7
10
- Classifier: Programming Language :: Python :: 3.6
11
10
  Classifier: Programming Language :: Python :: 3.7
11
+ Classifier: Programming Language :: Python :: 3.8
12
+ Classifier: Programming Language :: Python :: 3.9
13
+ Classifier: Programming Language :: Python :: 3.10
14
+ Classifier: Programming Language :: Python :: 3.11
15
+ Classifier: Programming Language :: Python :: 3.12
12
16
  Classifier: Programming Language :: Python :: Implementation :: CPython
13
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3
17
+ Classifier: Programming Language :: Python :: Implementation :: IronPython
14
18
  Classifier: Operating System :: OS Independent
15
19
  Description-Content-Type: text/markdown
16
20
  License-File: LICENSE
17
- Requires-Dist: honeybee-core==1.61.14
21
+ Requires-Dist: honeybee-core==1.64.8
18
22
  Requires-Dist: honeybee-radiance-folder==2.11.16
19
23
  Requires-Dist: honeybee-radiance-command==1.22.5
20
24
  Requires-Dist: honeybee-standards==2.0.7
25
+ Dynamic: author
26
+ Dynamic: author-email
27
+ Dynamic: classifier
28
+ Dynamic: description
29
+ Dynamic: description-content-type
30
+ Dynamic: home-page
31
+ Dynamic: license
32
+ Dynamic: license-file
33
+ Dynamic: requires-dist
34
+ Dynamic: summary
21
35
 
22
36
  # honeybee-radiance
23
37
 
@@ -6,7 +6,6 @@ MANIFEST.in
6
6
  README.md
7
7
  dev-requirements.txt
8
8
  requirements.txt
9
- setup.cfg
10
9
  setup.py
11
10
  honeybee_radiance/__init__.py
12
11
  honeybee_radiance/__main__.py
@@ -1,4 +1,4 @@
1
- honeybee-core==1.61.14
1
+ honeybee-core==1.64.8
2
2
  honeybee-radiance-folder==2.11.16
3
3
  honeybee-radiance-command==1.22.5
4
4
  honeybee-standards==2.0.7
@@ -1,4 +1,4 @@
1
- honeybee-core==1.61.14
1
+ honeybee-core==1.64.8
2
2
  honeybee-radiance-folder==2.11.16
3
3
  honeybee-radiance-command==1.22.5
4
4
  honeybee-standards==2.0.7
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -25,10 +25,14 @@ setuptools.setup(
25
25
  },
26
26
  classifiers=[
27
27
  "Programming Language :: Python :: 2.7",
28
- "Programming Language :: Python :: 3.6",
29
28
  "Programming Language :: Python :: 3.7",
29
+ "Programming Language :: Python :: 3.8",
30
+ "Programming Language :: Python :: 3.9",
31
+ "Programming Language :: Python :: 3.10",
32
+ "Programming Language :: Python :: 3.11",
33
+ "Programming Language :: Python :: 3.12",
30
34
  "Programming Language :: Python :: Implementation :: CPython",
31
- "License :: OSI Approved :: GNU Affero General Public License v3",
35
+ "Programming Language :: Python :: Implementation :: IronPython",
32
36
  "Operating System :: OS Independent"
33
37
  ],
34
38
  license="AGPL-3.0"
@@ -1,10 +0,0 @@
1
- [bdist_wheel]
2
- universal = 1
3
-
4
- [metadata]
5
- license_file = LICENSE
6
-
7
- [egg_info]
8
- tag_build =
9
- tag_date = 0
10
-