summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSébastien Fabbro <bicatali@gentoo.org>2016-12-09 18:28:49 +0000
committerSébastien Fabbro <bicatali@gentoo.org>2016-12-10 02:05:05 +0000
commit452da31dd555b2e6ed6500526cf70985dedd7653 (patch)
treee7d2bf057c47d413af1da7a3b416fc2fe71cbbd2 /dev-python
parentdev-python/ginga: initial import (diff)
downloadgentoo-452da31dd555b2e6ed6500526cf70985dedd7653.tar.gz
gentoo-452da31dd555b2e6ed6500526cf70985dedd7653.tar.bz2
gentoo-452da31dd555b2e6ed6500526cf70985dedd7653.zip
dev-python/spectral-cube: initial import
Package-Manager: portage-2.3.3
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/spectral-cube/Manifest1
-rw-r--r--dev-python/spectral-cube/files/spectral-cube-0.4.0-looseversion.patch139
-rw-r--r--dev-python/spectral-cube/metadata.xml19
-rw-r--r--dev-python/spectral-cube/spectral-cube-0.4.0.ebuild52
4 files changed, 211 insertions, 0 deletions
diff --git a/dev-python/spectral-cube/Manifest b/dev-python/spectral-cube/Manifest
new file mode 100644
index 000000000000..69b96b7c6b62
--- /dev/null
+++ b/dev-python/spectral-cube/Manifest
@@ -0,0 +1 @@
+DIST spectral-cube-0.4.0.tar.gz 290453 SHA256 a08e60b314c0f6e44a3207725f962e4b9d4c9196232344f83828ca376d4c7877 SHA512 20970d1be0d836bd07ea96ee909300f28eaf2ab4ded7b4525eb68399d242b864fe93120a16ef2ef35eba5f547c0cbe90b07c27ef44ab1910dbbe97230fbab84e WHIRLPOOL 66c7d9b6d41c050dcd56048951a5a6a8c0306ae180a3042a7a066d4edd5f4ae654fad27ab325ca3e78d7a3e92d0167bc5057ca069e8db960aa23c4b18fcf78ab
diff --git a/dev-python/spectral-cube/files/spectral-cube-0.4.0-looseversion.patch b/dev-python/spectral-cube/files/spectral-cube-0.4.0-looseversion.patch
new file mode 100644
index 000000000000..42147de559a5
--- /dev/null
+++ b/dev-python/spectral-cube/files/spectral-cube-0.4.0-looseversion.patch
@@ -0,0 +1,139 @@
+From: Ole Streicher <olebole@debian.org>
+Date: Tue, 12 Jul 2016 08:54:59 +0200
+Subject: Use LooseVersion instead of StrictVersion.
+
+StrictVersion fails on numpy RCs. LooseVersion is a compromise until something better is available.
+---
+ spectral_cube/np_compat.py | 4 ++--
+ spectral_cube/spectral_cube.py | 4 ++--
+ spectral_cube/tests/test_masks.py | 4 ++--
+ spectral_cube/tests/test_moments.py | 4 ++--
+ spectral_cube/tests/test_spectral_cube.py | 10 +++++-----
+ 5 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/spectral_cube/np_compat.py b/spectral_cube/np_compat.py
+index e72b4d9..dd9080a 100644
+--- a/spectral_cube/np_compat.py
++++ b/spectral_cube/np_compat.py
+@@ -1,7 +1,7 @@
+ from __future__ import print_function, absolute_import, division
+
+ import numpy as np
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+
+ def allbadtonan(function):
+ """
+@@ -11,7 +11,7 @@ def allbadtonan(function):
+ """
+ def f(data, axis=None):
+ result = function(data, axis=axis)
+- if StrictVersion(np.__version__) >= StrictVersion('1.9.0'):
++ if LooseVersion(np.__version__) >= LooseVersion('1.9.0'):
+ if axis is None:
+ if np.all(np.isnan(data)):
+ return np.nan
+diff --git a/spectral_cube/spectral_cube.py b/spectral_cube/spectral_cube.py
+index 231245d..fa61119 100644
+--- a/spectral_cube/spectral_cube.py
++++ b/spectral_cube/spectral_cube.py
+@@ -34,7 +34,7 @@ from .lower_dimensional_structures import (Projection, Slice, OneDSpectrum,
+ LowerDimensionalObject)
+ from .base_class import BaseNDClass, SpectralAxisMixinClass, DOPPLER_CONVENTIONS
+
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+
+ __all__ = ['SpectralCube', 'VaryingResolutionSpectralCube']
+
+@@ -2072,7 +2072,7 @@ class BaseSpectralCube(BaseNDClass, SpectralAxisMixinClass):
+ import yt
+
+ if ('dev' in yt.__version__ or
+- StrictVersion(yt.__version__) >= StrictVersion('3.0')):
++ LooseVersion(yt.__version__) >= LooseVersion('3.0')):
+
+ from yt.frontends.fits.api import FITSDataset
+ from yt.units.unit_object import UnitParseError
+diff --git a/spectral_cube/tests/test_masks.py b/spectral_cube/tests/test_masks.py
+index 9116cb3..42a2125 100644
+--- a/spectral_cube/tests/test_masks.py
++++ b/spectral_cube/tests/test_masks.py
+@@ -14,7 +14,7 @@ from .. import (BooleanArrayMask, SpectralCube, LazyMask, LazyComparisonMask,
+ FunctionMask, CompositeMask)
+ from ..masks import is_broadcastable_and_smaller, dims_to_skip, view_of_subset
+
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+
+
+ def test_spectral_cube_mask():
+@@ -370,7 +370,7 @@ def test_flat_mask():
+ assert np.all(cube.sum(axis=0)[mask_array] == mcube.sum(axis=0)[mask_array])
+ assert np.all(np.isnan(mcube.sum(axis=0)[~mask_array]))
+
+-@pytest.mark.skipif(StrictVersion(np.__version__) < StrictVersion('1.7'),
++@pytest.mark.skipif(LooseVersion(np.__version__) < LooseVersion('1.7'),
+ reason='Numpy <1.7 does not support multi-slice indexing.')
+ def test_flat_mask_spectral():
+ cube, data = cube_and_raw('adv.fits')
+diff --git a/spectral_cube/tests/test_moments.py b/spectral_cube/tests/test_moments.py
+index 9b118fd..82eff40 100644
+--- a/spectral_cube/tests/test_moments.py
++++ b/spectral_cube/tests/test_moments.py
+@@ -1,7 +1,7 @@
+ from __future__ import print_function, absolute_import, division
+
+ import warnings
+-from distutils.version import StrictVersion
++from distutils.version import LooseVersion
+
+ import pytest
+ import numpy as np
+@@ -78,7 +78,7 @@ axis_order = pytest.mark.parametrize(('axis', 'order'),
+ (1, 0), (1, 1), (1, 2),
+ (2, 0), (2, 1), (2, 2)))
+
+-if StrictVersion(astropy.__version__[:3]) >= StrictVersion('1.0'):
++if LooseVersion(astropy.__version__[:3]) >= LooseVersion('1.0'):
+ # The relative error is slightly larger on astropy-dev
+ # There is no obvious reason for this.
+ rtol = 2e-7
+diff --git a/spectral_cube/tests/test_spectral_cube.py b/spectral_cube/tests/test_spectral_cube.py
+index 025e6bd..4dce3bb 100644
+--- a/spectral_cube/tests/test_spectral_cube.py
++++ b/spectral_cube/tests/test_spectral_cube.py
+@@ -4,7 +4,7 @@ import operator
+ import itertools
+ import warnings
+ import mmap
+-from distutils.version import StrictVersion, LooseVersion
++from distutils.version import LooseVersion, LooseVersion
+
+ # needed to test for warnings later
+ warnings.simplefilter('always', UserWarning)
+@@ -468,12 +468,12 @@ class TestNumpyMethods(BaseTest):
+ scmed = self.c.apply_numpy_function(np.median, axis=0)
+ # this checks whether numpy <=1.9.3 has a bug?
+ # as far as I can tell, np==1.9.3 no longer has this bug/feature
+- #if StrictVersion(np.__version__) <= StrictVersion('1.9.3'):
++ #if LooseVersion(np.__version__) <= LooseVersion('1.9.3'):
+ # # print statements added so we get more info in the travis builds
+- # print("Numpy version is: {0}".format(StrictVersion(np.__version__)))
++ # print("Numpy version is: {0}".format(LooseVersion(np.__version__)))
+ # assert np.count_nonzero(np.isnan(scmed)) == 5
+ #else:
+- # print("Numpy version is: {0}".format(StrictVersion(np.__version__)))
++ # print("Numpy version is: {0}".format(LooseVersion(np.__version__)))
+ assert np.count_nonzero(np.isnan(scmed)) == 6
+
+ scmed = self.c.apply_numpy_function(np.nanmedian, axis=0)
+@@ -667,7 +667,7 @@ def test_read_write_rountrip(tmpdir):
+ assert cube.shape == cube.shape
+ assert_allclose(cube._data, cube2._data)
+ if (((hasattr(_wcs, '__version__')
+- and StrictVersion(_wcs.__version__) < StrictVersion('5.9'))
++ and LooseVersion(_wcs.__version__) < LooseVersion('5.9'))
+ or not hasattr(_wcs, '__version__'))):
+ # see https://github.com/astropy/astropy/pull/3992 for reasons:
+ # we should upgrade this for 5.10 when the absolute accuracy is
diff --git a/dev-python/spectral-cube/metadata.xml b/dev-python/spectral-cube/metadata.xml
new file mode 100644
index 000000000000..0cc45ca202a5
--- /dev/null
+++ b/dev-python/spectral-cube/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-astronomy@gentoo.org</email>
+ <name>Gentoo Astronomy Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ The spectral-cube astronomy python module provides an easy way to
+ read, manipulate, analyze, and write data cubes with two
+ positional dimensions and one spectral dimension, optionally with
+ Stokes parameters. It aims to be a versatile data container for
+ building custom analysis routines.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">spectral-cube</remote-id>
+ <remote-id type="github">astropy/spectral-cube</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/spectral-cube/spectral-cube-0.4.0.ebuild b/dev-python/spectral-cube/spectral-cube-0.4.0.ebuild
new file mode 100644
index 000000000000..623eb4293d64
--- /dev/null
+++ b/dev-python/spectral-cube/spectral-cube-0.4.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+inherit distutils-r1
+
+DESCRIPTION="Manipulate astronomical data cubes with Python"
+HOMEPAGE="https://spectral-cube.readthedocs.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="doc test"
+
+RDEPEND="dev-python/astropy[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}
+ dev-python/astropy-helpers[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+ test? ( dev-python/pytest[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}"/${P}-looseversion.patch )
+
+python_prepare_all() {
+ sed -i -e '/auto_use/s/True/False/' setup.cfg || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ if use doc; then
+ python_setup
+ PYTHONPATH="${BUILD_DIR}"/lib \
+ esetup.py build_sphinx --no-intersphinx
+ fi
+}
+
+python_test() {
+ pushd spectral_cube/tests/data > /dev/null
+ "${PYTHON}" make_test_cubes.py
+ popd > /dev/null
+ esetup.py test
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/_build/html/ )
+ distutils-r1_python_install_all
+}