Skip to main content

MineLab

La caja de herramientas que todo ingeniero de minas merece tener en Python.

PyPI Python Tests License: MIT


¿Qué es MineLab?

MineLab nació de una convicción simple: los cálculos que hacemos los ingenieros de minas merecen algo mejor que hojas de cálculo desordenadas, scripts sueltos y fórmulas copiadas a mano.

Soy Ingeniero de Minas y Metalurgia, y también un entusiasta de la programación. MineLab es la librería que me habría gustado tener desde el primer día de carrera — un solo lugar donde encontrar las fórmulas de Bieniawski, los modelos de Kuz-Ram, el kriging ordinario, el análisis de NPV, el diseño de flotación, y cientos de herramientas más, todas validadas, documentadas y listas para usar.

Los números que respaldan esta v0.1.0:

  • 388 funciones cubriendo 16 módulos de ingeniería minera
  • 897 tests con 94% de cobertura de código
  • Cada función incluye referencias bibliográficas a las fórmulas originales
  • Compatible con Python 3.10 – 3.13

Instalación

pip install minelab

Inicio Rápido

import minelab as ml

# --- Economía minera ---
van = ml.npv(rate=0.10, cashflows=[-100_000, 30_000, 35_000, 40_000, 45_000])
print(f"VAN del proyecto: ${van:,.0f}")

# --- Geomecánica: clasificación de macizo rocoso ---
rmr = ml.rmr_bieniawski(
    ucs_rating=12, rqd_rating=17, spacing_rating=10,
    condition_rating=20, groundwater_rating=10, orientation_adj=-5,
)
print(f"RMR89: {rmr}")

# --- Geoestadística: variograma experimental ---
from minelab.geostatistics import experimental_variogram
lags, gamma = experimental_variogram(
    coordinates=coords, values=grades, n_lags=15, lag_size=50.0
)

# --- Procesamiento de minerales: recuperación por flotación ---
rec = ml.flotation_recovery(feed_grade=1.2, concentrate_grade=28.0, tail_grade=0.15)
print(f"Recuperación: {rec:.1f}%")

# --- Perforación y voladura: fragmentación Kuz-Ram ---
x50 = ml.kuz_ram_x50(powder_factor=0.5, rock_factor=8.0, charge_weight=150.0)
print(f"Fragmentación media (x50): {x50:.1f} cm")

También puedes importar desde submódulos específicos:

from minelab.economics import npv, irr, monte_carlo_simulation
from minelab.geostatistics import ordinary_kriging, experimental_variogram
from minelab.geomechanics import hoek_brown_failure, rmr_bieniawski

Módulos

Módulo Descripción
utilities Conversiones de unidades, base de datos de minerales, validadores, estadística
geostatistics Variogramas, kriging, simulación, modelos de bloques
mine_planning Optimización de pit, ley de corte, scheduling
geomechanics Clasificación de macizo rocoso, estabilidad de taludes, soporte
mineral_processing Conminución, flotación, lixiviación, balance metalúrgico
equipment Ciclo de camiones, match factor, productividad de flota
drilling_blasting Diseño de voladura, fragmentación Kuz-Ram, vibración
ventilation Resistencia de vías, Hardy Cross, selección de ventiladores
economics VAN, TIR, Monte Carlo, análisis de sensibilidad
environmental Drenaje ácido, balance hídrico, relaves
production Blending, control de leyes, stockpiles
resource_classification JORC 2012, NI 43-101
data_management Sondajes, compositos, desurvey, formatos I/O
underground_mining Caserones, convergencia-confinamiento, room & pillar, relleno
hydrogeology Ensayos de acuífero, desaguado de rajo, química de aguas
surveying Volumetría, coordenadas UTM, topografía de tronaduras

Esto es solo el comienzo

MineLab v0.1.0 es la primera versión pública — la primera piedra de algo mucho más grande. En el camino vienen:

  • Más funciones y módulos especializados
  • Documentación completa con tutoriales en español
  • Ejemplos con datos reales de la industria
  • Integración con flujos de trabajo geomineros

¿Quieres contribuir? Toda ayuda es bienvenida: reporta bugs, sugiere funciones, o envía un pull request. Este proyecto se construye mejor en comunidad.


Autor

Argenis Marin — Ingeniero de Minas y Metalurgia, entusiasta de la programación y la automatización aplicada a la minería.

GitHub LinkedIn


Requisitos

  • Python >= 3.10
  • NumPy, SciPy, Pandas, Matplotlib, Plotly

Licencia

MIT License — ver LICENSE.

Metadata

Release files for minelab 0.1.1

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

Source distribution (sdist)

Source distribution for minelab 0.1.1
File Size Uploaded Provenance Actions
minelab-0.1.1.tar.gz 316.7 kB Without provenance Details for minelab-0.1.1.tar.gz

Built distribution (wheel)

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

Total release size: 564.2 kB

Release files / minelab-0.1.1.tar.gz

Download URL minelab-0.1.1.tar.gz
Size 316.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ad726c788fe4371e895f95dccb526fdf7813ee5c072d8f373ebc89b478977239
BLAKE2b-256 checksum
How to use checksums
2f47023a1f03db1ce1d2caa00fe0a68ea229932a7f740c0fb56ae3007fb23759
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / minelab-0.1.1-py3-none-any.whl

Download URL minelab-0.1.1-py3-none-any.whl
Size 247.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8958e2b1fdedd066c623d7b70db5e68cfc1c0fb6c16a53a8b78fdb218cf87042
BLAKE2b-256 checksum
How to use checksums
d2887b12a2a5d8a8e17413b50380f53c32e0eb8f642b8653efc6d2463938b990
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.6 {"installer":{"name":"uv","version":"0.10.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for minelab 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

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