Metadata-Version: 2.1
Name: las-py
Version: 1.0.2
Summary: A zero-dependency python library for reading/parsing canadian well-log files (.Las files)
Home-page: https://github.com/iykekings/las_py
Author: Ikechukwu Eze
Author-email: iykekings36@gmail.com
License: UNKNOWN
Project-URL: Documentation, https://github.com/iykekings/las_py
Project-URL: Funding, https://www.patreon.com/bePatron?u=19152008
Project-URL: Source, https://github.com/iykekings/las_py
Project-URL: Tracker, https://github.com/iykekings/las_py/issues
Keywords: well log well-log geophysical geophysics las .las
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3
Description-Content-Type: text/markdown

# Las_py

## las_py is a zero-dependency Python library for parsing .Las file (Geophysical/Canadian well log files).

## Currently supports only version 2.0 of LAS Specification. For more information about this format, see the Canadian Well Logging Society [web page](http://www.cwls.org/las/)

- To Install


    ```sh
        $pip insatll las-py
    ```

- Usage


    ```python
        from las_py import Laspy
     ```
    ```python
        my_las = Laspy('path_to_las_file.las')
    ```

- Read data


    ```python
       data = my_las.data
       print(data)
       #[[2650.0, 177.825, -999.25, -999.25], [2650.5, 182.5, -999.25,-999.25], [2651.0,180.162, -999.25, -999.25], [2651.5, 177.825, -999.25, -999.25], [2652.0, 177.825, -999.25, -999.25] ...]
    ```
    ```python
        # get data with rows that has null value stripped
       data = my_las.data_stripped
       print(data)
       #[[2657.5, 212.002, 0.16665, 1951.74597], [2658.0, 201.44, 0.1966, 1788.50696], [2658.5, 204.314, 0.21004, 1723.21204], [2659.0, 212.075, 0.22888, 1638.328], [2659.5, 243.536, 0.22439, 1657.91699]...]
    ```

- Get the log headers


    ```python
        headers = my_las.header
        print(headers)
        # ['DEPTH', 'GR', 'NPHI', 'RHOB']
    ```

- Get the log headers descriptions


    ```python
        hds_and_desc = my_las.header_and_descr
        print(hds_and_desc)
        # {DEPTH': 'DEPTH', 'GR': 'Gamma Ray', 'NPHI': 'Neutron Porosity','RHOB': 'Bulk density'}
    ```

- Get a particular column, say Gamma Ray log


    ```python
        GR = my_las.column('GR')
        print(GR)
        # [-999.25, -999.25, -999.25, -999.25, -999.25, 122.03, 123.14, ...]
    ```
    ```python
        # get column with null values stripped
        GR = my_las.column_stripped('GR')
        print(GR)
        # [61.61, 59.99, 54.02, 50.87, 54.68, 64.39, 77.96, ...]
    ```
    > Note this returns the column, after all the data has been stripped off their null values, which means that valid data in a particular column would be stripped off if there is another column that has a null value at that particular row

- Get the Well Parameters

  ### Presents a way of accessing the details individual well parameters.

  ### The details include the following:

        1. descr - Description/ Full name of the well parameter
        2. units - Its unit measurements
        3. value - Value

  ```python
    start = my_las.well.STRT.value # 1670.0
    stop = my_las.well.STOP.value #  1669.75
    null_value = my_las.well.NULL.value #  -999.25
    # Any other well parameter present in the file, canbe gotten with the same syntax above
  ```

- Get the Curve Parameters

  ### Presents a way of accessing the details individual log columns.

  ### The details include the following:

        1. descr - Description/ Full name of the log column
        2. units - Unit of the log column measurements
        3. value - API value of the log column

  ```python
    NPHI = my_las.curve.NPHI.descr # 'Neutron Porosity'
    RHOB = my_las.curve.RHOB.descr # 'Bulk density'
    # This is the same for all log column present in the file
  ```

- Get the Parameters of the well

  ### The details include the following:

        1. descr - Description/ Full name of the log column
        2. units - Unit of the log column measurements
        3. value - API value of the log column

  ```python
    BHT = my_las.param.BHT.descr # 'BOTTOM HOLE TEMPERATURE'
    BHT_valaue = my_las.param.BHT.value # 35.5
    BHT_units = my_las.param.BHT.units # 'DEGC'
    # This is the same for all well parameters present in the file
  ```

- Get the number of rows and columns


    ```python
        rows = my_las.row_counts # 4
        columns = my_las.column_counts # 3081
    ```

- Get the version and wrap


    ```python
        version = my_las.version # '2.0'
        wrap = my_las.wrap # 'YES'
    ```

- Get other information

  ```python
      other = my_las.other
      print(other)
      # Note: The logging tools became stuck at 625 metres causing the data
      # between 625 metres and 615 metres to be invalid.
  ```

- ## Support
  las_py is an MIT-licensed open source project. You can help it grow by becoming a sponsor/supporter. Donate on [Patreon](https://www.patreon.com/bePatron?u=19152008)


