primo-optimizer


Nameprimo-optimizer JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryPRIMO - The P&A Project Optimizer
upload_time2024-12-17 15:06:45
maintainerNone
docs_urlNone
authorNone
requires_python<3.12,>=3.9
licenseLicense ======= PRIMO - The P&A Project Optimizer Toolkit Copyright (c) 2023---2026, by the software owners: KeyLogic Systems, LLC. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the U.S. Dept. of Energy, National Energy Technology Laboratory, KeyLogic Systems, LLC, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code ("Enhancements") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to National Energy Technology Laboratory, or directly to KeyLogic Systems, LLC, without imposing a separate written license agreement for such Enhancements, then you hereby grant National Energy Technology Laboratory and KeyLogic Systems, LLC the following license: a non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form.
keywords primo merp nemri methane emissions optimization process modeling operations research well plugging
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!-- ![PRIMO logo](docs/_static/logo-print-hd.jpg) -->
<img src="docs/_static/logo-print-hd.jpg" width="400px" alg="PRIMO logo"></img>

# PRIMO - The P&A Project Optimizer Toolkit

PRIMO - The P&A Project Optimizer Toolkit aims to provide multi-scale, simulation-based, open source
computational tools and models to support the Methane Emissions Reduction Program (MERP) and the National
Emissions Reduction Initiative (NEMRI).

## Project Status
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/primo-optimizer.svg)](https://pypi.org/project/primo-optimizer/)
[![Pypi](https://img.shields.io/pypi/v/primo-optimizer)](https://pypi.org/project/primo-optimizer/)
[![Checks](https://github.com/NEMRI-org/primo-optimizer/actions/workflows/checks.yml/badge.svg)](https://github.com/NEMRI-org/primo-optimizer/actions/workflows/checks.yml)
[![codecov](https://codecov.io/gh/NEMRI-org/primo-optimizer/graph/badge.svg?token=2T6L5J8C3P)](https://codecov.io/gh/NEMRI-org/primo-optimizer)
[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![Documentation Status](https://readthedocs.org/projects/primo/badge/?version=latest)](https://primo.readthedocs.io/en/latest/?badge=latest)
[![Contributors](https://img.shields.io/github/contributors/NEMRI-org/primo-optimizer?style=plastic)](https://github.com/NEMRI-org/primo-optimizer/contributors)
[![Merged PRs](https://img.shields.io/github/issues-pr-closed-raw/NEMRI-org/primo-optimizer.svg?label=merged+PRs)](https://github.com/NEMRI-org/primo-optimizer/pulls?q=is:pr+is:merged)
[![Issue stats](https://isitmaintained.com/badge/resolution/NEMRI-org/primo-optimizer.svg)](https://isitmaintained.com/project/NEMRI-org/primo-optimizer)
[![Downloads](https://static.pepy.tech/badge/primo-optimizer)](https://pepy.tech/project/primo-optimizer)

## Getting Started

Our complete documentation is available on [readthedocs](https://primo.readthedocs.io/en/latest/), but here is a summarized set of steps to get started using the framework.

While not required, we encourage the installation of [Anaconda](https://www.anaconda.com/products/individual#Downloads) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html) and using the `conda` command to create a separate python environment in which to install the PRIMO Toolkit.

Regular users can use conda to create a new "primo" environment.
```bash
conda env create -f conda-env.yml
```

This creates a new conda environment with the name "primo" that comes installed with all required dependencies to solve PRIMO's optimization problems.

Developers can create a new "primo" environment by executing:
```bash
conda env create -f conda-env-dev.yml
```

Activate the new environment with:
```bash
conda activate primo
```

Additionally, developers should complete the installation of the [playwright](https://playwright.dev/python/docs/intro) package which is required
for running tests.
```bash
playwright install
```

To test the installation of the primo package, execute:
```
pytest primo\utils\tests\test_imports.py
```
The above test, if executed successfully, confirms that primo package is now installed and available in the "primo" package that was just created.

To use the utilities implemented in the PRIMO package that query the U.S. Census API and Bing Maps API, appropriate API keys must be obtained
by signing up with the respective services. These keys must be configured in a .env file in the parent directory. For more details, please see:
[API Keys](https://primo.readthedocs.io/en/latest/method/api_keys.html)

Additionally, use of [elevation based utilities](https://primo.readthedocs.io/en/latest/Utilities/elevation_utils.html) requires the user to provide a GeoTIFF file that provides elevation data across the region of interest. Users can download this data from [USGS Science Data Catalog](https://data.usgs.gov/datacatalog/data/USGS:35f9c4d4-b113-4c8d-8691-47c428c29a5b). For more details, please see:
[Elevation Data]((https://primo.readthedocs.io/en/latest/method/elevation.html))

Users can also employ other commercial solvers, for example Gurobi, to solve the optimization problem. 
However, users are responsible for configuring and setting up these solvers themselves.

General, background and overview information is available at the [NEMRI website](https://edx.netl.doe.gov/nemri/).

## Running PRIMO with Binder

You can run PRIMO with [Binder](https://mybinder.org): a public cloud service that provides a temporary and short-lived sandbox environment to run PRIMO without installing any software locally.

### Quickstart

You can launch the Binder environment by clicking on the following badge: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/NEMRI-org/primo-optimizer/main?labpath=primo%2Fdemo%2F)

### Key Notes

* Binder environments are automatically destroyed after a [few minutes of inactivity](https://mybinder.readthedocs.io/en/latest/about/user-guidelines.html#how-long-will-my-binder-session-last). To avoid lost work, please download the notebook file on your local machine periodically.
* The Binder provided environment is **public and insecure**. Please do not use this environment to work with sensitive data.

## Funding acknowledgements

This work was conducted as part of the [National Emissions Reduction Initiative](https://edx.netl.doe.gov/nemri/)
with support through the [Environmental Protection Agency - Methane Emissions Reduction Program](https://www.epa.gov/inflation-reduction-act/methane-emissions-reduction-program)
within the U.S. Department of Energy’s [Office of Fossil Energy and Carbon Management (FECM)](https://www.energy.gov/fecm/office-fossil-energy-and-carbon-management).
As of 2023, additional support was provided by FECM’s [Solid Oxide Fuel Cell Program](https://www.energy.gov/fecm/science-innovation/clean-coal-research/solid-oxide-fuel-cells),
and [Transformative Power Generation Program](https://www.energy.gov/fecm/science-innovation/office-clean-coal-and-carbon-management/advanced-energy-systems/transformative).

## Contributing

**By contributing to this repository, you are agreeing to all the terms set out in the LICENSE.md and COPYRIGHT.md files in this directory.**

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "primo-optimizer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.9",
    "maintainer_email": "PRIMO team <primo@netl.doe.gov>",
    "keywords": "PRIMO, MERP, NEMRI, methane emissions, optimization, process modeling, operations research, well plugging",
    "author": null,
    "author_email": "PRIMO team <primo@netl.doe.gov>",
    "download_url": "https://files.pythonhosted.org/packages/0d/69/ec0922163856e0e7943c47e3aece7ef165d0cbc468c05c78405b9b8afe49/primo_optimizer-0.2.1.tar.gz",
    "platform": "windows",
    "description": "<!-- ![PRIMO logo](docs/_static/logo-print-hd.jpg) -->\n<img src=\"docs/_static/logo-print-hd.jpg\" width=\"400px\" alg=\"PRIMO logo\"></img>\n\n# PRIMO - The P&A Project Optimizer Toolkit\n\nPRIMO - The P&A Project Optimizer Toolkit aims to provide multi-scale, simulation-based, open source\ncomputational tools and models to support the Methane Emissions Reduction Program (MERP) and the National\nEmissions Reduction Initiative (NEMRI).\n\n## Project Status\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/primo-optimizer.svg)](https://pypi.org/project/primo-optimizer/)\n[![Pypi](https://img.shields.io/pypi/v/primo-optimizer)](https://pypi.org/project/primo-optimizer/)\n[![Checks](https://github.com/NEMRI-org/primo-optimizer/actions/workflows/checks.yml/badge.svg)](https://github.com/NEMRI-org/primo-optimizer/actions/workflows/checks.yml)\n[![codecov](https://codecov.io/gh/NEMRI-org/primo-optimizer/graph/badge.svg?token=2T6L5J8C3P)](https://codecov.io/gh/NEMRI-org/primo-optimizer)\n[![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![Documentation Status](https://readthedocs.org/projects/primo/badge/?version=latest)](https://primo.readthedocs.io/en/latest/?badge=latest)\n[![Contributors](https://img.shields.io/github/contributors/NEMRI-org/primo-optimizer?style=plastic)](https://github.com/NEMRI-org/primo-optimizer/contributors)\n[![Merged PRs](https://img.shields.io/github/issues-pr-closed-raw/NEMRI-org/primo-optimizer.svg?label=merged+PRs)](https://github.com/NEMRI-org/primo-optimizer/pulls?q=is:pr+is:merged)\n[![Issue stats](https://isitmaintained.com/badge/resolution/NEMRI-org/primo-optimizer.svg)](https://isitmaintained.com/project/NEMRI-org/primo-optimizer)\n[![Downloads](https://static.pepy.tech/badge/primo-optimizer)](https://pepy.tech/project/primo-optimizer)\n\n## Getting Started\n\nOur complete documentation is available on [readthedocs](https://primo.readthedocs.io/en/latest/), but here is a summarized set of steps to get started using the framework.\n\nWhile not required, we encourage the installation of [Anaconda](https://www.anaconda.com/products/individual#Downloads) or [Miniconda](https://docs.conda.io/en/latest/miniconda.html) and using the `conda` command to create a separate python environment in which to install the PRIMO Toolkit.\n\nRegular users can use conda to create a new \"primo\" environment.\n```bash\nconda env create -f conda-env.yml\n```\n\nThis creates a new conda environment with the name \"primo\" that comes installed with all required dependencies to solve PRIMO's optimization problems.\n\nDevelopers can create a new \"primo\" environment by executing:\n```bash\nconda env create -f conda-env-dev.yml\n```\n\nActivate the new environment with:\n```bash\nconda activate primo\n```\n\nAdditionally, developers should complete the installation of the [playwright](https://playwright.dev/python/docs/intro) package which is required\nfor running tests.\n```bash\nplaywright install\n```\n\nTo test the installation of the primo package, execute:\n```\npytest primo\\utils\\tests\\test_imports.py\n```\nThe above test, if executed successfully, confirms that primo package is now installed and available in the \"primo\" package that was just created.\n\nTo use the utilities implemented in the PRIMO package that query the U.S. Census API and Bing Maps API, appropriate API keys must be obtained\nby signing up with the respective services. These keys must be configured in a .env file in the parent directory. For more details, please see:\n[API Keys](https://primo.readthedocs.io/en/latest/method/api_keys.html)\n\nAdditionally, use of [elevation based utilities](https://primo.readthedocs.io/en/latest/Utilities/elevation_utils.html) requires the user to provide a GeoTIFF file that provides elevation data across the region of interest. Users can download this data from [USGS Science Data Catalog](https://data.usgs.gov/datacatalog/data/USGS:35f9c4d4-b113-4c8d-8691-47c428c29a5b). For more details, please see:\n[Elevation Data]((https://primo.readthedocs.io/en/latest/method/elevation.html))\n\nUsers can also employ other commercial solvers, for example Gurobi, to solve the optimization problem. \nHowever, users are responsible for configuring and setting up these solvers themselves.\n\nGeneral, background and overview information is available at the [NEMRI website](https://edx.netl.doe.gov/nemri/).\n\n## Running PRIMO with Binder\n\nYou can run PRIMO with [Binder](https://mybinder.org): a public cloud service that provides a temporary and short-lived sandbox environment to run PRIMO without installing any software locally.\n\n### Quickstart\n\nYou can launch the Binder environment by clicking on the following badge: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/NEMRI-org/primo-optimizer/main?labpath=primo%2Fdemo%2F)\n\n### Key Notes\n\n* Binder environments are automatically destroyed after a [few minutes of inactivity](https://mybinder.readthedocs.io/en/latest/about/user-guidelines.html#how-long-will-my-binder-session-last). To avoid lost work, please download the notebook file on your local machine periodically.\n* The Binder provided environment is **public and insecure**. Please do not use this environment to work with sensitive data.\n\n## Funding acknowledgements\n\nThis work was conducted as part of the [National Emissions Reduction Initiative](https://edx.netl.doe.gov/nemri/)\nwith support through the [Environmental Protection Agency - Methane Emissions Reduction Program](https://www.epa.gov/inflation-reduction-act/methane-emissions-reduction-program)\nwithin the U.S. Department of Energy\u2019s [Office of Fossil Energy and Carbon Management (FECM)](https://www.energy.gov/fecm/office-fossil-energy-and-carbon-management).\nAs of 2023, additional support was provided by FECM\u2019s [Solid Oxide Fuel Cell Program](https://www.energy.gov/fecm/science-innovation/clean-coal-research/solid-oxide-fuel-cells),\nand [Transformative Power Generation Program](https://www.energy.gov/fecm/science-innovation/office-clean-coal-and-carbon-management/advanced-energy-systems/transformative).\n\n## Contributing\n\n**By contributing to this repository, you are agreeing to all the terms set out in the LICENSE.md and COPYRIGHT.md files in this directory.**\n",
    "bugtrack_url": null,
    "license": "License =======  PRIMO - The P&A Project Optimizer Toolkit Copyright (c) 2023---2026, by the software owners:  KeyLogic Systems, LLC. All rights reserved.  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.  3. Neither the name of the U.S. Dept. of Energy, National Energy Technology Laboratory, KeyLogic Systems, LLC, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  You are under no obligation whatsoever to provide any bug fixes, patches, or upgrades to the features, functionality or performance of the source code (\"Enhancements\") to anyone; however, if you choose to make your Enhancements available either publicly, or directly to National Energy Technology Laboratory, or directly to  KeyLogic Systems, LLC, without imposing a separate written license agreement for such Enhancements, then you hereby grant National Energy Technology Laboratory and  KeyLogic Systems, LLC the following license: a  non-exclusive, royalty-free perpetual license to install, use, modify, prepare derivative works, incorporate into other computer software, distribute, and sublicense such enhancements or derivative works thereof, in binary and source code form. ",
    "summary": "PRIMO - The P&A Project Optimizer",
    "version": "0.2.1",
    "project_urls": {
        "Documentation": "https://primo.readthedocs.io/en/latest/",
        "Download": "https://github.com/NEMRI-org/primo-optimizer/releases",
        "Homepage": "https://edx.netl.doe.gov/nemri/",
        "Source": "https://github.com/NEMRI-org/primo-optimizer",
        "Tracker": "https://github.com/NEMRI-org/primo-optimizer/issues"
    },
    "split_keywords": [
        "primo",
        " merp",
        " nemri",
        " methane emissions",
        " optimization",
        " process modeling",
        " operations research",
        " well plugging"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2e81934fa11d8461e71186599bd39acbe8981d7e15095b966f201cf1d8a639a6",
                "md5": "a18964aa0ec097c97a6e2fa01ae0efa5",
                "sha256": "13157768a72174790ac7197ec47ca419c3e0011e073559d7c377d4b0f35dbad8"
            },
            "downloads": -1,
            "filename": "primo_optimizer-0.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a18964aa0ec097c97a6e2fa01ae0efa5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<3.12,>=3.9",
            "size": 171563,
            "upload_time": "2024-12-17T15:06:42",
            "upload_time_iso_8601": "2024-12-17T15:06:42.986170Z",
            "url": "https://files.pythonhosted.org/packages/2e/81/934fa11d8461e71186599bd39acbe8981d7e15095b966f201cf1d8a639a6/primo_optimizer-0.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "0d69ec0922163856e0e7943c47e3aece7ef165d0cbc468c05c78405b9b8afe49",
                "md5": "2e8d410faea5a602066afc6677d91d79",
                "sha256": "7470da6b1658688d0a9126369506464975436d729027eebb71d31e37d1422841"
            },
            "downloads": -1,
            "filename": "primo_optimizer-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2e8d410faea5a602066afc6677d91d79",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.9",
            "size": 133233,
            "upload_time": "2024-12-17T15:06:45",
            "upload_time_iso_8601": "2024-12-17T15:06:45.641603Z",
            "url": "https://files.pythonhosted.org/packages/0d/69/ec0922163856e0e7943c47e3aece7ef165d0cbc468c05c78405b9b8afe49/primo_optimizer-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-12-17 15:06:45",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NEMRI-org",
    "github_project": "primo-optimizer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "primo-optimizer"
}
        
Elapsed time: 1.61160s