Skip to main content

A Python package for efficient storage, manipulation, and analysis of mining block models using Parquet files.

Project description

parq-blockmodel logo parq-blockmodel

Run Tests PyPI Coverage Python Versions License Publish Docs Open Issues Open PRs

Overview

A Python package for efficient storage, manipulation, and analysis of mining block models using Parquet files. parq-blockmodel provides tools for reading, writing, indexing, and transforming large-scale block model datasets, leveraging the performance of Apache Arrow and Parquet for scalable geoscience data workflows.

Installation

Install the base package from PyPI:

pip install parq-blockmodel

Install the optional schema validation support when you want to validate block model attributes with Pandera schemas or load schema definitions from YAML:

pip install "parq-blockmodel[schema]"

Schema validation

ParquetBlockModel accepts an optional schema= argument on its main constructors. You can pass either a Pandera DataFrameSchema object or a path to a YAML schema file, then validate the resulting model in chunks:

from pathlib import Path

from parq_blockmodel import ParquetBlockModel

pbm = ParquetBlockModel.from_parquet(
    Path("path/to/blockmodel.parquet"),
    schema=Path("schemas/blockmodel.schema.yaml"),
)

pbm.validate()
pbm.validate(sample_chunks=1)  # quick spot-check for large models

See the User Guide for detailed documentation on calculated attributes, including custom lookups and functions.

For polygon-based block flagging workflows (including persisted named polygons in GeoParquet), see the Polygon Flagging guide.

Visualization

The block-model plotting path now delegates through parq_blockmodel.visualization, which keeps the rendering logic isolated from ParquetBlockModel itself.

from parq_blockmodel import ParquetBlockModel
from parq_blockmodel.visualization import BlockModelTrameApp

pbm = ParquetBlockModel.from_parquet("orebody.parquet")
plotter = pbm.plot(scalar="grade")

app = BlockModelTrameApp(pbm, scalar="grade")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

parq_blockmodel-0.9.0.tar.gz (199.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

parq_blockmodel-0.9.0-py3-none-any.whl (122.7 kB view details)

Uploaded Python 3

File details

Details for the file parq_blockmodel-0.9.0.tar.gz.

File metadata

  • Download URL: parq_blockmodel-0.9.0.tar.gz
  • Upload date:
  • Size: 199.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for parq_blockmodel-0.9.0.tar.gz
Algorithm Hash digest
SHA256 654e3295a64b10c7940d63a58b14984ff0544c57d57482eb0c3a3763d1ed848e
MD5 080167b5df39107d1c9bf114b993bd7b
BLAKE2b-256 5aa27bfbb05d81a4a6b2b5ba6831f40cd6815fdf23df8d83ccdd3b544dbad1fe

See more details on using hashes here.

File details

Details for the file parq_blockmodel-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: parq_blockmodel-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 122.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for parq_blockmodel-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d58ca2fa7224a1b9779368ae03ec484699da08fc6b70fcd93c966bf437633fb3
MD5 a9b7bf78e1bd53039cb98090f49ba82d
BLAKE2b-256 54248b92b12afd4dd0de4d0444c982d1da857d9207ce2a3ea313d585f8254f2a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page