Skip to content

Refactor SEG-Y ingestion pipeline into general modular components - #823

Merged
BrianMichell merged 20 commits into
TGSAI:mainfrom
BrianMichell:feat/run-segy-ingestion
Jun 10, 2026
Merged

BrianMichell merged 20 commits into
TGSAI:mainfrom
BrianMichell:feat/run-segy-ingestion

Conversation

@BrianMichell

@BrianMichell BrianMichell commented Jun 2, 2026 •

Copy link
Copy Markdown
Collaborator

This refactor retains a thin shim for legacy code support to allow for gradual phase-out of old code paths.

Modernizes the pipeline to avoid runtime template mutation via side-effects and implements a runtime factory instantiation.

Generalizes ingestion pipeline architecture for easier format extensibility.

Replace monolithic GridOverrider with compostable IndexStrategies.

BrianMichell and others added 9 commits June 2, 2026 18:35
* Introduce a new `dataset_factory` module for schema-driven dataset creation.
* Implement `run_segy_ingestion` orchestrator to streamline SEG-Y ingestion.
* Enhance dataset templates with dimension specification methods to ensure consistency in data types.
* Update `__init__.py` files to include new ingestion components and improve module organization.
* Remove deprecated `schema_resolver.py` to clean up the codebase.
* Add unit tests to validate new functionalities and ensure robustness.
@codecov

codecov Bot commented Jun 4, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.09977% with 25 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.99%. Comparing base (c3ba558) to head (4a6b0f6).
⚠️ Report is 238 commits behind head on main.

Files with missing lines Patch % Lines
src/mdio/ingestion/segy/pipeline.py 92.18% 4 Missing and 1 partial ⚠️
src/mdio/ingestion/segy/raw_headers.py 87.50% 2 Missing and 1 partial ⚠️
src/mdio/ingestion/segy/serializer.py 89.65% 1 Missing and 2 partials ⚠️
src/mdio/builder/dataset_builder.py 60.00% 2 Missing ⚠️
src/mdio/ingestion/dataset_factory.py 97.43% 1 Missing and 1 partial ⚠️
src/mdio/ingestion/segy/index_strategies.py 90.47% 1 Missing and 1 partial ⚠️
src/mdio/ingestion/segy/schema_effects.py 96.77% 1 Missing and 1 partial ⚠️
tests/unit/ingestion/test_no_template_mutation.py 87.50% 1 Missing and 1 partial ⚠️
src/mdio/ingestion/segy/coordinates.py 92.85% 0 Missing and 1 partial ⚠️
src/mdio/ingestion/segy/reader.py 96.42% 0 Missing and 1 partial ⚠️
... and 2 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #823      +/-   ##
==========================================
+ Coverage   85.30%   92.99%   +7.68%     
==========================================
  Files          46      143      +97     
  Lines        2219     8163    +5944     
  Branches      306      463     +157     
==========================================
+ Hits         1893     7591    +5698     
- Misses        281      498     +217     
- Partials       45       74      +29     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@BrianMichell BrianMichell added the refactoring Refactoring label Jun 10, 2026
@BrianMichell BrianMichell changed the title Feat/run segy ingestion Refactor SEG-Y ingestion pipeline into general modular components Jun 10, 2026
@BrianMichell
BrianMichell merged commit e8d0ae5 into TGSAI:main Jun 10, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

refactoring Refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant