¿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.
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)
| 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)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| 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.