honeybee-radiance 1.66.94__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.
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/PKG-INFO +53 -6
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/README.md +31 -2
- honeybee_radiance-1.66.215/dev-requirements.txt +19 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/__init__.py +2 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/dc.py +12 -9
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/glare.py +19 -9
- honeybee_radiance-1.66.215/honeybee_radiance/cli/modifier.py +133 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/multiphase.py +164 -134
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/octree.py +1 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/postprocess.py +1 -1
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/study.py +8 -1
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/threephase.py +4 -4
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/translate.py +156 -35
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/viewfactor.py +25 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/config.py +1 -1
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/multiphase.py +201 -18
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/bsdf.py +1 -1
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/model.py +156 -3
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/sensorgrid.py +37 -1
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/writer.py +4 -4
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/PKG-INFO +53 -6
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/SOURCES.txt +1 -1
- honeybee_radiance-1.66.215/honeybee_radiance.egg-info/requires.txt +4 -0
- honeybee_radiance-1.66.215/requirements.txt +4 -0
- honeybee_radiance-1.66.215/setup.cfg +4 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/setup.py +6 -2
- honeybee-radiance-1.66.94/dev-requirements.txt +0 -23
- honeybee-radiance-1.66.94/honeybee_radiance.egg-info/requires.txt +0 -4
- honeybee-radiance-1.66.94/requirements.txt +0 -4
- honeybee-radiance-1.66.94/setup.cfg +0 -10
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/.coveragerc +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/CODE_OF_CONDUCT.md +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/CONTRIBUTING.md +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/LICENSE +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/MANIFEST.in +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/__main__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/_extend_honeybee.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/edit.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/grid.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/lib.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/mtx.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/raytrace.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/rpict.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/schedule.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/setconfig.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/sky.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/sunpath.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/util.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/cli/view.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/config.json +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dictutil.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/group.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/state.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/dynamic/stategeo.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/bubble.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cone.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cup.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/cylinder.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/geometrybase.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/instance.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/mesh.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/polygon.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/ring.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/source.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/sphere.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/geometry/tube.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/_loadmodifiers.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/_loadmodifiersets.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/modifiers.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lib/modifiersets.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightpath.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/_gendaylit.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/dictutil.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/ground.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/_skybase.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/certainirradiance.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/cie.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/climatebased.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/hemisphere.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/skydome.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/skymatrix.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/strutil.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sky/sunmatrix.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/lightsource/sunpath.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/absdf.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/antimatter.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/ashik2.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/brtdfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/dielectric.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/glass.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/glow.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/illum.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/interface.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/light.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/materialbase.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metal.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metal2.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metdata.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/metfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/mirror.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/mist.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plasdata.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plasfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plastic.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/plastic2.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/prism1.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/prism2.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/spotlight.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/trans.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/trans2.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/transdata.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/material/transfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixdata.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixpict.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixtext.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/mixture/mixturebase.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/modifierbase.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brightdata.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brightfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/brighttext.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colordata.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colorfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colorpict.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/colortext.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/pattern/patternbase.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texdata.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texfunc.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifier/texture/texturebase.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/modifierset.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/mutil.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annual.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualdaylight.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualglare.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/annualirradiance.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/electriclight.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/en17037.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/leed.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/postprocess/solartracking.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/primitive.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/__init__.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/_base.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/aperture.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/door.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/face.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/room.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/shade.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/properties/shademesh.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/putil.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/reader.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/sensor.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance/view.py +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/dependency_links.txt +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/entry_points.txt +0 -0
- {honeybee-radiance-1.66.94 → honeybee_radiance-1.66.215}/honeybee_radiance.egg-info/top_level.txt +0 -0
|
@@ -1,19 +1,37 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: honeybee-radiance
|
|
3
|
-
Version: 1.66.
|
|
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:
|
|
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
|
|
21
|
+
Requires-Dist: honeybee-core==1.64.8
|
|
22
|
+
Requires-Dist: honeybee-radiance-folder==2.11.16
|
|
23
|
+
Requires-Dist: honeybee-radiance-command==1.22.5
|
|
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
|
|
17
35
|
|
|
18
36
|
# honeybee-radiance
|
|
19
37
|
|
|
@@ -27,9 +45,9 @@ License-File: LICENSE
|
|
|
27
45
|
[](https://www.python.org/downloads/release/python-270/)
|
|
28
46
|
[](https://github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.8/)
|
|
29
47
|
|
|
30
|
-
Radiance extension for honeybee
|
|
48
|
+
Radiance extension for honeybee.
|
|
31
49
|
|
|
32
|
-
Honeybee-radiance adds
|
|
50
|
+
Honeybee-radiance adds Radiance simulation functionalities to honeybee for daylight/radiation simulation.
|
|
33
51
|
|
|
34
52
|
## Installation
|
|
35
53
|
|
|
@@ -40,3 +58,32 @@ To check if the command line interface is installed correctly use `honeybee-radi
|
|
|
40
58
|
## Documentation
|
|
41
59
|
|
|
42
60
|
[API documentation](https://www.ladybug.tools/honeybee-radiance/docs/)
|
|
61
|
+
|
|
62
|
+
## Local Development
|
|
63
|
+
|
|
64
|
+
1. Clone this repo locally
|
|
65
|
+
```console
|
|
66
|
+
git clone git@github.com:ladybug-tools/honeybee-radiance
|
|
67
|
+
|
|
68
|
+
# or
|
|
69
|
+
|
|
70
|
+
git clone https://github.com/ladybug-tools/honeybee-radiance
|
|
71
|
+
```
|
|
72
|
+
2. Install dependencies:
|
|
73
|
+
```console
|
|
74
|
+
cd honeybee-radiance
|
|
75
|
+
pip install -r dev-requirements.txt
|
|
76
|
+
pip install -r requirements.txt
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
3. Run Tests:
|
|
80
|
+
```console
|
|
81
|
+
python -m pytest tests/
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
4. Generate Documentation:
|
|
85
|
+
```console
|
|
86
|
+
sphinx-apidoc -f -e -d 4 -o ./docs ./honeybee_radiance
|
|
87
|
+
sphinx-build -b html ./docs ./docs/_build/docs
|
|
88
|
+
```
|
|
89
|
+
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
[](https://www.python.org/downloads/release/python-270/)
|
|
11
11
|
[](https://github.com/IronLanguages/ironpython2/releases/tag/ipy-2.7.8/)
|
|
12
12
|
|
|
13
|
-
Radiance extension for honeybee
|
|
13
|
+
Radiance extension for honeybee.
|
|
14
14
|
|
|
15
|
-
Honeybee-radiance adds
|
|
15
|
+
Honeybee-radiance adds Radiance simulation functionalities to honeybee for daylight/radiation simulation.
|
|
16
16
|
|
|
17
17
|
## Installation
|
|
18
18
|
|
|
@@ -23,3 +23,32 @@ To check if the command line interface is installed correctly use `honeybee-radi
|
|
|
23
23
|
## Documentation
|
|
24
24
|
|
|
25
25
|
[API documentation](https://www.ladybug.tools/honeybee-radiance/docs/)
|
|
26
|
+
|
|
27
|
+
## Local Development
|
|
28
|
+
|
|
29
|
+
1. Clone this repo locally
|
|
30
|
+
```console
|
|
31
|
+
git clone git@github.com:ladybug-tools/honeybee-radiance
|
|
32
|
+
|
|
33
|
+
# or
|
|
34
|
+
|
|
35
|
+
git clone https://github.com/ladybug-tools/honeybee-radiance
|
|
36
|
+
```
|
|
37
|
+
2. Install dependencies:
|
|
38
|
+
```console
|
|
39
|
+
cd honeybee-radiance
|
|
40
|
+
pip install -r dev-requirements.txt
|
|
41
|
+
pip install -r requirements.txt
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
3. Run Tests:
|
|
45
|
+
```console
|
|
46
|
+
python -m pytest tests/
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
4. Generate Documentation:
|
|
50
|
+
```console
|
|
51
|
+
sphinx-apidoc -f -e -d 4 -o ./docs ./honeybee_radiance
|
|
52
|
+
sphinx-build -b html ./docs ./docs/_build/docs
|
|
53
|
+
```
|
|
54
|
+
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
pytest==8.3.2;python_version>='3.6'
|
|
2
|
+
Sphinx==8.0.2;python_version>='3.6'
|
|
3
|
+
sphinx-bootstrap-theme==0.8.1
|
|
4
|
+
sphinxcontrib-fulltoc==1.2.0
|
|
5
|
+
sphinxcontrib-websupport==2.0.0;python_version>='3.6'
|
|
6
|
+
sphinx-click==6.0.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
|
+
pytest==4.6.9;python_version<'3.0'
|
|
12
|
+
Sphinx==1.8.5;python_version<'3.0'
|
|
13
|
+
sphinxcontrib-websupport==1.1.2;python_version<'3.0'
|
|
14
|
+
sphinx-click==4.4.0;python_version<'3.0'
|
|
15
|
+
twine==1.13.0;python_version<'3.0'
|
|
16
|
+
wheel==0.38.1;python_version<'3.0'
|
|
17
|
+
setuptools==44.1.0;python_version<'3.0'
|
|
18
|
+
build==0.1.0;python_version<'3.0'
|
|
19
|
+
importlib-metadata==2.0.0;python_version<'3.0'
|
|
@@ -25,6 +25,7 @@ from .multiphase import multi_phase
|
|
|
25
25
|
from .glare import dcglare
|
|
26
26
|
from .schedule import schedule
|
|
27
27
|
from .study import study
|
|
28
|
+
from .modifier import modifier
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
_logger = logging.getLogger(__name__)
|
|
@@ -81,6 +82,7 @@ radiance.add_command(multi_phase)
|
|
|
81
82
|
radiance.add_command(dcglare)
|
|
82
83
|
radiance.add_command(schedule)
|
|
83
84
|
radiance.add_command(study)
|
|
85
|
+
radiance.add_command(modifier)
|
|
84
86
|
|
|
85
87
|
# add radiance sub-commands to honeybee CLI
|
|
86
88
|
main.add_command(radiance)
|
|
@@ -21,13 +21,13 @@ def dc():
|
|
|
21
21
|
|
|
22
22
|
@dc.command('scontrib')
|
|
23
23
|
@click.argument(
|
|
24
|
-
'octree', type=click.Path(exists=True, file_okay=True
|
|
24
|
+
'octree', type=click.Path(exists=True, file_okay=True)
|
|
25
25
|
)
|
|
26
26
|
@click.argument(
|
|
27
|
-
'sensor-grid', type=click.Path(exists=True, file_okay=True
|
|
27
|
+
'sensor-grid', type=click.Path(exists=True, file_okay=True)
|
|
28
28
|
)
|
|
29
29
|
@click.argument(
|
|
30
|
-
'modifiers', type=click.Path(exists=True, file_okay=True
|
|
30
|
+
'modifiers', type=click.Path(exists=True, file_okay=True)
|
|
31
31
|
)
|
|
32
32
|
@click.option(
|
|
33
33
|
'--sensor-count', type=click.INT, show_default=True,
|
|
@@ -118,12 +118,15 @@ def rcontrib_command_with_postprocess(
|
|
|
118
118
|
else:
|
|
119
119
|
options.update_from_string('-aa 0.0 -V+ -y {}'.format(sensor_count))
|
|
120
120
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
cmd = rcontrib.
|
|
121
|
+
modifiers = os.path.relpath(modifiers)
|
|
122
|
+
if modifiers.startswith('..'):
|
|
123
|
+
pass
|
|
124
|
+
else:
|
|
125
|
+
modifiers = f'./{modifiers}'
|
|
126
|
+
cmd = 'rcontrib {options} -M {modifiers} {octree} < {sensor_grid}'.format(
|
|
127
|
+
options=options.to_radiance(),
|
|
128
|
+
modifiers=modifiers, octree=octree, sensor_grid=sensor_grid)
|
|
129
|
+
cmd = cmd.replace("\\", "/")
|
|
127
130
|
|
|
128
131
|
if conversion and conversion.strip():
|
|
129
132
|
if multiply_by != 1:
|
|
@@ -18,13 +18,20 @@ def dcglare():
|
|
|
18
18
|
|
|
19
19
|
@dcglare.command('two-phase')
|
|
20
20
|
@click.argument(
|
|
21
|
-
'dc-direct',
|
|
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',
|
|
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',
|
|
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',
|
|
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',
|
|
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,11 +92,13 @@ def two_phase_command(
|
|
|
84
92
|
options.b = threshold_factor
|
|
85
93
|
if occupancy_schedule:
|
|
86
94
|
options.sf = occupancy_schedule
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
options=options, output=output,
|
|
91
|
-
sky_matrix=sky_mtx
|
|
100
|
+
options=options, output=output,
|
|
101
|
+
dc_direct=dc_direct, dc_total=dc_total, sky_matrix=sky_mtx
|
|
92
102
|
)
|
|
93
103
|
|
|
94
104
|
if dry_run:
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"""honeybee radiance modifier commands."""
|
|
2
|
+
import click
|
|
3
|
+
import sys
|
|
4
|
+
import os
|
|
5
|
+
import logging
|
|
6
|
+
import json
|
|
7
|
+
|
|
8
|
+
from honeybee_radiance.sensorgrid import SensorGrid
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
_logger = logging.getLogger(__name__)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@click.group(help='Commands for generating and modifying Radiance modifiers.')
|
|
15
|
+
def modifier():
|
|
16
|
+
pass
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@modifier.command('split-modifiers')
|
|
20
|
+
@click.argument('modifier-file', type=click.Path(
|
|
21
|
+
exists=True, file_okay=True, dir_okay=False, resolve_path=True))
|
|
22
|
+
@click.argument(
|
|
23
|
+
'output-folder',
|
|
24
|
+
type=click.Path(file_okay=False, dir_okay=True, resolve_path=True))
|
|
25
|
+
@click.option(
|
|
26
|
+
'--sensor-count', '-sc', help='The number of sensors in the sensor grid '
|
|
27
|
+
'that will be used in rcontrib with the distributed modifiers.',
|
|
28
|
+
type=int, default=5000, show_default=True)
|
|
29
|
+
@click.option(
|
|
30
|
+
'--grid-file', '-gf', help='Full path to a sensor grid file. This file '
|
|
31
|
+
'is used to count the number of sensors and will override the '
|
|
32
|
+
'--sensor-count option.',
|
|
33
|
+
type=click.Path(exists=True, file_okay=True, dir_okay=False, resolve_path=True),
|
|
34
|
+
default=None, show_default=True)
|
|
35
|
+
@click.option(
|
|
36
|
+
'--max-value', '-max', help='An optional integer to define the maximum value '
|
|
37
|
+
'allowed when multiplying the number of sensors with the number of modifiers '
|
|
38
|
+
'in the distributed modifiers. Default: 40000000.',
|
|
39
|
+
type=int, default=40000000, show_default=True)
|
|
40
|
+
@click.option(
|
|
41
|
+
'--sensor-multiplier', '-d', help='An optional integer to be multiplied by '
|
|
42
|
+
'the grid count to yield a final number of the sensor count. This is useful '
|
|
43
|
+
'in workflows where the sensor grids are modified such as when calculating '
|
|
44
|
+
'view factor. Default: 1.', type=int, default=1)
|
|
45
|
+
def split_modifiers(
|
|
46
|
+
modifier_file, output_folder, sensor_count, grid_file, max_value,
|
|
47
|
+
sensor_multiplier
|
|
48
|
+
):
|
|
49
|
+
"""Split a list of modifiers into multiple files.
|
|
50
|
+
|
|
51
|
+
This command splits the modifiers based on the sensor count and the max value.
|
|
52
|
+
The max value is divided by the sensor count to calculate the maximum number
|
|
53
|
+
of modifiers in each distributed file of modifiers.
|
|
54
|
+
|
|
55
|
+
This command creates a new folder with evenly distributed modifiers. The folder
|
|
56
|
+
will include a ``_dist_info.json`` file which has the information to recreate the
|
|
57
|
+
original input files from this folder and the results generated based on the modifiers
|
|
58
|
+
in this folder.
|
|
59
|
+
|
|
60
|
+
``_redist_info.json`` file includes an array of JSON objects. Each object has
|
|
61
|
+
the distribution information, which in comparison to the command to split grids
|
|
62
|
+
is much simpler.
|
|
63
|
+
|
|
64
|
+
\b
|
|
65
|
+
Args:
|
|
66
|
+
modifier_file: Full path to a file with Radiance modifiers. The modifiers
|
|
67
|
+
must be the identifiers of the modifiers and not the actual Radiance
|
|
68
|
+
description of the modifiers.
|
|
69
|
+
output_folder: A new folder to write the newly created files.
|
|
70
|
+
"""
|
|
71
|
+
try:
|
|
72
|
+
if grid_file:
|
|
73
|
+
sg = SensorGrid.from_file(grid_file)
|
|
74
|
+
sensor_count = sg.count
|
|
75
|
+
sensor_count *= sensor_multiplier
|
|
76
|
+
|
|
77
|
+
with open(modifier_file, 'r') as file:
|
|
78
|
+
modifiers = [modifier.strip() for modifier in file.readlines()]
|
|
79
|
+
|
|
80
|
+
modifier_count = len(modifiers)
|
|
81
|
+
|
|
82
|
+
max_lines_per_file = int(max_value / sensor_count)
|
|
83
|
+
lines_per_file = max(1, max_lines_per_file)
|
|
84
|
+
dist_count = int(len(modifiers) / lines_per_file)
|
|
85
|
+
if len(modifiers) % lines_per_file != 0:
|
|
86
|
+
dist_count += 1
|
|
87
|
+
|
|
88
|
+
mod_per_dist = int(round(modifier_count / dist_count)) or 1
|
|
89
|
+
|
|
90
|
+
# create output folder
|
|
91
|
+
if not os.path.isdir(output_folder):
|
|
92
|
+
os.mkdir(output_folder)
|
|
93
|
+
|
|
94
|
+
remainder = modifier_count % dist_count # extra lines to distribute
|
|
95
|
+
|
|
96
|
+
start_index = 0
|
|
97
|
+
dist_info = []
|
|
98
|
+
out_dist_info = []
|
|
99
|
+
for i in range(dist_count):
|
|
100
|
+
end_index = start_index + mod_per_dist + (1 if i <= remainder else 0)
|
|
101
|
+
|
|
102
|
+
lines_to_write = modifiers[start_index:end_index]
|
|
103
|
+
|
|
104
|
+
dist_info.append(
|
|
105
|
+
{
|
|
106
|
+
'dist_info': [{'identifier': i}]
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
out_dist_info.append(
|
|
110
|
+
{
|
|
111
|
+
'identifier': str(i),
|
|
112
|
+
'count': len(lines_to_write)
|
|
113
|
+
}
|
|
114
|
+
)
|
|
115
|
+
# create a file and write the lines
|
|
116
|
+
with open(os.path.join(output_folder, '%s.mod' % i), 'w') as f:
|
|
117
|
+
f.write('\n'.join(lines_to_write))
|
|
118
|
+
|
|
119
|
+
# update the start index for the next iteration
|
|
120
|
+
start_index = end_index
|
|
121
|
+
|
|
122
|
+
dist_info_file = os.path.join(output_folder, '_redist_info.json')
|
|
123
|
+
with open(dist_info_file, 'w') as dist_out_file:
|
|
124
|
+
json.dump(dist_info, dist_out_file, indent=2)
|
|
125
|
+
|
|
126
|
+
dist_info_file = os.path.join(output_folder, '_info.json')
|
|
127
|
+
with open(dist_info_file, 'w') as dist_out_file:
|
|
128
|
+
json.dump(out_dist_info, dist_out_file, indent=2)
|
|
129
|
+
except Exception:
|
|
130
|
+
_logger.exception('Failed to distribute sensor grids in folder.')
|
|
131
|
+
sys.exit(1)
|
|
132
|
+
else:
|
|
133
|
+
sys.exit(0)
|