Skip to content

Commit c4f5c99

Browse files
authored
Merge pull request #41 from csdms/mcflugen/v0.5.8
bmi-tester v0.5.9
2 parents 080e0b2 + f22b195 commit c4f5c99

File tree

6 files changed

+23
-22
lines changed

6 files changed

+23
-22
lines changed

.github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
- name: Test
3535
run: |
3636
pip install nox
37-
nox -s test --force-pythons="${{ matrix.python-version }}"
37+
nox -s test
3838
3939
- name: Test CLI
4040
run: |

noxfile.py

+4-7
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,10 @@
1111
PYTHON_VERSION = "3.12"
1212

1313

14-
@nox.session(python=PYTHON_VERSION, venv_backend="conda")
14+
@nox.session
1515
def test(session: nox.Session) -> None:
1616
"""Run the tests."""
17-
session.install(".[testing]")
18-
session.conda_install("gimli.units", channel=["nodefaults", "conda-forge"])
17+
session.install(".[units,testing]")
1918

2019
args = ["--cov", PROJECT, "-vvv"] + session.posargs
2120

@@ -30,10 +29,8 @@ def test(session: nox.Session) -> None:
3029
@nox.session(name="test-cli", python=PYTHON_VERSION, venv_backend="conda")
3130
def test_cli(session: nox.Session) -> None:
3231
"""Run the tests."""
33-
session.install(".")
34-
session.conda_install(
35-
"gimli.units", "pymt_topography", channel=["nodefaults", "conda-forge"]
36-
)
32+
session.install(".[units]")
33+
session.conda_install("pymt_topography", channel=["nodefaults", "conda-forge"])
3734

3835
session.run("bmi-test", "pymt_topography:Topography")
3936

pyproject.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ classifiers = [
3232
]
3333
dependencies = [
3434
"importlib-resources; python_version < '3.12'",
35-
"model-metadata>=0.8",
35+
"model-metadata>=0.8.1",
3636
"numpy",
3737
"pytest",
3838
"pytest-dependency",
39-
"standard-names",
39+
"standard-names>=0.2.8",
4040
]
4141
dynamic = [
4242
"readme",
@@ -48,7 +48,7 @@ text = "MIT"
4848

4949
[project.optional-dependencies]
5050
units = [
51-
"gimli.units"
51+
"gimli.units>=0.3.2"
5252
]
5353
dev = [
5454
"black",

src/bmi_tester/_tests/stage_1/info_test.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import warnings
22

33
import pytest
4-
import standard_names
4+
from standard_names.standardname import StandardName
5+
from standard_names.standardname import is_valid_name
56

67

78
def test_get_component_name(initialized_bmi):
@@ -15,8 +16,8 @@ def test_get_component_name(initialized_bmi):
1516
def test_var_names(var_name):
1617
"""Test var names are valid."""
1718
assert isinstance(var_name, str)
18-
if standard_names.is_valid_name(var_name):
19-
standard_names.StandardName(var_name)
19+
if is_valid_name(var_name):
20+
StandardName(var_name)
2021
else:
2122
warnings.warn(f"not a valid standard name: {var_name}", stacklevel=2)
2223

src/bmi_tester/_version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.5.8.dev0"
1+
__version__ = "0.5.10.dev0"

src/bmi_tester/api.py

+10-7
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,16 @@
44
from collections.abc import Sequence
55

66
try:
7-
import gimli
7+
from gimli._udunits2 import UdunitsError
8+
from gimli.errors import IncompatibleUnitsError
9+
from gimli.errors import UnitNameError
10+
from gimli.units import units
811
except ImportError:
912
WITH_GIMLI_UNITS = False
1013
SECONDS = None
1114
else:
1215
WITH_GIMLI_UNITS = True
13-
SECONDS = gimli.units.Unit("s")
16+
SECONDS = units.Unit("s")
1417

1518
import pytest
1619

@@ -57,21 +60,21 @@ def check_bmi(
5760

5861
def check_unit_is_valid(unit):
5962
try:
60-
gimli.units.Unit(unit)
61-
except gimli.UnitNameError:
63+
units.Unit(unit)
64+
except (UnitNameError, UdunitsError):
6265
return False
6366
else:
6467
return True
6568

6669

6770
def check_unit_is_time(unit):
6871
try:
69-
gimli.units.Unit(unit).to(SECONDS)
70-
except gimli.IncompatibleUnitsError:
72+
units.Unit(unit).to(SECONDS)
73+
except (IncompatibleUnitsError, UdunitsError):
7174
return False
7275
else:
7376
return True
7477

7578

7679
def check_unit_is_dimensionless(unit):
77-
return gimli.units.Unit(unit).is_dimensionless
80+
return units.Unit(unit).is_dimensionless

0 commit comments

Comments
 (0)