LASMnemonicsID
Well log mnemonic identification and standardization for LAS, DLIS, and ASCII formats
Features
- Multi-format support: LAS, DLIS, ASCII/CSV/TXT/DAT
- Automatic mnemonic standardization: GR, RHOB, NPHI, DT, SP, CALI, RT, etc.
- Batch processing: Parse entire directories recursively
- Customizable naming: Override default standard names
- Case-insensitive extensions: Works with .las/.LAS, .dlis/.DLIS, .csv/.CSV, etc.
- Pandas integration: Returns clean DataFrames ready for analysis
Installation
pip install lasmnemonicsid
This installs support for all formats (LAS, DLIS, ASCII/CSV/TXT).
Quick Start
LAS Files
from LASMnemonicsID import parseLAS
# Parse single LAS file
df = parseLAS("well.las")
print(df.head())
# Parse directory
data = parseLAS("/path/to/las/files/")
for filename, df in data.items():
print(f"{filename}: {df.shape}")
DLIS Files
from LASMnemonicsID import parseDLIS
# Parse single DLIS file
df = parseDLIS("well.dlis")
print(df.columns)
# Parse directory
data = parseDLIS("/path/to/dlis/files/")
ASCII/CSV/TXT Files
from LASMnemonicsID import parseASCII
# Parse CSV
df = parseASCII("well_log.csv", depth_col="DEPTH")
# Parse tab-separated TXT
df = parseASCII("well_log.txt", delimiter="\t")
# Parse directory
data = parseASCII("/path/to/csv/files/")
Advanced Usage
Custom Preferred Names
preferred = {
"deepres": "RT",
"deepres_preferred_original": "AT90",
"gamma": "GR"
}
df = parseLAS("well.las", preferred_names=preferred)
Batch Processing
from pathlib import Path
dir_path = Path("/data/wells/")
data = parseLAS(dir_path, verbose=True, preferred_names=preferred)
for fname, df in data.items():
print(f"{fname}: {df.shape}")
print(df.head(3))
Mixed Format Directories
las_data = parseLAS("/data/wells/")
dlis_data = parseDLIS("/data/wells/")
ascii_data = parseASCII("/data/wells/")
all_data = {**las_data, **dlis_data, **ascii_data}
Supported Mnemonics
The package automatically standardizes these curve types:
| Curve Type | Standard Name | Example Aliases |
|---|---|---|
| Gamma Ray | GR |
gr, cggr, cgr, gam, gamma, gammaray, grc, grd, hgr, sgr, lgr, pgr |
| Spontaneous Potential | SP |
sp, idsp, spr, spl, spdl, spdhp, spc, sp0, sp1, cgsp, dlsp |
| Caliper | CALI |
caliper, calip, cal, dcal, acal, cala, cald, cale, calh, hcal, xcal, ycal |
| Deep Resistivity | RT |
rt, rtao, rt90, ild, idph, rild, rd, ae90, at90, atrt, lld, lldc, res, resd |
| Shallow Resistivity | RXO |
rxo, rxoz, msfl, mcfl, sflcc, mgl, m1rx, r40o, aht10 |
| Density | RHOB |
rhob, rhoz, den, denb, denc, hrho, hrhob, zden, hden, denf, denn |
| Density Correction | DRHO |
dcor, dcorr, dc, decr, drh, zcor, zcorr, hhdr, denscorr |
| Neutron Porosity | NPHI |
cn, phin, cnc, cns, hnphi, nphi, npor, cncc, nprl, neut, neutpor |
| Sonic (Compressional) | DT |
dt, dtc, dtco, dtcomp, deltat, slow, slowness, tt, ac, acco, delt, dtcomp |
| Sonic (Shear) | DTS |
dts, dtsh, dtsm, dtsc, dtsd, dtsqi, dtshear, deltas, tts, stt, dtshear |
| Photoelectric Factor | PEF |
pe, pef, pefz, pdpe, pedf, pedn, hpedn, pe2, pef8, lpe |
Testing
pytest tests/ -v
pytest tests/test_las.py -v
pytest tests/test_dlis.py -v
pytest tests/test_ascii.py -v
API Reference
parseLAS(input_path, verbose=True, preferred_names=None)
Parse LAS file(s) and standardize mnemonics.
Parameters:
- input_path (str/Path): LAS file or directory
- verbose (bool): Print parsing info
- preferred_names (dict): Custom name mappings
Returns: DataFrame (single file) or dict (multiple files)
parseDLIS(input_path, verbose=True, preferred_names=None)
Parse DLIS file(s) and standardize mnemonics.
Parameters:
- input_path (str/Path): DLIS file or directory
- verbose (bool): Print parsing info
- preferred_names (dict): Custom name mappings
Returns: DataFrame (single file) or dict (multiple files)
parseASCII(input_path, verbose=True, preferred_names=None, depth_col="DEPTH", delimiter=",")
Parse ASCII/CSV/TXT file(s) and standardize mnemonics.
Parameters:
- input_path (str/Path): ASCII file or directory
- verbose (bool): Print parsing info
- preferred_names (dict): Custom name mappings
- depth_col (str): Name of depth column
- delimiter (str): Field separator
Returns: DataFrame (single file) or dict (multiple files)
How to Cite
APA
Nobleza Energy. (2026). LASMnemonicsID: Well log mnemonic identification for LAS, DLIS, and ASCII formats [Software]. GitHub. https://github.com/Nobleza-Energy/LASMnemonicsID
BibTeX
@software{LASMnemonicsID,
author = {Nobleza Energy},
title = {LASMnemonicsID: Well log mnemonic identification for LAS, DLIS, and ASCII formats},
year = {2026},
publisher = {GitHub},
url = {https://github.com/Nobleza-Energy/LASMnemonicsID}
}
License
MIT License - see LICENSE file.
Contributing
Contributions welcome! Submit a Pull Request.
Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Made with ❤️ by Nobleza Energy
Metadata
Release files for lasmnemonicsid 0.0.5
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 |
|---|---|---|---|---|
| lasmnemonicsid-0.0.5.tar.gz | 15.4 kB | Without provenance | Details for lasmnemonicsid-0.0.5.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| lasmnemonicsid-0.0.5-py3-none-any.whl | Python 3 | none | any | Details for lasmnemonicsid-0.0.5-py3-none-any.whl |
Total release size: 29.3 kB
Release files / lasmnemonicsid-0.0.5.tar.gz
| Download URL | lasmnemonicsid-0.0.5.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
65ab53cb5e34c2f308b841dd73b1a5da23aa4e728304e2ba23fe346eb6d75046
|
|
BLAKE2b-256 checksum How to use checksums |
fcd7f3a2e088b495b9d9eb2ff55212c1e926df259325cd2fe2ac6b36c0fc4d04
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / lasmnemonicsid-0.0.5-py3-none-any.whl
| Download URL | lasmnemonicsid-0.0.5-py3-none-any.whl |
|---|---|
| Size | 13.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7f8eecf013a08fbe623bd5521a5fa3e6b03488fbfdb2edd53e6e26235cf6a61
|
|
BLAKE2b-256 checksum How to use checksums |
9c77bec4361a74b07cd6cca83318d214c0b1f09fce31139c7ced5b868e9ccaa0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for lasmnemonicsid 0.0.5
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.