{ "info": { "author": "Todd Heitmann", "author_email": "toddheitmann@protonmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Customer Service", "Intended Audience :: Developers", "Intended Audience :: Education", "Intended Audience :: End Users/Desktop", "Intended Audience :: Other Audience", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: System :: Filesystems" ], "description": ".. image:: https://toddheitmann.github.io/PetroPy/_images/petropy_logo.png\n\nPetroPy\n=======\n\nA python petrophysics package allowing scientific python computing\nof conventional and unconventional formation evaluation. Reads las\nfiles using `lasio `__. Includes\na petrophysical workflow and a log viewer based on XML templates.\n\n.. image:: https://toddheitmann.github.io/PetroPy/_images/university_6-18W_no1.png\n\nRequirements\n------------\n\n- `cchardet `__\n- `numpy `__\n- `scipy `__\n- `pandas `__\n- `matplotlib `__\n- `scikit-learn `__\n\nInstallation\n------------\n\nInstall PetroPy through pip via the command line\n\n.. code-block:: bash\n\n pip install petropy\n\nTo read in an las file, pass the file reference:\n\n.. code-block:: python\n\n import petropy as ptr\n file_path = r'path/to/well.las'\n log = ptr.Log(file_path)\n\nDocumentation\n-------------\n\nView the `online documentation`_ for classes and methods.\n\n.. _online documentation: https://toddheitmann.github.io/PetroPy/\n\nLas File Processing\n-------------------\n\nTo understanding using petropy in a petrophysical workflow for las file\nprocessing, see the `example page`_.\n\n.. _example page: https://toddheitmann.github.io/PetroPy/auto_examples/\n\nPetrophysical Model Quick Look\n------------------------------\n\n.. code-block:: python\n\n >>> # import petropy and print raw curves\n >>> import petropy as ptr\n >>> log = ptr.log_data('WFMP')\n >>> print(log.curves)\n\n.. code-block:: bash\n\n Mnemonic Unit Value Description\n -------- ---- ----- -----------\n DEPT F 00 000 00 00 1 Depth Curve\n CALI INCH 99 075 22 05 2 CALIPER\n DPHI DECP 99 075 22 05 3 DENSITY POROSITY -LIME-\n GR GAPI 99 075 22 05 4 GAMMA RAY\n NPHI DECP 99 075 22 05 5 NEUTRON POROSITY -LIME-\n PE B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR\n RHOB G/C3 99 075 22 05 7 BULK DENSITY\n PHIX DECP 99 075 22 05 8 CROSSPLOT POROSITY\n C13 INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT-\n C24 INCH 99 075 22 05 10 CALIPER PADS 2 - 4 -FACT-\n DT US/F 99 075 22 05 11 SONIC TRANSIT TIME\n SPHI DECP 99 075 22 05 12 SONIC POROSITY -LIME-\n GR3 99 075 22 05 13 GAMMA RAY\n ILD OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY\n ILM OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY\n SGRD OHMM 99 075 22 05 16 SHORT GUARD RESISTIVITY\n SP MV 99 075 22 05 17 SPONTANEOUS POTENTIAL\n CAL_N INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT-\n GR_N GAPI 99 075 22 05 4 GAMMA RAY\n RESMED_N OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY\n RESDEEP_N OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY\n NPHI_N DECP 99 075 22 05 5 NEUTRON POROSITY -LIME-\n DPHI_N DECP 99 075 22 05 3 DENSITY POROSITY -LIME-\n SPHI_N DECP 99 075 22 05 12 SONIC POROSITY -LIME-\n PE_N B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR\n RHOB_N G/C3 99 075 22 05 7 BULK DENSITY\n DTC_N US/F 99 075 22 05 11 SONIC TRANSIT TIME\n SP_N MV 99 075 22 05 17 SPONTANEOUS POTENTIAL\n\n.. code-block:: python\n\n >>> # read tops into Log object and print\n >>> log.tops_from_csv()\n >>> print(log.tops)\n\n.. code-block:: bash\n\n {'WFMPA': 6993.5, 'WFMPB': 7294.0, 'WFMPC': 7690.5, 'WFMPD': 8028.0}\n\n.. code-block:: python\n\n >>> # load default parameters and print values\n >>> log.fluid_properties_parameters_from_csv()\n >>> print(log.fluid_properties_parameters.keys())\n\n.. code-block:: bash\n\n dict_keys(['default', 'WFMP'])\n\n.. code-block:: python\n\n >>> # specificy formation intervals\n >>> f = ['WFMPA', 'WFMPB', 'WFMPC']\n >>> # calculate fluid properties for defined formations\n >>> log.formation_fluid_properties(f, parameter = 'WFMP')\n >>> # print curves for description of calculated curves\n >>> print(log.curves)\n\n.. code-block:: bash\n\n Mnemonic Unit Value Description\n -------- ---- ----- -----------\n DEPT F 00 000 00 00 1 Depth Curve\n CALI INCH 99 075 22 05 2 CALIPER\n DPHI DECP 99 075 22 05 3 DENSITY POROSITY -LIME-\n GR GAPI 99 075 22 05 4 GAMMA RAY\n NPHI DECP 99 075 22 05 5 NEUTRON POROSITY -LIME-\n PE B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR\n RHOB G/C3 99 075 22 05 7 BULK DENSITY\n PHIX DECP 99 075 22 05 8 CROSSPLOT POROSITY\n C13 INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT-\n C24 INCH 99 075 22 05 10 CALIPER PADS 2 - 4 -FACT-\n DT US/F 99 075 22 05 11 SONIC TRANSIT TIME\n SPHI DECP 99 075 22 05 12 SONIC POROSITY -LIME-\n GR3 99 075 22 05 13 GAMMA RAY\n ILD OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY\n ILM OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY\n SGRD OHMM 99 075 22 05 16 SHORT GUARD RESISTIVITY\n SP MV 99 075 22 05 17 SPONTANEOUS POTENTIAL\n CAL_N INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT-\n GR_N GAPI 99 075 22 05 4 GAMMA RAY\n RESMED_N OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY\n RESDEEP_N OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY\n NPHI_N DECP 99 075 22 05 5 NEUTRON POROSITY -LIME-\n DPHI_N DECP 99 075 22 05 3 DENSITY POROSITY -LIME-\n SPHI_N DECP 99 075 22 05 12 SONIC POROSITY -LIME-\n PE_N B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR\n RHOB_N G/C3 99 075 22 05 7 BULK DENSITY\n DTC_N US/F 99 075 22 05 11 SONIC TRANSIT TIME\n SP_N MV 99 075 22 05 17 SPONTANEOUS POTENTIAL\n PORE_PRESS psi Calculated Pore Pressure\n RES_TEMP F Calculated Reservoir Temperature\n NES psi Calculated Net Effective Stress\n RW ohmm Calculated Resistivity Water\n RMF ohmm Calculated Resistivity Mud Filtrate\n RHO_HC g/cc Calculated Density of Hydrocarbon\n RHO_W g/cc Calculated Density of Water\n RHO_MF g/cc Calculated Density of Mud Filtrate\n NPHI_HC v/v Calculated Neutron Log Response of Hydrocarbon\n NPHI_W v/v Calculated Neutron Log Response of Water\n NPHI_MF v/v Calculated Neutron Log Response of Mud Filtrate\n MU_HC cP Calculated Viscosity of Hydrocarbon\n BO Calculated Oil Formation Volume Factor\n BP psi Calcualted Bubble Point\n\n.. code-block:: python\n\n >>> # load default multimineral parameters\n >>> log.multimineral_parameters_from_csv()\n >>> # print available default formation parameters\n >>> print(log.multimineral_parameters.keys())\n\n.. code-block:: bash\n\n dict_keys(['default', 'WFMP'])\n\n.. code-block:: python\n\n >>> # calculate mulitmineral model over defined formations\n >>> # with parameter 'WFMP'\n >>> log.formation_multimineral_model(f, parameter = 'WFMP')\n >>> log.write('processed_log.las')\n >>> # print curves for description of calculated curves\n >>> print(log.curves)\n\n.. code-block:: bash\n\n Mnemonic Unit Value Description\n -------- ---- ----- -----------\n DEPT F 00 000 00 00 1 Depth Curve\n CALI INCH 99 075 22 05 2 CALIPER\n DPHI DECP 99 075 22 05 3 DENSITY POROSITY -LIME-\n GR GAPI 99 075 22 05 4 GAMMA RAY\n NPHI DECP 99 075 22 05 5 NEUTRON POROSITY -LIME-\n PE B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR\n RHOB G/C3 99 075 22 05 7 BULK DENSITY\n PHIX DECP 99 075 22 05 8 CROSSPLOT POROSITY\n C13 INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT-\n C24 INCH 99 075 22 05 10 CALIPER PADS 2 - 4 -FACT-\n DT US/F 99 075 22 05 11 SONIC TRANSIT TIME\n SPHI DECP 99 075 22 05 12 SONIC POROSITY -LIME-\n GR3 99 075 22 05 13 GAMMA RAY\n ILD OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY\n ILM OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY\n SGRD OHMM 99 075 22 05 16 SHORT GUARD RESISTIVITY\n SP MV 99 075 22 05 17 SPONTANEOUS POTENTIAL\n CAL_N INCH 99 075 22 05 9 CALIPER PADS 1 - 3 -FACT-\n GR_N GAPI 99 075 22 05 4 GAMMA RAY\n RESMED_N OHMM 99 075 22 05 15 IL, MEDIUM RESISTIVITY\n RESDEEP_N OHMM 99 075 22 05 14 IL, DEEP RESISTIVITY\n NPHI_N DECP 99 075 22 05 5 NEUTRON POROSITY -LIME-\n DPHI_N DECP 99 075 22 05 3 DENSITY POROSITY -LIME-\n SPHI_N DECP 99 075 22 05 12 SONIC POROSITY -LIME-\n PE_N B/E 99 075 22 05 6 PHOTO-ELECTRIC FACTOR\n RHOB_N G/C3 99 075 22 05 7 BULK DENSITY\n DTC_N US/F 99 075 22 05 11 SONIC TRANSIT TIME\n SP_N MV 99 075 22 05 17 SPONTANEOUS POTENTIAL\n PORE_PRESS psi Calculated Pore Pressure\n RES_TEMP F Calculated Reservoir Temperature\n NES psi Calculated Net Effective Stress\n RW ohmm Calculated Resistivity Water\n RMF ohmm Calculated Resistivity Mud Filtrate\n RHO_HC g/cc Calculated Density of Hydrocarbon\n RHO_W g/cc Calculated Density of Water\n RHO_MF g/cc Calculated Density of Mud Filtrate\n NPHI_HC v/v Calculated Neutron Log Response of Hydrocarbon\n NPHI_W v/v Calculated Neutron Log Response of Water\n NPHI_MF v/v Calculated Neutron Log Response of Mud Filtrate\n MU_HC cP Calculated Viscosity of Hydrocarbon\n BO Calculated Oil Formation Volume Factor\n BP psi Calcualted Bubble Point\n PHIE v/v Effective Porosity\n SW v/v Water Saturation\n SHC v/v Hydrocarbon Saturation\n BVH v/v Bulk Volume Hydrocarbon\n BVW v/v Bulk Volume Water\n BVWI v/v Bulk Volume Water Irreducible\n BVWF v/v Bulk Volume Water Free\n BVOM v/v Bulk Volume Fraction Organic Matter\n BVCLAY v/v Bulk Volume Fraction Clay\n BVPYR v/v Bulk Volume Fraction Pyrite\n VOM v/v Matrix Volume Fraction Organic Matter\n VCLAY v/v Matrix Volume Fraction Clay\n VPYR v/v Matrix Volume Fraction Pyrite\n RHOM g/cc Matrix Density\n TOC wt/wt Matrix Weight Fraction Organic Matter\n WTCLAY wt/wt Matrix Weight Fraction Clay\n WTPYR wt/wt Matrix Weight Fraction Pyrite\n BVQTZ v/v Bulk Volume Fraction Quartz\n VQTZ v/v Matrix Volume Fraction Quartz\n WTQTZ wt/wt Matrix Weight Fraction Quartz\n BVCLC v/v Bulk Volume Fraction Calcite\n VCLC v/v Matrix Volume Fraction Calcite\n WTCLC wt/wt Matrix Weight Fraction Calcite\n BVDOL v/v Bulk Volume Fraction Dolomite\n VDOL v/v Matrix Volume Fraction Dolomite\n WTDOL wt/wt Matrix Weight Fraction Dolomite\n OIP wt/wt Matrix Weight Fraction Dolomite\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/toddheitmann/petropy", "keywords": "petrophysics,formation evaluation,reservoir characterization,Oil and Gas", "license": "", "maintainer": "", "maintainer_email": "", "name": "petropy", "package_url": "https://pypi.org/project/petropy/", "platform": "", "project_url": "https://pypi.org/project/petropy/", "project_urls": { "Homepage": "https://github.com/toddheitmann/petropy" }, "release_url": "https://pypi.org/project/petropy/0.1.6/", "requires_dist": [ "cchardet", "lasio", "matplotlib", "numpy", "pandas", "scikit-learn", "scipy" ], "requires_python": "", "summary": "A package to calculate petrophysical properties for formation evaluation.", "version": "0.1.6" }, "last_serial": 3584850, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "fe46690a4d4b85a878ddd381f10695ed", "sha256": "058c09313c6a05286514583f15c5371d82537d34ab675ee658c2ab52a6e7f041" }, "downloads": -1, "filename": "petropy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "fe46690a4d4b85a878ddd381f10695ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 610176, "upload_time": "2017-10-04T11:24:26", "url": "https://files.pythonhosted.org/packages/dc/46/438f6e0566cb961509f1f259807ed609761c29df9c8e3dcc56b98e2eebef/petropy-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9da6da58f6b8f19673104e4eee0f30fd", "sha256": "e230b81c81bb308db63095e55ddb24414ad4ace914702662342aa3340ce49b71" }, "downloads": -1, "filename": "petropy-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9da6da58f6b8f19673104e4eee0f30fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40313, "upload_time": "2017-10-04T13:32:56", "url": "https://files.pythonhosted.org/packages/ee/2e/24390ee806673bbf5bcfdbafaa0bb463593a25ca610ff7f7437414345f87/petropy-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "744e010356ed474e4922e8b51c0bca0a", "sha256": "0d1ae9c14495597bb7329e2c864b98a4a8ecf00f29f61bf1f8460d45598a8659" }, "downloads": -1, "filename": "petropy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "744e010356ed474e4922e8b51c0bca0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 610927, "upload_time": "2017-10-04T11:47:50", "url": "https://files.pythonhosted.org/packages/60/79/81e7988fc6a2bb67c99b341ab77e7471d5988a930b470f92a88954a09f65/petropy-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ec80a1d74dc34f7793553bd9068fa646", "sha256": "287feedd15a81847f22300651302f9319d5b0871297cf336f2cda8c22084df14" }, "downloads": -1, "filename": "petropy-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ec80a1d74dc34f7793553bd9068fa646", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 40332, "upload_time": "2017-10-04T13:51:18", "url": "https://files.pythonhosted.org/packages/c0/66/96567cb0aa3da831c3b120c6a7fc23953189e629a83380961a6a324772d5/petropy-0.1.2-py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "ec979ca2909a683be9d20b291b7ea8a2", "sha256": "c5bfdf2069ab9f8447cee33b56a6aa1a4795fba006980374508b26fe32048600" }, "downloads": -1, "filename": "petropy-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ec979ca2909a683be9d20b291b7ea8a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 637974, "upload_time": "2017-10-04T19:35:12", "url": "https://files.pythonhosted.org/packages/1f/61/2da0110265336a834b8db5568f3270211fd42cdacf9821f7c3c6e3f7b4c1/petropy-0.1.3-py3-none-any.whl" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "2adf69560d27444a5b1a7ca223104bf1", "sha256": "22d7a5822cbb13a577040b183b8fe6ab56928b8178fd608cb24fc29aec593a66" }, "downloads": -1, "filename": "petropy-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "2adf69560d27444a5b1a7ca223104bf1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 637950, "upload_time": "2017-10-04T20:04:49", "url": "https://files.pythonhosted.org/packages/2a/50/d69212d51e1864d2f19289f265a229ddae3a57a292024aee0c6c3a95389d/petropy-0.1.4-py3-none-any.whl" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "ae08a114503ed1f1effa976a6ad6a2d9", "sha256": "f717e69a7e4c4e4802c45e4c0fc88b33e3170d9a471da36ea95e3e1d11f1f6b6" }, "downloads": -1, "filename": "petropy-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "ae08a114503ed1f1effa976a6ad6a2d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 643891, "upload_time": "2017-10-24T17:30:46", "url": "https://files.pythonhosted.org/packages/02/f7/82e7e4a009f48dfa33b14b34bd6f513f9c563880830111fa235adab08482/petropy-0.1.5-py3-none-any.whl" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "c29933e9c6fa428f1cdd0b6c5f92ae3e", "sha256": "52f9d8e7db98348c8eb4f273df60376148c6b8067df35f2b5d99c85f75b6736d" }, "downloads": -1, "filename": "petropy-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c29933e9c6fa428f1cdd0b6c5f92ae3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 643971, "upload_time": "2018-02-15T16:16:27", "url": "https://files.pythonhosted.org/packages/ef/c6/e794302727f84f48d86623ecde4fb599ba4db1588b6d8a3142aa62b8779f/petropy-0.1.6-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c29933e9c6fa428f1cdd0b6c5f92ae3e", "sha256": "52f9d8e7db98348c8eb4f273df60376148c6b8067df35f2b5d99c85f75b6736d" }, "downloads": -1, "filename": "petropy-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c29933e9c6fa428f1cdd0b6c5f92ae3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 643971, "upload_time": "2018-02-15T16:16:27", "url": "https://files.pythonhosted.org/packages/ef/c6/e794302727f84f48d86623ecde4fb599ba4db1588b6d8a3142aa62b8779f/petropy-0.1.6-py3-none-any.whl" } ] }