This is an efficient and comprehensive SEG-Y parsing library.
See the documentation for more information.
This is not an official TGS product.
The library utilizes numpy
and fsspec
, includes the reading from various local
and remote resources at a high speed. It also allows the users to build their own
SEG-Y specifications.
Clone the repo and install it using pip:
Simplest way to install segy
is via [pip] from [PyPI]:
$ pip install segy
For details, please see the installation instructions in the documentation.
Please see the Command-line Usage for details.
For Python API please see the API Reference for details.
It supports reading from local and cloud files (object store). It can read:
- Sequential traces (fastest)
- Disjoint sequential regions (fast)
- Random traces (slow)
The performance is high and to be proven with upcoming benchmarks. The initial subjective benchmarks is very acceptable.
The library provides a fully flexible, schematized SEG-Y structure, including data models and JSON schema parsing and validation.
It supports predefined SEG-Y "standards" for various versions. However, some versions are still in progress:
- Rev 0 (1975)
- Rev 1 (2002)
- Rev 2 (2017)
- Rev 2.1 (2023)
You can build your own SEG-Y "standard" with composition of specs for:
- Text header (file + extended)
- Binary header
- Traces (header + extended header + samples)
Contributions are very welcome. To learn more, see the Contributor Guide.
Distributed under the terms of the Apache 2.0 license.
segy
is free and open source software.
If you encounter any problems, please file an issue along with a detailed description.
This project was established at TGS. Current maintainer is Altay Sansal with the support of many more great colleagues.
The CI/CD tooling is loosely based on [@cjolowicz]'s Hypermodern Python Cookiecutter with more modern tooling applied elsewhere!.