From fece22c2a1ee47ddbdd4ce29196ecfff0bb3d351 Mon Sep 17 00:00:00 2001 From: jgunstone Date: Tue, 11 Nov 2025 08:54:48 +0000 Subject: [PATCH 1/2] ConstructionDeliveryType -> ConstructionMethod to match https://identifier.buildingsmart.org/uri/buildingsmart/ifc/4.3/prop/ConstructionMethod --- datapackage.yaml | 10 ++++++---- energy-use-intensity.csv | 2 +- pyproject.toml | 2 +- .../data/datapackage.yaml | 10 ++++++---- .../data/energy-use-intensity.csv | 2 +- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/datapackage.yaml b/datapackage.yaml index f3a0c42..dde819a 100644 --- a/datapackage.yaml +++ b/datapackage.yaml @@ -1,6 +1,6 @@ name: nzc-data title: Net Zero Carbon Data -description: 'structured data to support setting ' +description: "structured data to support setting " resources: - name: energy-use-intensity type: table @@ -23,11 +23,12 @@ resources: type: string - name: Unit type: string - - name: ConstructionDeliveryType + - name: ConstructionMethod type: string - name: building-types type: text - title: UK NZCBS Operational Energy Use intensity targets - unique building types + title: + UK NZCBS Operational Energy Use intensity targets - unique building types from TableOE-1 & TableOE-2 sources: - UK Net Zero Carbon Building Standard Pilot Version (Sept 2024), TableOE-1 & TableOE-2: https://www.nzcbuildings.co.uk/pilotversion @@ -56,7 +57,8 @@ resources: - name: rics-building-element-category type: table title: RICS Building Element Categories for Life Cycle Carbon Assessment (v1) - description: for categorising the embodied carbon intensity of materials in a + description: + for categorising the embodied carbon intensity of materials in a building by function path: rics-building-element-category.csv scheme: file diff --git a/energy-use-intensity.csv b/energy-use-intensity.csv index 51cf1aa..f1f2db0 100644 --- a/energy-use-intensity.csv +++ b/energy-use-intensity.csv @@ -1,4 +1,4 @@ -Year,BuildingType,BenchmarkTarget,BuildingTypeShorthand,Unit,ConstructionDeliveryType +Year,BuildingType,BenchmarkTarget,BuildingTypeShorthand,Unit,ConstructionMethod 2025,Commercial Resi - Student Residential,75.0,Stud. Resi.,kWh/m²GIA/yr,newbuild 2026,Commercial Resi - Student Residential,74.0,Stud. Resi.,kWh/m²GIA/yr,newbuild 2027,Commercial Resi - Student Residential,72.0,Stud. Resi.,kWh/m²GIA/yr,newbuild diff --git a/pyproject.toml b/pyproject.toml index 6bbb0ee..62d6c59 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,7 @@ pandas = ">=2.3,<3" pytest = ">=7.2.2,<8" hatch = ">=1.0.0,<2" casefy = ">=1.0.0,<2" -pip = ">=25,<26" +pip = ">=25,<26" # req. for hatch-vcs [tool.pixi.tasks] get-eui = { cmd = "python get_eui.py", cwd = "scripts" } diff --git a/src/netzero_metrics_reference_data/data/datapackage.yaml b/src/netzero_metrics_reference_data/data/datapackage.yaml index f3a0c42..dde819a 100644 --- a/src/netzero_metrics_reference_data/data/datapackage.yaml +++ b/src/netzero_metrics_reference_data/data/datapackage.yaml @@ -1,6 +1,6 @@ name: nzc-data title: Net Zero Carbon Data -description: 'structured data to support setting ' +description: "structured data to support setting " resources: - name: energy-use-intensity type: table @@ -23,11 +23,12 @@ resources: type: string - name: Unit type: string - - name: ConstructionDeliveryType + - name: ConstructionMethod type: string - name: building-types type: text - title: UK NZCBS Operational Energy Use intensity targets - unique building types + title: + UK NZCBS Operational Energy Use intensity targets - unique building types from TableOE-1 & TableOE-2 sources: - UK Net Zero Carbon Building Standard Pilot Version (Sept 2024), TableOE-1 & TableOE-2: https://www.nzcbuildings.co.uk/pilotversion @@ -56,7 +57,8 @@ resources: - name: rics-building-element-category type: table title: RICS Building Element Categories for Life Cycle Carbon Assessment (v1) - description: for categorising the embodied carbon intensity of materials in a + description: + for categorising the embodied carbon intensity of materials in a building by function path: rics-building-element-category.csv scheme: file diff --git a/src/netzero_metrics_reference_data/data/energy-use-intensity.csv b/src/netzero_metrics_reference_data/data/energy-use-intensity.csv index 51cf1aa..f1f2db0 100644 --- a/src/netzero_metrics_reference_data/data/energy-use-intensity.csv +++ b/src/netzero_metrics_reference_data/data/energy-use-intensity.csv @@ -1,4 +1,4 @@ -Year,BuildingType,BenchmarkTarget,BuildingTypeShorthand,Unit,ConstructionDeliveryType +Year,BuildingType,BenchmarkTarget,BuildingTypeShorthand,Unit,ConstructionMethod 2025,Commercial Resi - Student Residential,75.0,Stud. Resi.,kWh/m²GIA/yr,newbuild 2026,Commercial Resi - Student Residential,74.0,Stud. Resi.,kWh/m²GIA/yr,newbuild 2027,Commercial Resi - Student Residential,72.0,Stud. Resi.,kWh/m²GIA/yr,newbuild From cbe068c37f2c7663125b08ff9cbda43304a0ad39 Mon Sep 17 00:00:00 2001 From: jgunstone Date: Tue, 11 Nov 2025 09:16:03 +0000 Subject: [PATCH 2/2] Update package versions in pixi.lock --- pixi.lock | 71 +++++++++++++++++++++++++++---------------------------- 1 file changed, 35 insertions(+), 36 deletions(-) diff --git a/pixi.lock b/pixi.lock index 4d8d738..64feef4 100644 --- a/pixi.lock +++ b/pixi.lock @@ -45,7 +45,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/jaraco.functools-4.3.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/jeepney-0.9.0-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/keyring-25.6.0-pyha804496_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_5.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-38_h4a7cf45_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-38_h0358290_openblas.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.1-hecca717_0.conda @@ -54,7 +54,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran-15.2.0-h69a702a_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-15.2.0-hcd61629_7.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-38_h47877c9_openblas.conda @@ -72,7 +72,7 @@ environments: - conda: https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/numpy-2.3.4-py314h2b28147_0.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/openpyxl-3.1.5-py314hf3b76af_2.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/pandas-2.3.3-py314ha0b5721_1.conda - conda: https://conda.anaconda.org/conda-forge/noarch/pathspec-0.12.1-pyhd8ed1ab_1.conda @@ -105,10 +105,10 @@ environments: - conda: https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/tzdata-2025b-h78e105d_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/userpath-1.9.2-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.9.7-h30787bc_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.9.8-h76e24b7_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/virtualenv-20.35.4-pyhd8ed1ab_0.conda - conda: https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhd8ed1ab_0.conda - - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda + - conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h0f05182_1.conda - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda - pypi: https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl @@ -788,19 +788,18 @@ packages: - pkg:pypi/keyring?source=hash-mapping size: 36985 timestamp: 1735210286595 -- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_4.conda - sha256: 96b6900ca0489d9e5d0318a6b49f8eff43fd85fef6e07cb0c25344ee94cd7a3a - md5: c94ab6ff54ba5172cf1c58267005670f +- conda: https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.44-h1aa0949_5.conda + sha256: dab1fbf65abb05d3f2ee49dff90d60eeb2e02039fcb561343c7cea5dea523585 + md5: 511ed8935448c1875776b60ad3daf3a1 depends: - __glibc >=2.17,<3.0.a0 - zstd >=1.5.7,<1.6.0a0 constrains: - binutils_impl_linux-64 2.44 license: GPL-3.0-only - license_family: GPL purls: [] - size: 742501 - timestamp: 1761335175964 + size: 741516 + timestamp: 1762674665675 - conda: https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-38_h4a7cf45_openblas.conda build_number: 38 sha256: b26a32302194e05fa395d5135699fd04a905c6ad71f24333f97c64874e053623 @@ -907,9 +906,9 @@ packages: purls: [] size: 1572758 timestamp: 1759968082504 -- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_1.conda - sha256: 2421c8a9ac34a7406cff53b7cb96752177edbd245b0782ee88ef3fee5a732aa4 - md5: 8eef974130690cf385b569ecdeed2cf0 +- conda: https://conda.anaconda.org/conda-forge/linux-64/libglib-2.86.1-h32235b2_2.conda + sha256: fc82277d0d6340743732c48dcbac3f4e9ee36902649a7d9a02622b0713ce3666 + md5: 986dcf488a1aced411da84753d93d078 depends: - __glibc >=2.17,<3.0.a0 - libffi >=3.5.2,<3.6.0a0 @@ -918,11 +917,11 @@ packages: - libzlib >=1.3.1,<2.0a0 - pcre2 >=10.46,<10.47.0a0 constrains: - - glib 2.86.1 *_1 + - glib 2.86.1 *_2 license: LGPL-2.1-or-later purls: [] - size: 3945912 - timestamp: 1761874304703 + size: 3933707 + timestamp: 1762787455198 - conda: https://conda.anaconda.org/conda-forge/linux-64/libgomp-15.2.0-h767d61c_7.conda sha256: e9fb1c258c8e66ee278397b5822692527c5f5786d372fe7a869b900853f3f5ca md5: f7b4d76975aac7e5d9e6ad13845f92fe @@ -1115,8 +1114,8 @@ packages: timestamp: 1738195959188 - pypi: ./ name: netzero-metrics-reference-data - version: 0.1.2.dev0+gf37c90e98.d20251110 - sha256: 9c94fac17dade79572ea7c3979b9b2f303f695abcf77af5ef918968f464d676b + version: 0.1.4.dev1+gfece22c2a + sha256: 620999920bb19e450203204644667e1216e5e49faac91134335138b2ea28946c requires_dist: - frictionless>=5.18.1,<6 requires_python: '>=3.11' @@ -1156,9 +1155,9 @@ packages: - pkg:pypi/openpyxl?source=hash-mapping size: 488167 timestamp: 1757332209753 -- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.5.4-h26f9b46_0.conda - sha256: e807f3bad09bdf4075dbb4168619e14b0c0360bacb2e12ef18641a834c8c5549 - md5: 14edad12b59ccbfa3910d42c72adc2a0 +- conda: https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.0-h26f9b46_0.conda + sha256: a47271202f4518a484956968335b2521409c8173e123ab381e775c358c67fe6d + md5: 9ee58d5c534af06558933af3c845a780 depends: - __glibc >=2.17,<3.0.a0 - ca-certificates @@ -1166,8 +1165,8 @@ packages: license: Apache-2.0 license_family: Apache purls: [] - size: 3119624 - timestamp: 1759324353651 + size: 3165399 + timestamp: 1762839186699 - conda: https://conda.anaconda.org/conda-forge/noarch/packaging-25.0-pyh29332c3_1.conda sha256: 289861ed0c13a15d7bbb408796af4de72c2fe67e2bcb0de98f4c3fce259d7991 md5: 58335b26c38bf4a20f399384c33cbcf9 @@ -1735,10 +1734,11 @@ packages: - pkg:pypi/userpath?source=hash-mapping size: 14292 timestamp: 1735925027874 -- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.9.7-h30787bc_0.conda - sha256: 949e98185f68242eaf5e205925e59cede4890811b7fbd7891b65e7aca71f1ffe - md5: 5144aa8155f23052977571a63ce8d03f +- conda: https://conda.anaconda.org/conda-forge/linux-64/uv-0.9.8-h76e24b7_0.conda + sha256: 3a0fdfb99e3c2e228991b078ff4495cb8462db589b8c00be32baa60d24306fb2 + md5: 23b31dda4cca5794d1cceb0f9faa3238 depends: + - libgcc >=14 - libstdcxx >=14 - libgcc >=14 - __glibc >=2.17,<3.0.a0 @@ -1746,8 +1746,8 @@ packages: - __glibc >=2.17 license: Apache-2.0 OR MIT purls: [] - size: 17163738 - timestamp: 1761878731952 + size: 17103477 + timestamp: 1762567870164 - pypi: https://files.pythonhosted.org/packages/fa/6e/3e955517e22cbdd565f2f8b2e73d52528b14b8bcfdb04f62466b071de847/validators-0.35.0-py3-none-any.whl name: validators version: 0.35.0 @@ -1781,23 +1781,22 @@ packages: - pkg:pypi/zipp?source=hash-mapping size: 22963 timestamp: 1749421737203 -- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h31f8a6b_0.conda - sha256: ec4e66b4e042ea9554b9db92b509358f75390f7dcbafb8eead940a2880486a63 - md5: 68bd13651618354987763f746ee1fadc +- conda: https://conda.anaconda.org/conda-forge/linux-64/zstandard-0.25.0-py314h0f05182_1.conda + sha256: e589f694b44084f2e04928cabd5dda46f20544a512be2bdb0d067d498e4ac8d0 + md5: 2930a6e1c7b3bc5f66172e324a8f5fc3 depends: - python - cffi >=1.11 - zstd >=1.5.7,<1.5.8.0a0 - - libgcc >=14 - __glibc >=2.17,<3.0.a0 + - libgcc >=14 - zstd >=1.5.7,<1.6.0a0 - python_abi 3.14.* *_cp314 license: BSD-3-Clause - license_family: BSD purls: - pkg:pypi/zstandard?source=hash-mapping - size: 127864 - timestamp: 1757930108791 + size: 473605 + timestamp: 1762512687493 - conda: https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb8e6e7a_2.conda sha256: a4166e3d8ff4e35932510aaff7aa90772f84b4d07e9f6f83c614cba7ceefe0eb md5: 6432cb5d4ac0046c3ac0a8a0f95842f9