Skip to main content

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.

Key Features

  • Thrive for SEG-Y correctness while allowing flexibility.
  • Utilize fast decoding and parsing logic (numpy + numba).
  • Use fsspec ecosystem to read / write files to and from disk, cloud, http, ftp.
  • Support legacy and current SEG-Y standards.
  • Allow users to specify and register their customizations as new "standards".
  • Header field names are canonical and interactive alias recommendation based on popular libraries.
  • Automatic detection of file endianness and SEG-Y revision.
  • Configuration mechanism to override bad headers that hinders automatic parsing.

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)

The library will also try to infer the endianness and the revision of the SEG-Y file automatically. If it can't, users can override the endianness, revision, and more parameters using the settings.

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 and not all validation logic is implemented yet:

  • ✅ Rev 0 (1975)
  • ✅ Rev 1 (2002)
  • ✅ Rev 2 (2017)**
  • ✅ Rev 2.1 (2023)**

** The XML stanzas and extended trace headers are not currently supported.

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.

Metadata

Release files for segy 0.6.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for segy 0.6.2
File Size Uploaded
segy-0.6.2.tar.gz 45.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for segy 0.6.2
File Interpreter ABI Platform
segy-0.6.2-py3-none-any.whl Python 3 none any Details

Total release size: 102.6 kB

Release files / segy-0.6.2.tar.gz

Download URL segy-0.6.2.tar.gz
Size 45.0 kB
Tags Source
SHA-256 checksum
How to use checksums
e454d08b78be72ee7fbfa3b22dc13fd6dcf106408dbc9b22bef8b9259d5263dc
BLAKE2b-256 checksum
How to use checksums
4a400eb376efb37ab2431326770740cc6ed9fceb886df2b6fe0191b5b10c50f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / segy-0.6.2-py3-none-any.whl

Download URL segy-0.6.2-py3-none-any.whl
Size 57.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e1523138f2738935a82230265a2150563b7f384887c23e2e0d976c14538ea6eb
BLAKE2b-256 checksum
How to use checksums
badf0698107779a0c791eb28bbc959534e08f7434f4ca10eb07cb64ddd367340
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.6.2 This release

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page