diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..de4d387 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +/xarray-0.12.0.tar.gz +/xarray-data-870b5d7a9dbfa821423f1b88056890c22341f085.tar.gz +/RGB.byte.tif diff --git a/0001-DOC-Don-t-download-RGB.byte.tif-during-build.patch b/0001-DOC-Don-t-download-RGB.byte.tif-during-build.patch new file mode 100644 index 0000000..abf41bd --- /dev/null +++ b/0001-DOC-Don-t-download-RGB.byte.tif-during-build.patch @@ -0,0 +1,71 @@ +From fe8259c549993aac5909e756a4bfcd507a32c5d1 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Fri, 15 Mar 2019 22:31:18 -0400 +Subject: [PATCH 1/4] DOC: Don't download RGB.byte.tif during build. + +Signed-off-by: Elliott Sales de Andrade +--- + doc/gallery/plot_rasterio.py | 7 ------- + doc/gallery/plot_rasterio_rgb.py | 7 ------- + 2 files changed, 14 deletions(-) + +diff --git a/doc/gallery/plot_rasterio.py b/doc/gallery/plot_rasterio.py +index 98801990..cfddb2a0 100644 +--- a/doc/gallery/plot_rasterio.py ++++ b/doc/gallery/plot_rasterio.py +@@ -17,7 +17,6 @@ original map projection (see :ref:`recipes.rasterio_rgb`). + """ + + import os +-import urllib.request + + import cartopy.crs as ccrs + import matplotlib.pyplot as plt +@@ -26,9 +25,6 @@ from rasterio.warp import transform + + import xarray as xr + +-# Download the file from rasterio's repository +-url = 'https://github.com/mapbox/rasterio/raw/master/tests/data/RGB.byte.tif' +-urllib.request.urlretrieve(url, 'RGB.byte.tif') + + # Read the data + da = xr.open_rasterio('RGB.byte.tif') +@@ -54,6 +50,3 @@ greyscale.plot(ax=ax, x='lon', y='lat', transform=ccrs.PlateCarree(), + cmap='Greys_r', add_colorbar=False) + ax.coastlines('10m', color='r') + plt.show() +- +-# Delete the file +-os.remove('RGB.byte.tif') +diff --git a/doc/gallery/plot_rasterio_rgb.py b/doc/gallery/plot_rasterio_rgb.py +index 2733bf14..e842758e 100644 +--- a/doc/gallery/plot_rasterio_rgb.py ++++ b/doc/gallery/plot_rasterio_rgb.py +@@ -14,16 +14,12 @@ transformation. + """ + + import os +-import urllib.request + + import cartopy.crs as ccrs + import matplotlib.pyplot as plt + + import xarray as xr + +-# Download the file from rasterio's repository +-url = 'https://github.com/mapbox/rasterio/raw/master/tests/data/RGB.byte.tif' +-urllib.request.urlretrieve(url, 'RGB.byte.tif') + + # Read the data + da = xr.open_rasterio('RGB.byte.tif') +@@ -37,6 +33,3 @@ ax = plt.subplot(projection=crs) + da.plot.imshow(ax=ax, rgb='band', transform=crs) + ax.coastlines('10m', color='r') + plt.show() +- +-# Delete the file +-os.remove('RGB.byte.tif') +-- +2.20.1 + diff --git a/0002-DOC-Skip-examples-using-unpackaged-dependencies.patch b/0002-DOC-Skip-examples-using-unpackaged-dependencies.patch new file mode 100644 index 0000000..7ddfcaf --- /dev/null +++ b/0002-DOC-Skip-examples-using-unpackaged-dependencies.patch @@ -0,0 +1,33 @@ +From 2eb33a619724bed0c324e3723d3f0eedf82806a1 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Fri, 15 Mar 2019 22:48:25 -0400 +Subject: [PATCH 2/4] DOC: Skip examples using unpackaged dependencies. + +Signed-off-by: Elliott Sales de Andrade +--- + doc/io.rst | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/doc/io.rst b/doc/io.rst +index 51c74718..64aa4d88 100644 +--- a/doc/io.rst ++++ b/doc/io.rst +@@ -366,6 +366,7 @@ installed xarray can convert a ``DataArray`` into a ``Cube`` using + :py:meth:`~xarray.DataArray.to_iris`: + + .. ipython:: python ++ :verbatim: + + da = xr.DataArray(np.random.rand(4, 5), dims=['x', 'y'], + coords=dict(x=[10, 20, 30, 40], +@@ -378,6 +379,7 @@ Conversely, we can create a new ``DataArray`` object from a ``Cube`` using + :py:meth:`~xarray.DataArray.from_iris`: + + .. ipython:: python ++ :verbatim: + + da_cube = xr.DataArray.from_iris(cube) + da_cube +-- +2.20.1 + diff --git a/0003-TST-Reduce-required-pytest-runner-version.patch b/0003-TST-Reduce-required-pytest-runner-version.patch new file mode 100644 index 0000000..ee9aeda --- /dev/null +++ b/0003-TST-Reduce-required-pytest-runner-version.patch @@ -0,0 +1,26 @@ +From 31da0ae60854e4678468a161217548c0daa7af59 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sat, 16 Mar 2019 02:42:37 -0400 +Subject: [PATCH 3/4] TST: Reduce required pytest-runner version. + +Signed-off-by: Elliott Sales de Andrade +--- + setup.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setup.py b/setup.py +index 3921d0c3..60beae90 100644 +--- a/setup.py ++++ b/setup.py +@@ -25,7 +25,7 @@ CLASSIFIERS = [ + PYTHON_REQUIRES = '>=3.5' + INSTALL_REQUIRES = ['numpy >= 1.12', 'pandas >= 0.19.2'] + needs_pytest = {'pytest', 'test', 'ptr'}.intersection(sys.argv) +-SETUP_REQUIRES = ['pytest-runner >= 4.2'] if needs_pytest else [] ++SETUP_REQUIRES = ['pytest-runner >= 4.0'] if needs_pytest else [] + TESTS_REQUIRE = ['pytest >= 2.7.1'] + if sys.version_info[0] < 3: + TESTS_REQUIRE.append('mock') +-- +2.20.1 + diff --git a/0004-DOC-Don-t-print-out-conda-pip-environment.patch b/0004-DOC-Don-t-print-out-conda-pip-environment.patch new file mode 100644 index 0000000..74041ab --- /dev/null +++ b/0004-DOC-Don-t-print-out-conda-pip-environment.patch @@ -0,0 +1,31 @@ +From f35372127084836ec4b9871f809a688c465f4ee2 Mon Sep 17 00:00:00 2001 +From: Elliott Sales de Andrade +Date: Sat, 16 Mar 2019 02:59:15 -0400 +Subject: [PATCH 4/4] DOC: Don't print out conda/pip environment. + +Signed-off-by: Elliott Sales de Andrade +--- + doc/conf.py | 7 ------- + 1 file changed, 7 deletions(-) + +diff --git a/doc/conf.py b/doc/conf.py +index 32274155..e6071cdd 100644 +--- a/doc/conf.py ++++ b/doc/conf.py +@@ -26,13 +26,6 @@ allowed_failures = set() + print("python exec:", sys.executable) + print("sys.path:", sys.path) + +-if 'conda' in sys.executable: +- print('conda environment:') +- subprocess.run(['conda', 'list']) +-else: +- print('pip environment:') +- subprocess.run(['pip', 'list']) +- + print("xarray: %s, %s" % (xarray.__version__, xarray.__file__)) + + with suppress(ImportError): +-- +2.20.1 + diff --git a/python-xarray.spec b/python-xarray.spec new file mode 100644 index 0000000..428759d --- /dev/null +++ b/python-xarray.spec @@ -0,0 +1,123 @@ +%global srcname xarray +%global data_commit 870b5d7a9dbfa821423f1b88056890c22341f085 + +Name: python-%{srcname} +Version: 0.12.0 +Release: 1%{?dist} +Summary: N-D labeled arrays and datasets in Python + +License: ASL 2.0 +URL: https://github.com/pydata/xarray +Source0: %pypi_source +# Data for examples only. +Source1: https://github.com/pydata/xarray-data/archive/%{data_commit}/xarray-data-%{data_commit}.tar.gz +Source2: https://github.com/mapbox/rasterio/raw/1.0.21/tests/data/RGB.byte.tif +# All Fedora specific. +Patch0001: 0001-DOC-Don-t-download-RGB.byte.tif-during-build.patch +Patch0002: 0002-DOC-Skip-examples-using-unpackaged-dependencies.patch +Patch0003: 0003-TST-Reduce-required-pytest-runner-version.patch +Patch0004: 0004-DOC-Don-t-print-out-conda-pip-environment.patch + +BuildArch: noarch + +BuildRequires: python3-devel +BuildRequires: python3-dask+array +BuildRequires: python3-dask+dataframe +BuildRequires: python3dist(numpy) >= 1.12 +BuildRequires: python3dist(numpydoc) +BuildRequires: python3dist(pandas) >= 0.19.2 +BuildRequires: python3dist(pytest) >= 2.7.1 +BuildRequires: python3dist(pytest-runner) +BuildRequires: python3dist(pytest-xdist) +BuildRequires: python3dist(seaborn) +BuildRequires: python3dist(setuptools) + +%global _description %{expand: \ +Xarray (formerly xray) is an open source project and Python package that +makes working with labelled multi-dimensional arrays simple, efficient, +and fun! + +Xarray introduces labels in the form of dimensions, coordinates and +attributes on top of raw NumPy-like arrays, which allows for a more +intuitive, more concise, and less error-prone developer experience. The +package includes a large and growing library of domain-agnostic functions +for advanced analytics and visualization with these data structures. + +Xarray was inspired by and borrows heavily from pandas, the popular data +analysis package focused on labelled tabular data. It is particularly +tailored to working with netCDF files, which were the source of xarray's +data model, and integrates tightly with dask for parallel computing.} + +%description %{_description} + + +%package -n python3-%{srcname} +Summary: %{summary} +%{?python_provide:%python_provide python3-%{srcname}} + +%description -n python3-%{srcname} %{_description} + + +%package -n python-%{srcname}-doc +Summary: xarray documentation + +BuildRequires: python3dist(cartopy) +BuildRequires: natural-earth-map-data-110m +BuildRequires: natural-earth-map-data-10m +BuildRequires: python3-ipython-sphinx +BuildRequires: python3dist(matplotlib) +BuildRequires: python3dist(netcdf4) +BuildRequires: python3dist(rasterio) +BuildRequires: python3dist(sphinx) +BuildRequires: python3dist(sphinx-gallery) +BuildRequires: python3dist(sphinx-rtd-theme) +BuildRequires: python3dist(zarr) + +%description -n python-%{srcname}-doc +Documentation for xarray + + +%prep +%autosetup -n %{srcname}-%{version} -p1 + +# Provide example datasets for building docs. +tar xf %SOURCE1 --transform='s~^\(%{srcname}-data-%{data_commit}/\)~\1.xarray_tutorial_data/~' +cp -p %SOURCE2 ./doc/gallery/ + +# Remove bundled egg-info +rm -rf %{srcname}.egg-info + + +%build +%py3_build + +# generate html docs +pushd doc +PYTHONPATH=${PWD}/.. HOME=${PWD}/../%{srcname}-data-%{data_commit} make html +# remove the sphinx-build leftovers +rm -rf _build/html/.{doctrees,buildinfo} +popd + + +%install +%py3_install + + +%check +%{__python3} setup.py test --addopts='-ra -n auto' + + +%files -n python3-%{srcname} +%license LICENSE +%doc README.rst +%{python3_sitelib}/%{srcname} +%{python3_sitelib}/%{srcname}-%{version}-py?.?.egg-info + +%files -n python-%{srcname}-doc +%doc doc/_build/html +%license LICENSE + + +%changelog +* Sat Mar 16 2019 Elliott Sales de Andrade - 0.12.0-1 +- Initial package. diff --git a/sources b/sources new file mode 100644 index 0000000..96c80cf --- /dev/null +++ b/sources @@ -0,0 +1,3 @@ +SHA512 (xarray-0.12.0.tar.gz) = 7e8f71cdf68f5f8c18d9311490121a9a76ad49ccd8345960214e323ebe0588e82d041eb579d83d52592147ac3629a0611b61b1ac7d0c7d320651fe658967140e +SHA512 (xarray-data-870b5d7a9dbfa821423f1b88056890c22341f085.tar.gz) = 27de6e274d18d266d6d8a1f0c8f65396fff16d177cf6df41cfd4bcf839e6d083512c4f4dbc1163ab7380a8905acecfe15b7978e23b9c360bad2dd879addb421c +SHA512 (RGB.byte.tif) = 34aa1b196f6c5880530d42ec8a25193bc79db803a8427adc9b115373d222b9f4318a04f06c8b37118df7e09d96b9c470ecec543c604af18861f11b786ed6fbfd