mirror of
https://git.freebsd.org/ports.git
synced 2025-04-29 01:56:37 -04:00
science/{,py-}segyio: update 1.9.12 → 1.9.13
Reported by: portscout
This commit is contained in:
parent
06b09ae988
commit
f012e5a091
6 changed files with 10 additions and 323 deletions
|
@ -1,6 +1,6 @@
|
||||||
PORTNAME= segyio
|
PORTNAME= segyio
|
||||||
DISTVERSIONPREFIX= v
|
DISTVERSIONPREFIX= v
|
||||||
DISTVERSION= 1.9.12
|
DISTVERSION= 1.9.13
|
||||||
CATEGORIES= science python
|
CATEGORIES= science python
|
||||||
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
|
||||||
|
|
||||||
|
@ -39,4 +39,6 @@ post-install:
|
||||||
pre-test:
|
pre-test:
|
||||||
@cd ${WRKSRC} && ${PYTHON_CMD} ${PYSETUP} build_ext --inplace
|
@cd ${WRKSRC} && ${PYTHON_CMD} ${PYSETUP} build_ext --inplace
|
||||||
|
|
||||||
|
# tests as of 1.9.13: 208 passed, 8 warnings in 3.65s
|
||||||
|
|
||||||
.include <bsd.port.mk>
|
.include <bsd.port.mk>
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
TIMESTAMP = 1712537010
|
TIMESTAMP = 1738831045
|
||||||
SHA256 (equinor-segyio-v1.9.12_GH0.tar.gz) = 79f1baa969deb613870c812655544af0c61370ffba3731f7f59836949495dd81
|
SHA256 (equinor-segyio-v1.9.13_GH0.tar.gz) = c68cd225e346c79ad1f70f86281d82dcc1520e137a6d74298d5732f94d71f04d
|
||||||
SIZE (equinor-segyio-v1.9.12_GH0.tar.gz) = 3911812
|
SIZE (equinor-segyio-v1.9.13_GH0.tar.gz) = 3912066
|
||||||
|
|
|
@ -1,302 +0,0 @@
|
||||||
--- segyio/__init__.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/__init__.py
|
|
||||||
@@ -51,7 +51,7 @@ class Enum(object):
|
|
||||||
return int(self._value)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
- for k, v in self.__class__.__dict__.items():
|
|
||||||
+ for k, v in list(self.__class__.__dict__.items()):
|
|
||||||
if isinstance(v, int) and self._value == v:
|
|
||||||
return k
|
|
||||||
return "Unknown Enum"
|
|
||||||
@@ -76,7 +76,7 @@ class Enum(object):
|
|
||||||
@classmethod
|
|
||||||
def enums(cls):
|
|
||||||
result = []
|
|
||||||
- for v in cls.__dict__.values():
|
|
||||||
+ for v in list(cls.__dict__.values()):
|
|
||||||
if isinstance(v, int):
|
|
||||||
result.append(cls(v))
|
|
||||||
|
|
||||||
--- segyio/create.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/create.py
|
|
||||||
@@ -200,7 +200,7 @@ def create(filename, spec):
|
|
||||||
|
|
||||||
if endian not in endians:
|
|
||||||
problem = 'unknown endianness {}, expected one of: '
|
|
||||||
- opts = ' '.join(endians.keys())
|
|
||||||
+ opts = ' '.join(list(endians.keys()))
|
|
||||||
raise ValueError(problem.format(endian) + opts)
|
|
||||||
|
|
||||||
fd = _segyio.segyiofd(str(filename), 'w+', endians[endian])
|
|
||||||
--- segyio/depth.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/depth.py
|
|
||||||
@@ -172,7 +172,7 @@ class Depth(Sequence):
|
|
||||||
>>> depth[::2] = other
|
|
||||||
"""
|
|
||||||
if isinstance(depth, slice):
|
|
||||||
- for i, x in zip(range(*depth.indices(len(self))), val):
|
|
||||||
+ for i, x in zip(list(range(*depth.indices(len(self)))), val):
|
|
||||||
self[i] = x
|
|
||||||
return
|
|
||||||
|
|
||||||
--- segyio/field.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/field.py
|
|
||||||
@@ -456,7 +456,7 @@ class Field(MutableMapping):
|
|
||||||
return False
|
|
||||||
|
|
||||||
def intkeys(d):
|
|
||||||
- return { int(k): v for k, v in d.items() }
|
|
||||||
+ return { int(k): v for k, v in list(d.items()) }
|
|
||||||
|
|
||||||
return intkeys(self) == intkeys(other)
|
|
||||||
|
|
||||||
@@ -513,13 +513,13 @@ class Field(MutableMapping):
|
|
||||||
for key in other:
|
|
||||||
self.putfield(buf, int(key), other[key])
|
|
||||||
elif hasattr(other, "keys"):
|
|
||||||
- for key in other.keys():
|
|
||||||
+ for key in list(other.keys()):
|
|
||||||
self.putfield(buf, int(key), other[key])
|
|
||||||
else:
|
|
||||||
for key, value in other:
|
|
||||||
self.putfield(buf, int(key), value)
|
|
||||||
|
|
||||||
- for key, value in kwargs.items():
|
|
||||||
+ for key, value in list(kwargs.items()):
|
|
||||||
self.putfield(buf, int(self._kwargs[key]), value)
|
|
||||||
|
|
||||||
self.buf = buf
|
|
||||||
@@ -543,4 +543,4 @@ class Field(MutableMapping):
|
|
||||||
).reload()
|
|
||||||
|
|
||||||
def __repr__(self):
|
|
||||||
- return repr(self[self.keys()])
|
|
||||||
+ return repr(self[list(self.keys())])
|
|
||||||
--- segyio/gather.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/gather.py
|
|
||||||
@@ -119,7 +119,7 @@ class Gather(object):
|
|
||||||
offs = slice(off, off + 1, 1)
|
|
||||||
|
|
||||||
xs = list(filter(self.offsets.__contains__,
|
|
||||||
- range(*offs.indices(self.offsets[-1]+1))))
|
|
||||||
+ list(range(*offs.indices(self.offsets[-1]+1)))))
|
|
||||||
|
|
||||||
empty = np.empty(0, dtype = self.trace.dtype)
|
|
||||||
# gather[int,int,:]
|
|
||||||
@@ -138,8 +138,8 @@ class Gather(object):
|
|
||||||
# buffered, and traces can be read from the iline. This is the
|
|
||||||
# least efficient when there are very few traces read per inline,
|
|
||||||
# but huge savings with larger subcubes
|
|
||||||
- last_il = self.iline.keys()[-1] + 1
|
|
||||||
- last_xl = self.xline.keys()[-1] + 1
|
|
||||||
+ last_il = list(self.iline.keys())[-1] + 1
|
|
||||||
+ last_xl = list(self.xline.keys())[-1] + 1
|
|
||||||
|
|
||||||
il_slice = il if isslice(il) else slice(il, il+1)
|
|
||||||
xl_slice = xl if isslice(xl) else slice(xl, xl+1)
|
|
||||||
@@ -149,15 +149,15 @@ class Gather(object):
|
|
||||||
# but it's unnecessary to chck all keys up until the first xline
|
|
||||||
# because that will never be a hit anyway
|
|
||||||
if il_slice.start is None:
|
|
||||||
- start = self.iline.keys()[0]
|
|
||||||
+ start = list(self.iline.keys())[0]
|
|
||||||
il_slice = slice(start, il_slice.stop, il_slice.step)
|
|
||||||
|
|
||||||
if xl_slice.start is None:
|
|
||||||
- start = self.xline.keys()[0]
|
|
||||||
+ start = list(self.xline.keys())[0]
|
|
||||||
xl_slice = slice(start, xl_slice.stop, xl_slice.step)
|
|
||||||
|
|
||||||
- il_range = range(*il_slice.indices(last_il))
|
|
||||||
- xl_range = range(*xl_slice.indices(last_xl))
|
|
||||||
+ il_range = list(range(*il_slice.indices(last_il)))
|
|
||||||
+ xl_range = list(range(*xl_slice.indices(last_xl)))
|
|
||||||
|
|
||||||
# the try-except-else is essentially a filter on in/xl keys, but
|
|
||||||
# delegates the work (and decision) to the iline and xline modes
|
|
||||||
@@ -372,7 +372,7 @@ class Groups(Mapping):
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
|
||||||
- items = key.items()
|
|
||||||
+ items = list(key.items())
|
|
||||||
except AttributeError:
|
|
||||||
items = iter(key)
|
|
||||||
|
|
||||||
@@ -420,15 +420,15 @@ class Groups(Mapping):
|
|
||||||
return Group(key, self, self.bins[key])
|
|
||||||
|
|
||||||
def values(self):
|
|
||||||
- for key, index in self.bins.items():
|
|
||||||
+ for key, index in list(self.bins.items()):
|
|
||||||
yield Group(key, self, index)
|
|
||||||
|
|
||||||
def items(self):
|
|
||||||
- for key, index in self.bins.items():
|
|
||||||
+ for key, index in list(self.bins.items()):
|
|
||||||
yield key, Group(key, self, index)
|
|
||||||
|
|
||||||
def __iter__(self):
|
|
||||||
- return self.bins.keys()
|
|
||||||
+ return list(self.bins.keys())
|
|
||||||
|
|
||||||
def sort(self, fields):
|
|
||||||
"""
|
|
||||||
@@ -436,7 +436,7 @@ class Groups(Mapping):
|
|
||||||
"""
|
|
||||||
bins = collections.OrderedDict()
|
|
||||||
|
|
||||||
- for key, index in self.bins.items():
|
|
||||||
+ for key, index in list(self.bins.items()):
|
|
||||||
g = Group(key, self, index)
|
|
||||||
g.sort(fields)
|
|
||||||
bins[key] = g.index
|
|
||||||
--- segyio/line.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/line.py
|
|
||||||
@@ -91,12 +91,12 @@ class Line(Mapping):
|
|
||||||
if not isinstance(offset, slice):
|
|
||||||
offset = slice(offset, offset + 1)
|
|
||||||
|
|
||||||
- index = sanitize_slice(index, self.heads.keys())
|
|
||||||
- offset = sanitize_slice(offset, self.offsets.keys())
|
|
||||||
- irange = range(*index.indices(max(self.heads.keys()) + 1))
|
|
||||||
- orange = range(*offset.indices(max(self.offsets.keys()) + 1))
|
|
||||||
- irange = filter(self.heads.__contains__, irange)
|
|
||||||
- orange = filter(self.offsets.__contains__, orange)
|
|
||||||
+ index = sanitize_slice(index, list(self.heads.keys()))
|
|
||||||
+ offset = sanitize_slice(offset, list(self.offsets.keys()))
|
|
||||||
+ irange = list(range(*index.indices(max(self.heads.keys()) + 1)))
|
|
||||||
+ orange = list(range(*offset.indices(max(self.offsets.keys()) + 1)))
|
|
||||||
+ irange = list(filter(self.heads.__contains__, irange))
|
|
||||||
+ orange = list(filter(self.offsets.__contains__, orange))
|
|
||||||
# offset-range is used in inner loops, so make it a list for
|
|
||||||
# reusability. offsets are usually few, so no real punishment by using
|
|
||||||
# non-generators here
|
|
||||||
@@ -344,7 +344,7 @@ class Line(Mapping):
|
|
||||||
|
|
||||||
def items(self):
|
|
||||||
"""D.values() -> generator of D's (key,values), as 2-tuples"""
|
|
||||||
- return zip(self.keys(), self[:])
|
|
||||||
+ return zip(list(self.keys()), self[:])
|
|
||||||
|
|
||||||
class HeaderLine(Line):
|
|
||||||
"""
|
|
||||||
--- segyio/open.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/open.py
|
|
||||||
@@ -155,7 +155,7 @@ def open(filename, mode="r", iline = 189,
|
|
||||||
|
|
||||||
if endian not in endians:
|
|
||||||
problem = 'unknown endianness {}, expected one of: '
|
|
||||||
- opts = ' '.join(endians.keys())
|
|
||||||
+ opts = ' '.join(list(endians.keys()))
|
|
||||||
raise ValueError(problem.format(endian) + opts)
|
|
||||||
|
|
||||||
from . import _segyio
|
|
||||||
--- segyio/segy.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/segy.py
|
|
||||||
@@ -910,7 +910,7 @@ class SegyFile(object):
|
|
||||||
|
|
||||||
if sorting not in valid_sortings:
|
|
||||||
error = "Invalid sorting"
|
|
||||||
- solution = "valid sorting options are: {}".format(valid_sortings.keys())
|
|
||||||
+ solution = "valid sorting options are: {}".format(list(valid_sortings.keys()))
|
|
||||||
raise ValueError('{}, {}'.format(error, solution))
|
|
||||||
|
|
||||||
if offsets is None:
|
|
||||||
--- segyio/su/file.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/su/file.py
|
|
||||||
@@ -89,7 +89,7 @@ def open(filename, mode = 'r', iline = 189,
|
|
||||||
|
|
||||||
if endian not in endians:
|
|
||||||
problem = 'unknown endianness, must be one of: '
|
|
||||||
- candidates = ' '.join(endians.keys())
|
|
||||||
+ candidates = ' '.join(list(endians.keys()))
|
|
||||||
raise ValueError(problem + candidates)
|
|
||||||
|
|
||||||
from .. import _segyio
|
|
||||||
--- segyio/tools.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/tools.py
|
|
||||||
@@ -289,7 +289,7 @@ def rotation(f, line = 'fast'):
|
|
||||||
|
|
||||||
if line not in lines:
|
|
||||||
error = "Unknown line {}".format(line)
|
|
||||||
- solution = "Must be any of: {}".format(' '.join(lines.keys()))
|
|
||||||
+ solution = "Must be any of: {}".format(' '.join(list(lines.keys())))
|
|
||||||
raise ValueError('{} {}'.format(error, solution))
|
|
||||||
|
|
||||||
l = lines[line]
|
|
||||||
@@ -299,7 +299,7 @@ def rotation(f, line = 'fast'):
|
|
||||||
rot = f.xfd.rotation( len(l),
|
|
||||||
l.stride,
|
|
||||||
len(f.offsets),
|
|
||||||
- np.fromiter(l.keys(), dtype = np.intc) )
|
|
||||||
+ np.fromiter(list(l.keys()), dtype = np.intc) )
|
|
||||||
return rot, cdpx, cdpy
|
|
||||||
|
|
||||||
def metadata(f):
|
|
||||||
@@ -466,7 +466,7 @@ def from_array(filename, data, iline=189,
|
|
||||||
data = np.asarray(data)
|
|
||||||
dimensions = len(data.shape)
|
|
||||||
|
|
||||||
- if dimensions not in range(2, 5):
|
|
||||||
+ if dimensions not in list(range(2, 5)):
|
|
||||||
problem = "Expected 2, 3, or 4 dimensions, {} was given".format(dimensions)
|
|
||||||
raise ValueError(problem)
|
|
||||||
|
|
||||||
--- segyio/trace.py.orig 2022-02-18 06:49:44 UTC
|
|
||||||
+++ segyio/trace.py
|
|
||||||
@@ -198,7 +198,7 @@ class Trace(Sequence):
|
|
||||||
step = 1
|
|
||||||
single = True
|
|
||||||
|
|
||||||
- n_elements = len(range(start, stop, step))
|
|
||||||
+ n_elements = len(list(range(start, stop, step)))
|
|
||||||
|
|
||||||
try:
|
|
||||||
i = self.wrapindex(i)
|
|
||||||
@@ -278,7 +278,7 @@ class Trace(Sequence):
|
|
||||||
|
|
||||||
"""
|
|
||||||
if isinstance(i, slice):
|
|
||||||
- for j, x in zip(range(*i.indices(len(self))), val):
|
|
||||||
+ for j, x in zip(list(range(*i.indices(len(self)))), val):
|
|
||||||
self[j] = x
|
|
||||||
|
|
||||||
return
|
|
||||||
@@ -388,7 +388,7 @@ class RawTrace(Trace):
|
|
||||||
msg = 'trace indices must be integers or slices, not {}'
|
|
||||||
raise TypeError(msg.format(type(i).__name__))
|
|
||||||
start, _, step = indices
|
|
||||||
- length = len(range(*indices))
|
|
||||||
+ length = len(list(range(*indices)))
|
|
||||||
buf = np.empty((length, self.shape), dtype = self.dtype)
|
|
||||||
return self.filehandle.gettr(buf, start, step, length, 0, self.shape, 1, self.shape)
|
|
||||||
|
|
||||||
@@ -435,7 +435,7 @@ class RefTrace(Trace):
|
|
||||||
be useful in certain contexts to provide stronger guarantees.
|
|
||||||
"""
|
|
||||||
garbage = []
|
|
||||||
- for i, (x, signature) in self.refs.items():
|
|
||||||
+ for i, (x, signature) in list(self.refs.items()):
|
|
||||||
if sys.getrefcount(x) == 3:
|
|
||||||
garbage.append(i)
|
|
||||||
|
|
||||||
@@ -841,7 +841,7 @@ class Attributes(Sequence):
|
|
||||||
field = self.field
|
|
||||||
|
|
||||||
start, stop, step = i.indices(traces)
|
|
||||||
- indices = range(start, stop, step)
|
|
||||||
+ indices = list(range(start, stop, step))
|
|
||||||
attrs = np.empty(len(indices), dtype = self.dtype)
|
|
||||||
return filehandle.field_forall(attrs, start, stop, step, field)
|
|
||||||
|
|
||||||
@@ -955,7 +955,7 @@ class Text(Sequence):
|
|
||||||
msg = 'trace indices must be integers or slices, not {}'
|
|
||||||
raise TypeError(msg.format(type(i).__name__))
|
|
||||||
|
|
||||||
- for i, text in zip(range(*indices), val):
|
|
||||||
+ for i, text in zip(list(range(*indices)), val):
|
|
||||||
if isinstance(text, Text):
|
|
||||||
text = text[0]
|
|
||||||
self.filehandle.puttext(i, text)
|
|
|
@ -1,13 +0,0 @@
|
||||||
- workaround for https://github.com/equinor/segyio/issues/586
|
|
||||||
|
|
||||||
--- setup.py.orig 2024-12-11 05:38:29 UTC
|
|
||||||
+++ setup.py
|
|
||||||
@@ -95,7 +95,7 @@ skbuild.setup(
|
|
||||||
# supported OS X release 10.9
|
|
||||||
'-DCMAKE_OSX_DEPLOYMENT_TARGET=10.9',
|
|
||||||
],
|
|
||||||
- cmdclass = { 'test': setuptools.command.test.test },
|
|
||||||
+ #cmdclass = { 'test': setuptools.command.test.test },
|
|
||||||
classifiers = [
|
|
||||||
'Development Status :: 5 - Production/Stable',
|
|
||||||
'Environment :: Other Environment',
|
|
|
@ -1,6 +1,6 @@
|
||||||
PORTNAME= segyio
|
PORTNAME= segyio
|
||||||
DISTVERSIONPREFIX= v
|
DISTVERSIONPREFIX= v
|
||||||
DISTVERSION= 1.9.12
|
DISTVERSION= 1.9.13
|
||||||
CATEGORIES= science
|
CATEGORIES= science
|
||||||
|
|
||||||
MAINTAINER= yuri@FreeBSD.org
|
MAINTAINER= yuri@FreeBSD.org
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
TIMESTAMP = 1712536794
|
TIMESTAMP = 1738825199
|
||||||
SHA256 (equinor-segyio-v1.9.12_GH0.tar.gz) = 79f1baa969deb613870c812655544af0c61370ffba3731f7f59836949495dd81
|
SHA256 (equinor-segyio-v1.9.13_GH0.tar.gz) = c68cd225e346c79ad1f70f86281d82dcc1520e137a6d74298d5732f94d71f04d
|
||||||
SIZE (equinor-segyio-v1.9.12_GH0.tar.gz) = 3911812
|
SIZE (equinor-segyio-v1.9.13_GH0.tar.gz) = 3912066
|
||||||
|
|
Loading…
Add table
Reference in a new issue