Releases: IAMconsortium/nomenclature
Release v0.8
New features
Introduced the RequiredDataValidator
class which is used for validating that a given pyam.IamDataFrame
contains data specified by a given set of region, variable, unit, year.
What's Changed
- Correct test pypi installation test by @phackstock in #202
- Check against duplicate native region names (and rename-targets) by @danielhuppmann in #204
- Clean up imports by @phackstock in #206
- Improve readability of illegal unit error by @phackstock in #207
- Require data by @phackstock in #205
- Update pyam to >= 1.7.0 by @phackstock in #211
- Rename CodeList.invalid_items to CodeListvalidate_items by @phackstock in #212
Full Changelog: v0.7...v0.8
Release v0.7
New features
Improved tag replacement logic. Occurrences of {tag}
inside a code object are now replaced with the tag name if the tag in question does not feature the attribute in question.
For further details please see https://nomenclature-iamc.readthedocs.io/en/stable/user_guide/codelist.html#the-tag-feature.
Breaking changes
The CodeList
classes now contain dictionaries mapping the name of a code to a Code
object. Previously instead of the Code
object, a dictionary was used. Therefore attribute access has changed.
As an example, to access the file attribute of a code called "code1", previously we would have used codelist["code1"]["file"]
.
This will no longer work, instead codelist["code1"].file
, has to be used.
In order to make this attribute access work, the allowed names of attributes have been restricted to valid, non-keyword, python identifiers. An attribute called "iso2" is allowed while an attribute called "while" or "2iso" is not. This restriction is enforced using a pydantic validator.
What's Changed
- Codelist/variable subclass by @luciecastella in #174
- Fix RegionAggregationMapping.common_region_names docstring by @phackstock in #178
- Quickfix to make yaml-check less stringent by @danielhuppmann in #179
- Add a
to_csv()
method by @danielhuppmann in #185 - Codelist/region subclass by @luciecastella in #177
- Cleanup RegionCodeList by @phackstock in #187
- Feature/code usage by @phackstock in #188
- Add multi unit support by @phackstock in #197
- Apply tag replacing to named attributes as well by @phackstock in #199
- Change attributes to extra_attributes by @phackstock in #200
- Simplify Code.attributes type hint by @phackstock in #195
- Check names of additional attribute keys by @phackstock in #196
- Improve tag replacement by @phackstock in #201
Full Changelog: v0.6...v0.7
Release v0.6
What's Changed
- Fix/small inconsistencies by @luciecastella in #167
- Fix a bug casting Norway-ISO2-code "NO" to bool False by @danielhuppmann in #171
- Fix/check hidden character by @luciecastella in #169
- Features/end whitespace by @luciecastella in #170
- Feature/no sub folder by @luciecastella in #168
Full Changelog: v0.5...v0.6
Release v0.5
What's Changed
- Check that weight variables exist by @phackstock in #133
- Restructure docs user-guide for toc-depth by @danielhuppmann in #140
- Docs/add howto by @phackstock in #144
- Fix 2 typos : model-mapping by @luciecastella in #149
- Change path representation to posix style by @phackstock in #150
- Add nightly run with multiple OS by @phackstock in #151
- Add CITATION.cff by @phackstock in #152
- Features/add cli folders by @luciecastella in #153
- Features/add cli option by @luciecastella in #147
- Check if user provided "mapping" attribute in assert_valid_structure by @phackstock in #156
- Docs/numpystyle use by @luciecastella in #159
- Add common vs native region explanation by @phackstock in #161
- Features/default command cli by @luciecastella in #160
- Docs/developing instructions by @luciecastella in #162
- Fix/stray tags by @luciecastella in #163
New Contributors
- @luciecastella made their first contribution in #149
Full Changelog: v0.4...v0.5
Release v0.4
What's Changed
- Add a docs page for the testing module by @danielhuppmann in #129
- Add allowed attributes to variable schema by @danielhuppmann in #130
- Enable aggregation-checks along the variable dimensions by @danielhuppmann in #131
- Cast
components
-attribute to dict instead of CodeList by @danielhuppmann in #136
Full Changelog: v0.3...v0.4
Release v0.3
Highlights
- Rewrite the docs (PRs: #117, #119, #120, #121, #124, #15)
- Extended region aggregation (PRs: #99, #123)
- Better error reporting (PRs: #93, #95, #101, #107, #110, #113)
What's Changed
- Collect errors during reading of region by @phackstock in #93
- Silence logger during region processing by @danielhuppmann in #95
- Feature/add yml parsing by @phackstock in #94
- Add a
CodeList.to_excel
method by @danielhuppmann in #98 - Refactor
create_yaml_from_xlsx()
into methods of CodeList by @danielhuppmann in #97 - Support list of models in a region mapping by @danielhuppmann in #100
- Quickfix for region-aggregation with missing weights by @danielhuppmann in #101
- Fix handling of boolean attributes in codelists by @danielhuppmann in #106
- Partial region aggregation by @phackstock in #99
- Add a test for a variable with brackets in the name by @danielhuppmann in #109
- Update error message for empty dataframe by @phackstock in #107
- Unexpected region check by @phackstock in #110
- Check if region-processing results are empty by @phackstock in #113
- Restructure documentation by @phackstock in #117
- Add explicit tests for all supported Python versions by @danielhuppmann in #118
- Migrate CLI-page to top-level docs by @danielhuppmann in #119
- Rewrite the user-guide page for local usage by @danielhuppmann in #120
- Rewrite the overview section on the docs index page by @danielhuppmann in #121
- Rewrite the pyam-references by @danielhuppmann in #122
- Single constituent region common region bypass by @phackstock in #123
- Migrate variable-naming-conventions to own docs page by @danielhuppmann in #124
- Fix indentation of yaml examples by @danielhuppmann in #125
Full Changelog: v0.2...v0.3
Release v0.2
Highlights
- A detailed documentation is now available under nomenclature-iamc.readthedocs.io.
- The new
process
function makes interaction with the nomenclature package more seamless. (link to the docs). - Variable region aggregation can now be combined with renaming. (link to the docs)
- Tag code lists no longer use the
<tag>
format but employ "f-strings" in closer alignment with python. (link to the docs) - The
RegionProcessor.apply()
function now has better performance.
Release v0.1
Highlights
This is the first release of the nomenclature package which facilitates working with data templates that follow the format developed by the Integrated Assessment Modeling Consortium (IAMC). It supports validation of scenario data and region processing, which consists of renaming and aggregation of model "native regions" to "common regions" used in a project.
Further details can be found in the README.