Typed objects block model#216
Merged
denis-simo merged 29 commits intoSeequentEvo:mainfrom Feb 25, 2026
Merged
Conversation
…ion and more convenient interactions as part of notebooks by novice python users (geologists). Updated some of the method names to match pandas/tables syntax.
# Conflicts: # packages/evo-widgets/docs/examples/displaying-typed-objects.ipynb # packages/evo-widgets/src/evo/widgets/formatters.py
…jects-variogram # Conflicts: # code-samples/geoscience-objects/README.md # code-samples/geoscience-objects/simplified-object-interactions/simplified-object-interactions.ipynb # packages/evo-objects/docs/examples/typed-objects.ipynb # packages/evo-objects/src/evo/objects/typed/__init__.py # packages/evo-objects/src/evo/objects/typed/base.py # packages/evo-widgets/README.md # packages/evo-widgets/docs/examples/displaying-typed-objects.ipynb # packages/evo-widgets/pyproject.toml # packages/evo-widgets/src/evo/widgets/__init__.py # packages/evo-widgets/src/evo/widgets/formatters.py # packages/evo-widgets/src/evo/widgets/urls.py # packages/evo-widgets/tests/test_formatters.py # packages/evo-widgets/tests/test_urls.py # uv.lock
…ped-objects-block-model # Conflicts: # code-samples/geoscience-objects/running-kriging-compute/running-kriging-compute.ipynb
…jects-block-model # Conflicts: # code-samples/geoscience-objects/running-kriging-compute/running-kriging-compute.ipynb # packages/evo-widgets/src/evo/widgets/__init__.py # packages/evo-widgets/src/evo/widgets/formatters.py # packages/evo-widgets/tests/test_formatters.py
RyanMillerSeequent
approved these changes
Feb 22, 2026
RyanMillerSeequent
left a comment
There was a problem hiding this comment.
Have only looked at packages/evo-objects and everything LGTM there.
wordsworthc
reviewed
Feb 23, 2026
…re consistent with other packages.
BenLewis-Seequent
requested changes
Feb 25, 2026
wordsworthc
reviewed
Feb 25, 2026
denis-simo
commented
Feb 25, 2026
BenLewis-Seequent
approved these changes
Feb 25, 2026
wordsworthc
approved these changes
Feb 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR brings block models under the same typed object envolope as recently added objects.
Key parts of this pull requets:
BLock models are now an OPTIONAL dependency for objects. We want to have a single point of entry and block models on evo are not just references from the perspective of the user - they are actual block models that the user expects to interact with. If the user does not install block models, they can interact with block model metadata handling the current dependency in a similar way to pandas and numpy. Evo-sdk user will get the whole package, sneaky developer who only cares about very thin set of changes - can get evo-objects with cut down dependencies.
Block model dependencies were adjusted so that by default it can be used just to parse metadata. Interaction with data is now an optional dependency, this way for basic services that don't care about interacting with evo-data and that user evo-objects there is no extra dependency added.
Block models support dataframe conversions, pretty printing via widgets, report creation, and automated mapping/creation from
object_from_reference/path.I have shared typed definitions in Common, without going as far as adding shared functionality that relies on numpy to avoid new depenency on common.
Block model in objects acts as a wrapper for a fully featured typed objects in evo-block models that can exist by itself.
I have not added any converters to and from block model and 3D grid... but it is not that hard as interfaces are similar though not identical and because the objects are different enough - we do not want to have more shared interfaces at this stage other than common base blocks.
OCTREE and FULLY SUBBLOCKED modes support was left out for now (via typed Objects) - PR is large already
This is a meaninful update, so I have bumped up the versions. If we want to release this, I can write up the changelong now as well, though there is one more PR to come after this for Kriging compute.
Checklist