lasio
Read/write well data from Log ASCII Standard (LAS) files
What it is and what it does
lasio is a Python library that reads and writes Log ASCII Standard (LAS) files, a format used to store borehole data such as geophysical, geological, and petrophysical logs. It implements support for LAS versions 1.2 and 2.0 as published by the Canadian Well Logging Society and is designed to handle real-world LAS files that may contain common errors and non-compliant formatting. The package exposes data both as raw numpy arrays and as CurveItem objects with associated metadata (units, descriptions, mnemonics), and provides access to header sections (version, well information, parameters) as HeaderItem objects.
The library is primarily for I/O operations—reading LAS files from disk, file-like objects, or URLs, and writing them back. It does not provide higher-level curve analysis or well project management; the documentation explicitly recommends considering welly for broader well-data workflows. lasio stopped supporting Python 2.7 in August 2020 and currently requires Python 3.9 or later with numpy as its sole required dependency.
Use it for:
- Import borehole geophysical log data from LAS files into numpy arrays for numerical analysis and visualization.
- Parse well logging metadata (depths, units, curve descriptions) from LAS headers for data cataloging and validation.
- Convert LAS files to pandas DataFrames or export to Excel for spreadsheet-based workflows.
- Build LAS files programmatically from well data and write them back to disk in compliant format.
- Handle non-standard or malformed LAS files that strict parsers may reject.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Read and write Log ASCII Standard (LAS) files used for borehole geophysical, geological, and petrophysical logging data, supporting LAS versions 1.2 and 2.0.
Yes, if you work with LAS well-log data. The package is stable, permissively licensed, has low install friction, and carries no known vulnerabilities. The aging maintenance status (378 days since last release) is a minor concern for a mature I/O library but worth monitoring if you depend on active development. Consider welly if you need higher-level well-data abstractions beyond reading and writing.
Install
lasio on PyPI
pip
pip install lasiouv
uv add lasiopoetry
poetry add lasioInstalling lasio
Before you install
Low install friction with a single runtime dependency on numpy. Package is aging (378 days since last release) but maintains broad Python version support from 3.9 through 3.13 and carries Beta stability classification.
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute lasio freely provided you include the license notice.
Quickstart
pip install lasio
import lasio
las = lasio.read("sample.las")
data = las['DEPT'] # access curve as numpy array
metadata = las.curves # access CurveItem objects with units and descriptions
Requires Python 3.9 or later; numpy must be installed.
Verify before relying
- Performance characteristics for large LAS files (documentation notes lasio is not particularly fast).
- Current status of LAS 3 support mentioned as 'being worked on' in the description.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | aging — 378 days since the last release |
| First released | |
| Downloads | 291,039/month — #7,975 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: lasio-0.32-py3-none-any.whl
Keywords: geophysics, io, science
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
laspyLaspy reads, modifies, and writes LAS and LAZ…
permissive · top 5,000 on PyPI
laszipProvides Python bindings to LASzip, a…
permissive · top 15,000 on PyPI
RoffIORoffio reads and writes Roxar Open File Format…
copyleft · top 15,000 on PyPI
fitsiofitsio reads and writes FITS (Flexible Image…
copyleft · top 15,000 on PyPI
plyfileplyfile reads and writes ASCII and binary PLY…
copyleft · top 5,000 on PyPI
pyshpPyShp reads and writes ESRI Shapefiles in pure…
permissive · top 5,000 on PyPI
aiofileProvides asynchronous file I/O operations for…
permissive · top 1,000 on PyPI
geoh5pygeoh5py provides a Python API to read, write,…
copyleft · top 15,000 on PyPI
texttableCreates formatted ASCII tables for console…
permissive · top 1,000 on PyPI
pylightxlReads and writes Microsoft Excel files (.xlsx,…
permissive · top 15,000 on PyPI