PyPI Conda Python Version Status License

Tests Codecov Read the documentation at https://segy.readthedocs.io/

pre-commit Ruff

PyPI Downloads Conda Downloads

SEG-Y#

🚧👷🏻 This project is under active development, expect breaking changes the to API 👷🏻🚧 - March, 2024

This is an efficient and comprehensive SEG-Y parsing library.

See the documentation for more information.

This is not an official TGS product.

Features#

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.

Installing segy#

Clone the repo and install it using pip:

Simplest way to install segy is via pip from PyPI:

$ pip install segy

or install segy via conda from conda-forge:

$ conda install -c conda-forge segy

Extras must be installed separately on Conda environments.

For details, please see the installation instructions in the documentation.

Using segy#

Please see the Command-line Usage for details.

For Python API please see the API Reference for details.

Reading Capabilities#

It supports reading from local and cloud files (object store). It can read:

  • Sequential traces (fastest)

  • Disjoint sequential regions (fast)

  • Random traces (slow)

High Performance#

The performance is high and to be proven with upcoming benchmarks. The initial subjective benchmarks is very acceptable.

Flexibility#

The library provides a fully flexible, schematized SEG-Y structure, including data models and JSON schema parsing and validation.

Predefined SEG-Y Standards#

It supports predefined SEG-Y “standards” for various versions. However, some versions are still in progress:

  • [x] Rev 0 (1975)

  • [x] Rev 1 (2002)

  • [ ] Rev 2 (2017)

  • [ ] Rev 2.1 (2023)

Custom SEG-Y Standards#

You can build your own SEG-Y “standard” with composition of specs for:

  • Text header (file + extended)

  • Binary header

  • Traces (header + extended header + samples)

Contributing to segy#

Contributions are very welcome. To learn more, see the Contributor Guide.

Licensing#

Distributed under the terms of the Apache 2.0 license. segy is free and open source software.

Issues#

If you encounter any problems, please file an issue along with a detailed description.

Credits#

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 Hypermodern Python Cookiecutter with more modern tooling applied elsewhere.