Skip to content

Enable pandas type checking #1479

Enable pandas type checking

Enable pandas type checking #1479

GitHub Actions / Test Results failed Jul 12, 2024 in 0s

1 053 fail, 1 603 skipped, 17 636 pass in 1h 21m 10s

     10 files  ±  0       10 suites  ±0   1h 21m 10s ⏱️ - 3m 39s
 20 292 tests +288   17 636 ✅ +229   1 603 💤 +58  1 053 ❌ + 1 
158 679 runs  +367  130 892 ✅ +317  19 689 💤 +70  8 098 ❌  - 20 

Results for commit 69b93dd. ± Comparison against earlier commit 7b08a94.

Annotations

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_isel_dataarray (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dbd6730>

    def test_isel_dataarray(self) -> None:
        # Make sure isel works lazily. GH:issue:1688
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:772: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_orthogonal_indexing (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdcbac0>

    def test_orthogonal_indexing(self) -> None:
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:644: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_vectorized_indexing (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdcbd30>

    def test_vectorized_indexing(self) -> None:
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:658: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_array_type_after_indexing (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dbd69a0>

    def test_array_type_after_indexing(self) -> None:
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:799: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_vectorized_indexing_negative_step (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdcbfd0>

    def test_vectorized_indexing_negative_step(self) -> None:
        # use dask explicitly when present
        open_kwargs: dict[str, Any] | None
        if has_dask:
            open_kwargs = {"chunks": {}}
        else:
            open_kwargs = None
        in_memory = create_test_data()
    
        def multiple_indexing(indexers):
            # make sure a sequence of lazy indexings certainly works.
            with self.roundtrip(in_memory, open_kwargs=open_kwargs) as on_disk:
                actual = on_disk["var3"]
                expected = in_memory["var3"]
                for ind in indexers:
                    actual = actual.isel(ind)
                    expected = expected.isel(ind)
                    # make sure the array is not yet loaded into memory
                    assert not actual.variable._in_memory
                assert_identical(expected, actual.load())
    
        # with negative step slice.
        indexers = [
            {
                "dim1": DataArray([[0, 7], [2, 6], [3, 5]], dims=["a", "b"]),
                "dim3": slice(-1, 1, -1),
            }
        ]
>       multiple_indexing(indexers)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:748: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:731: in multiple_indexing
    with self.roundtrip(in_memory, open_kwargs=open_kwargs) as on_disk:
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_ondisk_after_print (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dbe0970>

    def test_ondisk_after_print(self) -> None:
        """Make sure print does not load file into memory"""
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:833: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_isel_dataarray (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdd6340>

    def test_isel_dataarray(self) -> None:
        # Make sure isel works lazily. GH:issue:1688
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:772: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_array_type_after_indexing (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdd66a0>

    def test_array_type_after_indexing(self) -> None:
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:799: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_encoding_kwarg_dates (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08cfdb070>

    def test_encoding_kwarg_dates(self) -> None:
        ds = Dataset({"t": pd.date_range("2000-01-01", periods=3)})
        units = "days since 1900-01-01"
        kwargs = dict(encoding={"t": {"units": units}})
>       with self.roundtrip(ds, save_kwargs=kwargs) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:1177: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_ondisk_after_print (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdd6fd0>

    def test_ondisk_after_print(self) -> None:
        """Make sure print does not load file into memory"""
        in_memory = create_test_data()
>       with self.roundtrip(in_memory) as on_disk:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:833: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_append_overwrite_values (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dbdf1c0>

    def test_append_overwrite_values(self) -> None:
        # regression for GH1215
        data = create_test_data()
        with create_tmp_file(allow_cleanup_failure=False) as tmp_file:
>           self.save(data, tmp_file, mode="w")

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:1258: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_roundtrip_consolidated[False] (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dae5df0>
consolidated = False

    @pytest.mark.parametrize("consolidated", [False, True, None])
    def test_roundtrip_consolidated(self, consolidated) -> None:
        if consolidated and self.zarr_version > 2:
            pytest.xfail("consolidated metadata is not supported for zarr v3 yet")
        expected = create_test_data()
>       with self.roundtrip(
            expected,
            save_kwargs={"consolidated": consolidated},
            open_kwargs={"backend_kwargs": {"consolidated": consolidated}},
        ) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2144: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_roundtrip_consolidated[True] (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dae5ee0>
consolidated = True

    @pytest.mark.parametrize("consolidated", [False, True, None])
    def test_roundtrip_consolidated(self, consolidated) -> None:
        if consolidated and self.zarr_version > 2:
            pytest.xfail("consolidated metadata is not supported for zarr v3 yet")
        expected = create_test_data()
>       with self.roundtrip(
            expected,
            save_kwargs={"consolidated": consolidated},
            open_kwargs={"backend_kwargs": {"consolidated": consolidated}},
        ) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2144: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestNetCDF4Data

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_zero_dimensional_variable (xarray.tests.test_backends.TestNetCDF4Data)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestNetCDF4Data object at 0x7f8d8c748c10>

    def test_zero_dimensional_variable(self) -> None:
        expected = create_test_data()
        expected["float_var"] = ([], 1.0e9, {"units": "units of awesome"})
        expected["bytes_var"] = ([], b"foobar")
        expected["string_var"] = ([], "foobar")
>       with self.roundtrip(expected) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:350: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_roundtrip_consolidated[None] (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dafa100>
consolidated = None

    @pytest.mark.parametrize("consolidated", [False, True, None])
    def test_roundtrip_consolidated(self, consolidated) -> None:
        if consolidated and self.zarr_version > 2:
            pytest.xfail("consolidated metadata is not supported for zarr v3 yet")
        expected = create_test_data()
>       with self.roundtrip(
            expected,
            save_kwargs={"consolidated": consolidated},
            open_kwargs={"backend_kwargs": {"consolidated": consolidated}},
        ) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2144: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_encoding_kwarg_dates (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdb6be0>

    def test_encoding_kwarg_dates(self) -> None:
        ds = Dataset({"t": pd.date_range("2000-01-01", periods=3)})
        units = "days since 1900-01-01"
        kwargs = dict(encoding={"t": {"units": units}})
>       with self.roundtrip(ds, save_kwargs=kwargs) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:1177: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestNetCDF4Data

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_write_store (xarray.tests.test_backends.TestNetCDF4Data)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestNetCDF4Data object at 0x7f8d8c748dc0>

    def test_write_store(self) -> None:
        expected = create_test_data()
        with self.create_store() as store:
>           expected.dump_to_store(store)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:356: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2168: in dump_to_store
    dump_to_store(self, store, **kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestNetCDF4Data

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_roundtrip_test_data (xarray.tests.test_backends.TestNetCDF4Data)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestNetCDF4Data object at 0x7f8d8ceb2100>

    def test_roundtrip_test_data(self) -> None:
        expected = create_test_data()
>       with self.roundtrip(expected) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:383: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_read_non_consolidated_warning (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dafa340>

    def test_read_non_consolidated_warning(self) -> None:
        if self.zarr_version > 2:
            pytest.xfail("consolidated metadata is not supported for zarr v3 yet")
    
        expected = create_test_data()
        with self.create_zarr_target() as store:
>           expected.to_zarr(store, consolidated=False, **self.version_kwargs)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2158: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_append_write (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdba7c0>

    def test_append_write(self) -> None:
        # regression for GH1215
        data = create_test_data()
>       with self.roundtrip_append(data) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:1251: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:330: in roundtrip_append
    self.save(data[[key]], path, mode=mode, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestNetCDF4Data

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_load (xarray.tests.test_backends.TestNetCDF4Data)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestNetCDF4Data object at 0x7f8d8ceb2040>

    def test_load(self) -> None:
        expected = create_test_data()
    
        @contextlib.contextmanager
        def assert_loads(vars=None):
            if vars is None:
                vars = expected
            with self.roundtrip(expected) as actual:
                for k, v in actual.variables.items():
                    # IndexVariables are eagerly loaded into memory
                    assert v._in_memory == (k in actual.dims)
                yield actual
                for k, v in actual.variables.items():
                    if k in vars:
                        assert v._in_memory
                assert_identical(expected, actual)
    
        with pytest.raises(AssertionError):
            # make sure the contextmanager works!
>           with assert_loads() as ds:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:406: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:394: in assert_loads
    with self.roundtrip(expected) as actual:
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

6 out of 9 runs failed: test_with_chunkstore (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dafa820>

    def test_with_chunkstore(self) -> None:
        expected = create_test_data()
        with (
            self.create_zarr_target() as store_target,
            self.create_zarr_target() as chunk_store,
        ):
            save_kwargs = {"chunk_store": chunk_store}
>           self.save(expected, store_target, **save_kwargs)

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2177: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestH5NetCDFFileObject

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_append_overwrite_values (xarray.tests.test_backends.TestH5NetCDFFileObject)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestH5NetCDFFileObject object at 0x7f2c6cdba9d0>

    def test_append_overwrite_values(self) -> None:
        # regression for GH1215
        data = create_test_data()
        with create_tmp_file(allow_cleanup_failure=False) as tmp_file:
>           self.save(data, tmp_file, mode="w")

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:1258: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestZarrWriteEmpty

See this annotation in the file changed.

@github-actions github-actions / Test Results

5 out of 9 runs failed: test_auto_chunk (xarray.tests.test_backends.TestZarrWriteEmpty)

artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestZarrWriteEmpty object at 0x7fb08dafaa90>

    @requires_dask
    def test_auto_chunk(self) -> None:
        original = create_test_data().chunk()
    
>       with self.roundtrip(original, open_kwargs={"chunks": None}) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2188: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2135: in roundtrip
    self.save(data, store_target, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:2117: in save
    return dataset.to_zarr(store=store_target, **kwargs, **self.version_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2551: in to_zarr
    return to_zarr(  # type: ignore[call-overload,misc]
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1710: in to_zarr
    dump_to_store(dataset, zstore, writer, encoding=encoding)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:664: in store
    variables_encoded, attributes = self.encode(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in encode
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:302: in <dictcomp>
    variables = {k: self.encode_variable(v) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:598: in encode_variable
    variable = encode_zarr_variable(variable)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/zarr.py#x1B[0m:314: in encode_zarr_variable
    var = conventions.encode_cf_variable(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError

Check warning on line 0 in xarray.tests.test_backends.TestNetCDF4Data

See this annotation in the file changed.

@github-actions github-actions / Test Results

8 out of 9 runs failed: test_dataset_compute (xarray.tests.test_backends.TestNetCDF4Data)

artifacts/Test results for Linux-3.11 all-but-dask/pytest.xml [took 0s]
artifacts/Test results for Linux-3.12/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9 min-all-deps/pytest.xml [took 0s]
artifacts/Test results for Linux-3.9/pytest.xml [took 0s]
artifacts/Test results for Windows-3.12/pytest.xml [took 0s]
artifacts/Test results for Windows-3.9/pytest.xml [took 0s]
artifacts/Test results for macOS-3.12/pytest.xml [took 0s]
artifacts/Test results for macOS-3.9/pytest.xml [took 0s]
Raw output
NameError: name 'NPDatetimeUnitOptions' is not defined
self = <xarray.tests.test_backends.TestNetCDF4Data object at 0x7f8d8c748f70>

    def test_dataset_compute(self) -> None:
        expected = create_test_data()
    
>       with self.roundtrip(expected) as actual:

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:423: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
#x1B[1m#x1B[31m/home/runner/micromamba/envs/xarray-tests/lib/python3.9/contextlib.py#x1B[0m:119: in __enter__
    return next(self.gen)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:315: in roundtrip
    self.save(data, path, **save_kwargs)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/tests/test_backends.py#x1B[0m:336: in save
    return dataset.to_netcdf(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/core/dataset.py#x1B[0m:2327: in to_netcdf
    return to_netcdf(  # type: ignore  # mypy cannot resolve the overloads:(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1350: in to_netcdf
    dump_to_store(
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/api.py#x1B[0m:1397: in dump_to_store
    store.store(variables, attrs, check_encoding, writer, unlimited_dims=unlimited_dims)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:363: in store
    variables, attributes = self.encode(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/backends/common.py#x1B[0m:452: in encode
    variables, attributes = cf_encoder(variables, attributes)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in cf_encoder
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:795: in <dictcomp>
    new_vars = {k: encode_cf_variable(v, name=k) for k, v in variables.items()}
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/conventions.py#x1B[0m:196: in encode_cf_variable
    var = coder.encode(var, name=name)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:977: in encode
    (data, units, calendar) = encode_cf_datetime(data, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:726: in encode_cf_datetime
    return _eagerly_encode_cf_datetime(dates, units, calendar, dtype)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:738: in _eagerly_encode_cf_datetime
    data_units = infer_datetime_units(dates)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:446: in infer_datetime_units
    units = _infer_time_units_from_diff(unique_timedeltas)
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:400: in _infer_time_units_from_diff
    if np.all(unique_timedeltas % unit_timedelta(time_unit) == zero_timedelta):
#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:384: in _unit_timedelta_numpy
    numpy_units = _netcdf_to_numpy_timeunit(units)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

units = 'days'

    def _netcdf_to_numpy_timeunit(units: str) -> NPDatetimeUnitOptions:
        units = units.lower()
        if not units.endswith("s"):
            units = f"{units}s"
        return cast(
>           NPDatetimeUnitOptions,
            {
                "nanoseconds": "ns",
                "microseconds": "us",
                "milliseconds": "ms",
                "seconds": "s",
                "minutes": "m",
                "hours": "h",
                "days": "D",
            }[units],
        )
#x1B[1m#x1B[31mE       NameError: name 'NPDatetimeUnitOptions' is not defined#x1B[0m

#x1B[1m#x1B[31m/home/runner/work/xarray/xarray/xarray/coding/times.py#x1B[0m:119: NameError