File xarray-pr8953-nodatatreeprune.patch of Package python-xarray
From 84d23be58bb39be4eb896f5f0dbe0a8f956431fb Mon Sep 17 00:00:00 2001
From: Matt Savoie <matthew.savoie@colorado.edu>
Date: Wed, 17 Apr 2024 09:57:53 -0600
Subject: [PATCH 1/4] DAS-2108: stop pruning datatree_ directory
Quick fixup of some typing.
Removes mypy exclusions for datatree_
---
MANIFEST.in | 1 -
pyproject.toml | 10 +---------
xarray/datatree_/datatree/io.py | 10 +++++-----
xarray/datatree_/datatree/tests/test_extensions.py | 11 +++++------
xarray/datatree_/docs/source/conf.py | 6 +++---
5 files changed, 14 insertions(+), 24 deletions(-)
delete mode 100644 MANIFEST.in
Index: xarray-2024.03.0/MANIFEST.in
===================================================================
--- xarray-2024.03.0.orig/MANIFEST.in
+++ xarray-2024.03.0/MANIFEST.in
@@ -1 +1,2 @@
prune xarray/datatree_*
+recursive-include xarray/datatree_/datatree *.py
Index: xarray-2024.03.0/pyproject.toml
===================================================================
--- xarray-2024.03.0.orig/pyproject.toml
+++ xarray-2024.03.0/pyproject.toml
@@ -96,11 +96,6 @@ warn_redundant_casts = true
warn_unused_configs = true
warn_unused_ignores = true
-# Ignore mypy errors for modules imported from datatree_.
-[[tool.mypy.overrides]]
-module = "xarray.datatree_.*"
-ignore_errors = true
-
# Much of the numerical computing stack doesn't have type annotations yet.
[[tool.mypy.overrides]]
ignore_missing_imports = true
Index: xarray-2024.03.0/xarray/datatree_/datatree/io.py
===================================================================
--- xarray-2024.03.0.orig/xarray/datatree_/datatree/io.py
+++ xarray-2024.03.0/xarray/datatree_/datatree/io.py
@@ -3,14 +3,14 @@ from xarray.core.datatree import DataTre
def _get_nc_dataset_class(engine):
if engine == "netcdf4":
- from netCDF4 import Dataset # type: ignore
+ from netCDF4 import Dataset
elif engine == "h5netcdf":
- from h5netcdf.legacyapi import Dataset # type: ignore
+ from h5netcdf.legacyapi import Dataset
elif engine is None:
try:
from netCDF4 import Dataset
except ImportError:
- from h5netcdf.legacyapi import Dataset # type: ignore
+ from h5netcdf.legacyapi import Dataset
else:
raise ValueError(f"unsupported engine: {engine}")
return Dataset
@@ -78,7 +78,7 @@ def _datatree_to_netcdf(
def _create_empty_zarr_group(store, group, mode):
- import zarr # type: ignore
+ import zarr
root = zarr.open_group(store, mode=mode)
root.create_group(group, overwrite=True)
@@ -92,7 +92,7 @@ def _datatree_to_zarr(
consolidated: bool = True,
**kwargs,
):
- from zarr.convenience import consolidate_metadata # type: ignore
+ from zarr.convenience import consolidate_metadata
if kwargs.get("group", None) is not None:
raise NotImplementedError(
Index: xarray-2024.03.0/xarray/datatree_/datatree/tests/test_extensions.py
===================================================================
--- xarray-2024.03.0.orig/xarray/datatree_/datatree/tests/test_extensions.py
+++ xarray-2024.03.0/xarray/datatree_/datatree/tests/test_extensions.py
@@ -18,16 +18,15 @@ class TestAccessor:
return "bar"
dt: DataTree = DataTree()
- assert dt.demo.foo == "bar" # type: ignore
+ assert dt.demo.foo == "bar"
# accessor is cached
- assert dt.demo is dt.demo # type: ignore
+ assert dt.demo is dt.demo
# check descriptor
- assert dt.demo.__doc__ == "Demo accessor." # type: ignore
- # TODO: typing doesn't seem to work with accessors
- assert DataTree.demo.__doc__ == "Demo accessor." # type: ignore
- assert isinstance(dt.demo, DemoAccessor) # type: ignore
+ assert dt.demo.__doc__ == "Demo accessor."
+ assert DataTree.demo.__doc__ == "Demo accessor." # type: ignore
+ assert isinstance(dt.demo, DemoAccessor)
assert DataTree.demo is DemoAccessor # type: ignore
with pytest.warns(Warning, match="overriding a preexisting attribute"):
Index: xarray-2024.03.0/xarray/datatree_/docs/source/conf.py
===================================================================
--- xarray-2024.03.0.orig/xarray/datatree_/docs/source/conf.py
+++ xarray-2024.03.0/xarray/datatree_/docs/source/conf.py
@@ -17,9 +17,9 @@ import inspect
import os
import sys
-import sphinx_autosummary_accessors
+import sphinx_autosummary_accessors # type: ignore
-import datatree
+import datatree # type: ignore
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
@@ -286,7 +286,7 @@ htmlhelp_basename = "datatree_doc"
# -- Options for LaTeX output --------------------------------------------------
-latex_elements = {
+latex_elements: dict = {
# The paper size ('letterpaper' or 'a4paper').
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').