Segyio

Latest version: v1.9.13

Safety actively analyzes 723445 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 8

1.8.0

* segyio has learned the seismic unix file format, and can read and write SU
files. This feature is found in the segyio.su module
* segyio supports least-significant-byte (LSB/little-endian) first formatted
files
* Fixed a bug that caused writing headers in non-linear mode very slow,
and wrong under some conditions
* segyio also considers files with descending line/offset numbers sorted, not
just ascending
* The python file handle has learned the interpret method, which allows
specifying structure directly, rather than inferring it from file metadata.
This is particularly useful for files with structure, but broken headers
* A new family of from_array functions are added to the tools module,
intended for quick-and-easy storing a 2/3/4D volume on disk
* Sorting defaults to inline in segyio.create if nothing is specified
* Text.__setitem__ used a wrong variable and didn't really work, but is now
fixed
* Internal imports are tidied up
* The test suite in both Python and C++ have seen some minor improvements
* An experimental C++ interface is available for source builds, but is not
considered stable - internals and interface can change with no prior notice.
The experimental interface is enabled when segyio is built with
-DEXPERIMENTAL=ON

1.7.1

* Fixed an issue where writing traces on memory-mapped files was a no-op
* Depth slices dimensions are always in fast-by-slow
* catb/catr has some new output formats
* Some docs entries updated and fixed

1.7.0

* segyio has learned to open non-ascii file paths on Windows
* Fixed an issue where segyio-catr would sometimes print the same trace twice
* segyio no longer incorrectly considers files where the
inline/crossline/offset triple doesn't change sorted
* The test suite has seen some overhaul, making test cases more focused on the
actual thing to test
* Checking sorting won't silently fail when the offset-word is broken
* `f.text` is now a Sequence, meaning it has slicing and other common array
operations
* The makefiles no longer build both static and shared libraries, but rather
respect the BUILD_SHARED_LIBS variable
* Python 3.7 support
* Various refactoring and internal improvements

1.6.0

* segyio has learned to handle int16 and int32 sample formats
* segyio has learned to write any array_likes with any float-convertible
contents. `f.trace = np.linspace(0, 1, 0.01)` works as expected.
* segyio types have been extended to be more container-like, and conform to
more protocols. Notably, headers and lines are properly dict_like, and traces
are properly array_like
* `trace.ref` added, a write-back mode where changes to yielded trace data are
written back to disk
* `trace.raw` has been improved, is faster and supports setitem and the
container protocol
* Headers have learned to accept (seismic unix) keywords in `update`, so
`header.update(cdpx=10)` works as expected
* `f.dtype` added, this is the dtype used in all segyio-provided numpy arrays,
and reflects the underlying data format
* `f.readonly` added, to query if file handles are writable
* segyio gracefully handle non-contiguous and more array_likes in setitem
* The type requirements of `f.samples` has been relaxed, and it now is whatever
numpy uses as default
* segyio now assumes IBM float if the format identifier is meaningless
* Some exception types are cleaned up, notably header key misses raise
KeyError, not IndexError
* General speed and clarity improvements, some more exception guarantees
* segyio has learned to raise an error when provided with too short data traces
* segyio has started raising deprecation warnings when using to-be-removed
features
* The python library has overall been simplified
* Lots of new documentation has been written, the sphinx docs structure has
been overhauled

1.5.3

* segyio-catr has learned to handle no arguments, and as a results read the
first trace header as intended
* segyio-catr has its help text and man page corrected
* segyio-crop has learned to say how many traces it copies
* segyio-crop has learned to warn when no traces are copied
* segyio-crop has learned not to overwrite its input file when source and dest
is the same
* The makefiles understand the BUILD_DOC option, to build the python docs with
sphinx
* Test suite has some speed and robustness improvements

1.5.2

* `open` and `create` handle anything string-convertible as filename argument
* pytest replaces unittest, both as library and test driver
* segyio-crop now respects the byte-offset arguments, instead of just ignoring
them and using 189 & 193 from SEG-Y revision 1
* Some errors in readme and documentation is cleared up
* Fixed a bug in create that would trigger 16-bit integer overflow, effectively
breaking any file with more than 65k traces.

Page 6 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.