{ "info": { "author": "Ikechukwu Eze", "author_email": "iykekings36@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Las-py\n\n## las-py is a zero-dependency Python library for parsing .Las file (Geophysical/Canadian well log files).\n\n## 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/)\n\n- What's new in 1.1.0\n\n - Export to csv\n - Export to csv without rows containing null values\n - Bug fixes\n\n- To Install\n\n\n ```sh\n $pip insatll las-py\n ```\n\n- Usage\n\n\n ```python\n from las_py import Laspy\n ```\n ```python\n my_las = Laspy('path_to_las_file.las')\n ```\n\n- Read data\n\n\n ```python\n data = my_las.data\n print(data)\n #[[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] ...]\n ```\n ```python\n # get data with rows that has null value stripped\n data = my_las.data_stripped\n print(data)\n #[[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]...]\n ```\n\n- Get the log headers\n\n\n ```python\n headers = my_las.header\n print(headers)\n # ['DEPTH', 'GR', 'NPHI', 'RHOB']\n ```\n\n- Get the log headers descriptions\n\n\n ```python\n hds_and_desc = my_las.header_and_descr\n print(hds_and_desc)\n # {DEPTH': 'DEPTH', 'GR': 'Gamma Ray', 'NPHI': 'Neutron Porosity','RHOB': 'Bulk density'}\n ```\n\n- Get a particular column, say Gamma Ray log\n\n\n ```python\n GR = my_las.column('GR')\n print(GR)\n # [-999.25, -999.25, -999.25, -999.25, -999.25, 122.03, 123.14, ...]\n ```\n ```python\n # get column with null values stripped\n GR = my_las.column_stripped('GR')\n print(GR)\n # [61.61, 59.99, 54.02, 50.87, 54.68, 64.39, 77.96, ...]\n ```\n > 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\n\n- Get the Well Parameters\n\n ### Presents a way of accessing the details individual well parameters.\n\n ### The details include the following:\n\n 1. descr - Description/ Full name of the well parameter\n 2. units - Its unit measurements\n 3. value - Value\n\n ```python\n start = my_las.well.STRT.value # 1670.0\n stop = my_las.well.STOP.value # 1669.75\n null_value = my_las.well.NULL.value # -999.25\n # Any other well parameter present in the file, canbe gotten with the same syntax above\n ```\n\n- Get the Curve Parameters\n\n ### Presents a way of accessing the details individual log columns.\n\n ### The details include the following:\n\n 1. descr - Description/ Full name of the log column\n 2. units - Unit of the log column measurements\n 3. value - API value of the log column\n\n ```python\n NPHI = my_las.curve.NPHI.descr # 'Neutron Porosity'\n RHOB = my_las.curve.RHOB.descr # 'Bulk density'\n # This is the same for all log column present in the file\n ```\n\n- Get the Parameters of the well\n\n ### The details include the following:\n\n 1. descr - Description/ Full name of the log column\n 2. units - Unit of the log column measurements\n 3. value - API value of the log column\n\n ```python\n BHT = my_las.param.BHT.descr # 'BOTTOM HOLE TEMPERATURE'\n BHT_valaue = my_las.param.BHT.value # 35.5\n BHT_units = my_las.param.BHT.units # 'DEGC'\n # This is the same for all well parameters present in the file\n ```\n\n- Get the number of rows and columns\n\n\n ```python\n rows = my_las.row_counts # 4\n columns = my_las.column_counts # 3081\n ```\n\n- Get the version and wrap\n\n\n ```python\n version = my_las.version # '2.0'\n wrap = my_las.wrap # 'YES'\n ```\n\n- Get other information\n\n ```python\n other = my_las.other\n print(other)\n # Note: The logging tools became stuck at 625 metres causing the data\n # between 625 metres and 615 metres to be invalid.\n ```\n\n- Export to CSV\n\n ### This writes a csv file to the current working directory, with headers of the well and data section only.\n\n ```python\n my_las.to_csv('result')\n # result.csv has been created Successfully!\n ```\n\n > result.csv\n\n | DEPT | RHOB | GR | NPHI |\n | ---- | ------- | ------- | ----- |\n | 0.5 | -999.25 | -999.25 | -0.08 |\n | 1.0 | -999.25 | -999.25 | -0.08 |\n | 1.5 | -999.25 | -999.25 | -0.04 |\n | ... | ... | ... | ... |\n | 1.3 | -999.25 | -999.25 | -0.08 |\n\n Or get the version of csv with null values stripped\n\n ```python\n my_las.to_csv_stripped('clean')\n # clean.csv has been created Successfully!\n ```\n\n > clean.csv\n\n | DEPT | RHOB | GR | NPHI |\n | ---- | ----- | ---- | ----- |\n | 80.5 | 2.771 | 18.6 | -6.08 |\n | 81.0 | 2.761 | 17.4 | -6.0 |\n | 81.5 | 2.752 | 16.4 | -5.96 |\n | ... | ... | ... | ... |\n | 80.5 | 2.762 | 16.2 | -5.06 |\n\n- ## Support\n 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)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/iykekings/las_py", "keywords": "well log well-log geophysical geophysics las .las", "license": "", "maintainer": "", "maintainer_email": "", "name": "las-py", "package_url": "https://pypi.org/project/las-py/", "platform": "", "project_url": "https://pypi.org/project/las-py/", "project_urls": { "Documentation": "https://github.com/iykekings/las_py", "Funding": "https://www.patreon.com/bePatron?u=19152008", "Homepage": "https://github.com/iykekings/las_py", "Source": "https://github.com/iykekings/las_py", "Tracker": "https://github.com/iykekings/las_py/issues" }, "release_url": "https://pypi.org/project/las-py/1.1.0/", "requires_dist": null, "requires_python": ">=3", "summary": "A zero-dependency python library for reading/parsing canadian well-log files (.Las files)", "version": "1.1.0" }, "last_serial": 5135751, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "01cffb3def3a386974d3a7556fb6a5ce", "sha256": "6381652df407a5b9ff555ae58fda2f551ddbe08a157d2a0cd199f76e312d0df6" }, "downloads": -1, "filename": "las_py-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "01cffb3def3a386974d3a7556fb6a5ce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5574, "upload_time": "2019-04-12T01:32:54", "url": "https://files.pythonhosted.org/packages/d5/ba/db3826ea5142ccdbbb289a2937c6ed632acd16cdedbf0f761c92f264e3cc/las_py-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "18e44f19a4cbf18a5948f347e06a6668", "sha256": "d80045357d822a40a9ca21cd806f1b0b9c296692c297e0b55ee55e3e64e22de5" }, "downloads": -1, "filename": "las_py-1.0.0.tar.gz", "has_sig": false, "md5_digest": "18e44f19a4cbf18a5948f347e06a6668", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4757, "upload_time": "2019-04-12T01:32:56", "url": "https://files.pythonhosted.org/packages/25/2b/84a4fcbf757120498ab0c81ffa1326ae8bd93fd0b058eabbb083c572ef38/las_py-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "5585b4187a7e6c86188225e47ab8a5f9", "sha256": "6aecb3a510c1027399780e1f842dadafd74258a8cc82ffb1de0d8a1f0557abed" }, "downloads": -1, "filename": "las_py-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5585b4187a7e6c86188225e47ab8a5f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5575, "upload_time": "2019-04-12T02:07:43", "url": "https://files.pythonhosted.org/packages/25/93/9c17e301d4937dbd810ba022977c7fe3e37ac5cff8308d2444af42d5c8fa/las_py-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5889d03bd236fa41a4e1908287866a59", "sha256": "520f92194ce1c0b83cd873c224b595813c4dff42d42cbf1ac2b9c796dbe9045e" }, "downloads": -1, "filename": "las_py-1.0.1.tar.gz", "has_sig": false, "md5_digest": "5889d03bd236fa41a4e1908287866a59", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4754, "upload_time": "2019-04-12T02:07:47", "url": "https://files.pythonhosted.org/packages/1e/6c/74c156b711d6b399fc8a1750571c203e977d0a491c070715f08a14cda53a/las_py-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "f278d2325369826eeaec944efe806680", "sha256": "d010359d11fb979990589ea50c8c79970fa963909e6ad4cd194d3dc5a558798d" }, "downloads": -1, "filename": "las_py-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "f278d2325369826eeaec944efe806680", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5575, "upload_time": "2019-04-12T02:07:45", "url": "https://files.pythonhosted.org/packages/02/9d/e1a9c052ec49aa3de1150dc896d0bf84af2de5f19a9207aab553abacd0b4/las_py-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "455659f0daee0a23e78c82aac5841f0c", "sha256": "afd530f89240aaa26de403116f11db13b196bcc990d0312d2b70a731506ccf16" }, "downloads": -1, "filename": "las_py-1.0.2.tar.gz", "has_sig": false, "md5_digest": "455659f0daee0a23e78c82aac5841f0c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4765, "upload_time": "2019-04-12T02:07:48", "url": "https://files.pythonhosted.org/packages/e8/8a/4f73f049fefaff251b1ad71ec943f3a1cb72fdfb4e193d9cf87c6d379581/las_py-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "68bb20d534ae7411de57e64eca9cc810", "sha256": "4d36d634a4ca562a32ec08bf74a6ee5a9720a8d241369483a6f126a0ff65a225" }, "downloads": -1, "filename": "las_py-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "68bb20d534ae7411de57e64eca9cc810", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 5575, "upload_time": "2019-04-12T02:11:42", "url": "https://files.pythonhosted.org/packages/92/df/5adfcb681beb0e95bb80ea6334c53f212753e5cb33a993f71010456c5a3c/las_py-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "476792b3ec730e228b3773663fb7fc92", "sha256": "b2c66ddf9f2feb798b4099b2772c035480fc634341ebe24f5bf559442c0be43e" }, "downloads": -1, "filename": "las_py-1.0.3.tar.gz", "has_sig": false, "md5_digest": "476792b3ec730e228b3773663fb7fc92", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4756, "upload_time": "2019-04-12T02:11:44", "url": "https://files.pythonhosted.org/packages/db/a2/eec40b52b1a20039178f469d9c369534960d9b82b093ec70395ae2f0ef46/las_py-1.0.3.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "662e832a01ac80e10d3be8e1f5ffd325", "sha256": "e0ac1b2489ce410da25b030ad0e706ad3fce599b3beeea121b315adc4d358707" }, "downloads": -1, "filename": "las_py-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "662e832a01ac80e10d3be8e1f5ffd325", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6055, "upload_time": "2019-04-12T21:29:26", "url": "https://files.pythonhosted.org/packages/57/0b/8b043bc47437e2fa0d1223323b2742b19d3a44a37f685afe6ebe7c2afab1/las_py-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6622725ecfd57e37ad831a06d02894fc", "sha256": "da954128c80cffc2c997af5ff034c5cfcfbe9698bd709b01d190cbd1e35aa337" }, "downloads": -1, "filename": "las_py-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6622725ecfd57e37ad831a06d02894fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5336, "upload_time": "2019-04-12T21:29:28", "url": "https://files.pythonhosted.org/packages/83/e5/aa29844dbb68a68ae0031c55a196b6414e0674bdfefa137d0755d13bc8ba/las_py-1.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "662e832a01ac80e10d3be8e1f5ffd325", "sha256": "e0ac1b2489ce410da25b030ad0e706ad3fce599b3beeea121b315adc4d358707" }, "downloads": -1, "filename": "las_py-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "662e832a01ac80e10d3be8e1f5ffd325", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6055, "upload_time": "2019-04-12T21:29:26", "url": "https://files.pythonhosted.org/packages/57/0b/8b043bc47437e2fa0d1223323b2742b19d3a44a37f685afe6ebe7c2afab1/las_py-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6622725ecfd57e37ad831a06d02894fc", "sha256": "da954128c80cffc2c997af5ff034c5cfcfbe9698bd709b01d190cbd1e35aa337" }, "downloads": -1, "filename": "las_py-1.1.0.tar.gz", "has_sig": false, "md5_digest": "6622725ecfd57e37ad831a06d02894fc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5336, "upload_time": "2019-04-12T21:29:28", "url": "https://files.pythonhosted.org/packages/83/e5/aa29844dbb68a68ae0031c55a196b6414e0674bdfefa137d0755d13bc8ba/las_py-1.1.0.tar.gz" } ] }