{ "info": { "author": "P. James Joyce", "author_email": "pjamesjoyce@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Mathematics", "Topic :: Scientific/Engineering :: Visualization" ], "description": "# lcopt\nAn interactive tool for creating fully parameterised Life Cycle Assessment (LCA) foreground models\n\n[![Build Status](https://travis-ci.org/pjamesjoyce/lcopt.svg?branch=master)](https://travis-ci.org/pjamesjoyce/lcopt)\n\n[![Coverage Status](https://coveralls.io/repos/github/pjamesjoyce/lcopt/badge.svg?branch=master)](https://coveralls.io/github/pjamesjoyce/lcopt?branch=master)\n\nLcopt is a python module for creating fully parameterised LCA foreground models using a Flask based interactive GUI developed by [James Joyce](https://pjamesjoyce.github.io/)\nIt integrates with SimaPro and BrightWay2\n\nOnline documentation, including full installation instructions, is available [here](http://lcopt.readthedocs.io)\n\n## Installation\n\n### Basic Installation\n\nFor lcopt to work you should have the latest version of [brightway2](https://brightwaylca.org/) by Chris Mutel installed.\nThis will make sure most of lcopts dependencies are satisfied.\n\nThe instructions for installing brightway below are current as of April 2017, but check [here](https://docs.brightwaylca.org/installation.html) for the latest ones.\n\nOn the command line/console, create a new environment called lcopt:\n\n```\nconda create -n lcopt python=3.6\n```\n\n\nThen activate the lcopt environment using one of these:\n```\n# Mac/Linux\nsource activate lcopt\n# Windows\nactivate lcopt\n```\n\nThen install brightway2:\n```\nconda install -y -q -c conda-forge -c cmutel -c haasad brightway2 jupyter\n```\n\nOn windows there's an extra dependency:\n```\nconda install -y -q pywin32\n```\n\nOnce brightway2 is ready to go, theres two more steps before installing lcopt itself...\n\nInstall pandas:\n```\nconda install -y -q pandas\n```\n\nUpdate werkzeug (this is a python 3.6 thing...):\n```\npip install -U werkzeug\n```\n\nFinally, install lcopt via pip::\n```\npip install lcopt\n```\n\n### Linking lcopt to brightway\n\nTo analyse any of the models you create in lcopt in brightway, there's an extra installation step to set up the default project and databases.\n\nFull details of this step are in the [documentation](https://lcopt.readthedocs.io/en/latest/1_installation.html#setting-up-brightway2-for-lcopt)\n\nLcopt can create models using external LCI data from the [ecoinvent 3.3 cutoff database](http://www.ecoinvent.org/database/ecoinvent-33/ecoinvent-33.html) (ecoinvent license required) or the [FORWAST database](http://forwast.brgm.fr/)\n\nBriefly, to set up lcopt to use ecoinvent 3.3:\n\nLog into [ecoinvent.org](http://www.ecoinvent.org/login-databases.html) and go to the Files tab\n\nDownload the file called `ecoinvent 3.3_cutoff_ecoSpold02.7z`\n\nExtract the file somewhere sensible on your machine, you might need to download [7-zip](http://www.7-zip.org/download.html) to extract the files.\n\nMake a note of the folder path that contains the .ecospold files, its probably `/datasets/`\n\nOpen a python console or jupyter notebook and use the setup utility function below:\n\n```python\nfrom lcopt.utils import lcopt_bw2_setup\necospold_path = r'path/to/ecospold/files' # put your own path in here\nlcopt_bw2_setup(ecospold_path)\n```\n\nTo set up lcopt to use FORWAST there's no download step (the utility function downloads the latest version of the database). Simply use:\n\n```python\nfrom lcopt.utils import lcopt_bw2_forwast_setup\nlcopt_bw2_forwast_setup()\n```\n\n## Example Usage\n\nBelow are the basic commands to get lcopt's interactive GUI up and running to create your first model. More detailed instructions are available in the [online documentation](https://lcopt.readthedocs.io/en/latest/2_use.html), including a [video runthrough](https://lcopt.readthedocs.io/en/latest/3_video_runthrough.html) of creating a simple model using the ecoinvent 3.3 database.\n\nLcopt saves models in your current working directory, so before launching it, `cd` to the folder you want to save your models in.\n\nLcopt is written in Python, so to use it open up a jupyter notebook or python shell and use the following commands\n\n### Importing Lcopt\n\nTo import lcopt use \n\n```python\nfrom lcopt import *\n```\n\n### Creating a new model\n\nTo create a model, you need to create an instance of the LcoptModel class using the model name as the first argument:\n\n```python\nmodel = LcoptModel('My First Model')\n```\n\nBy default the model will be populated in the background with the details to link to the ecoinvent 3.3 datasets. If you want your model to use FORWAST instead use:\n\n```python\nmodel = LcoptModel('My First FORWAST Model', useForwast=True)\n```\n\n### Loading an existing model\n\nTo load a model, make sure the file (*.lcopt) is in your working directory and use the model name (with or without the .lcopt extension) in this command:\n\n```python\nmodel = LcoptModel(load='My First Model')\n```\n\nNote : If you accidentally forget to use `load=` and you see a blank model don't panic. Lcopt won't overwrite your saved model unless you tell it to. Simply don't save the model and re-run the command with `load=`\n\n### Launching the GUI\n\nTo launch the GUI for your model simply call the `launch_interact` method of your newly created model instance:\n\n```python\nmodel.launch_interact()\n```\n\nThis will start a Flask server and launch your web browser to access the GUI. If it doesn't or you accidentally close the GUI tab, simply go to [http://127.0.0.1:5000/](http://127.0.0.1:5000/).\n\nInformation on how to use the GUI is located in 'More info...' panels dotted around at sensible locations within it.\n\nFor more details on using it, see the [documentation](https://lcopt.readthedocs.io/en/latest/2_use.html) or the [video](https://lcopt.readthedocs.io/en/latest/3_video_runthrough.html)\n\n## Contribute\n\nIf you have any problems, questions, comments, feature requests etc. please [raise an issue here on github](https://github.com/pjamesjoyce/lcopt/issues)\n\nIf you want to contribute to Lcopt, you're more than welcome! Please fork the [github repository](https://github.com/pjamesjoyce/lcopt/) and open a pull request. \n\nLcopt uses [py.test](https://docs.pytest.org/en/latest/index.html>) and Travis for automated testing, so please accompany any new features with corresponding tests. See the `tests` folder in the [source code](https://github.com/pjamesjoyce/lcopt/tree/master/tests) for examples. ", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/pjamesjoyce/lcopt/archive/0.4.2.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/pjamesjoyce/lcopt/", "keywords": "LCA", "license": "Copyright 2017 P. James Joyce\n\nRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\n2. 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.\n\n3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.\n\nTHIS 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.", "maintainer": "", "maintainer_email": "", "name": "lcopt", "package_url": "https://pypi.org/project/lcopt/", "platform": "", "project_url": "https://pypi.org/project/lcopt/", "project_urls": { "Download": "https://github.com/pjamesjoyce/lcopt/archive/0.4.2.tar.gz", "Homepage": "https://github.com/pjamesjoyce/lcopt/" }, "release_url": "https://pypi.org/project/lcopt/0.4.2/", "requires_dist": null, "requires_python": "", "summary": "An interactive tool for creating fully parameterised Life Cycle Assessment (LCA) foreground models", "version": "0.4.2" }, "last_serial": 3114138, "releases": { "0.2.0": [], "0.2.1": [ { "comment_text": "", "digests": { "md5": "92b0ffdb6c2b3596577e350e34b6e0e1", "sha256": "1a420310c2e3217aa645cb65a5d7651629c4fb2517331822716f8e5f9465fc94" }, "downloads": -1, "filename": "lcopt-0.2.1.tar.gz", "has_sig": false, "md5_digest": "92b0ffdb6c2b3596577e350e34b6e0e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4006042, "upload_time": "2017-04-23T12:29:10", "url": "https://files.pythonhosted.org/packages/93/80/481a15055e16dc49ce273252a2fd47f0804d82fe78823bc36b3cec337a70/lcopt-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "ca80b9f7cc5dcca708072a951746196e", "sha256": "11695cbaf6df889c535144cb5788b24ee9eb21d833d864c5973b7c2dd3033d80" }, "downloads": -1, "filename": "lcopt-0.2.2.tar.gz", "has_sig": false, "md5_digest": "ca80b9f7cc5dcca708072a951746196e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2552616, "upload_time": "2017-04-27T17:34:46", "url": "https://files.pythonhosted.org/packages/a2/f2/3da3aa4b1dd7112aa56ccd12c49eecf661610974995b93207b0574f8fcaa/lcopt-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "72208bccbba32c5b9499d799d3ad64f0", "sha256": "136278ba340f1cd8a1bd172071efe07187035ad9e307d871b4c5c2806f36846d" }, "downloads": -1, "filename": "lcopt-0.3.0.tar.gz", "has_sig": false, "md5_digest": "72208bccbba32c5b9499d799d3ad64f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2551394, "upload_time": "2017-05-24T16:52:08", "url": "https://files.pythonhosted.org/packages/e3/48/67ab09f3dbbf4d8195cb8d1d2877573f57bbb53c235037285ba37ca1f28e/lcopt-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "5800946407ed3cf0c3557236674ea63b", "sha256": "06f61336d67ca425bdc42634009158f5cb8a2a2b70437e0079f86c4a89691985" }, "downloads": -1, "filename": "lcopt-0.3.1.tar.gz", "has_sig": false, "md5_digest": "5800946407ed3cf0c3557236674ea63b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2554146, "upload_time": "2017-05-26T15:28:20", "url": "https://files.pythonhosted.org/packages/48/be/50cdc12c776f540cb2f5d1e180ff593e68ccfb834ebca8e1316724a061eb/lcopt-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "790f808c0f6bb79123c4095e7173e932", "sha256": "a7ed642db99b4480b99502a9bd0e06ad57d115284f5a0f7bccc534e99ae80155" }, "downloads": -1, "filename": "lcopt-0.4.0.tar.gz", "has_sig": false, "md5_digest": "790f808c0f6bb79123c4095e7173e932", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2576177, "upload_time": "2017-07-24T17:32:23", "url": "https://files.pythonhosted.org/packages/03/b2/64a2c5248c0c9a1f64108a5d956ab29e191ebbe033ae0dda180e78b55005/lcopt-0.4.0.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "8655e7ab8b0b8a7ee627f555a90c3172", "sha256": "1b54a9f03500bf5ec4ec3605035bca9e23f8810edaeb563612b371eea704cfb4" }, "downloads": -1, "filename": "lcopt-0.4.2.tar.gz", "has_sig": false, "md5_digest": "8655e7ab8b0b8a7ee627f555a90c3172", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4802187, "upload_time": "2017-08-22T09:04:40", "url": "https://files.pythonhosted.org/packages/a2/07/778253f0d506a79d686b0454cdc410ebf4375830396d5d2f9dcde39d3dff/lcopt-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8655e7ab8b0b8a7ee627f555a90c3172", "sha256": "1b54a9f03500bf5ec4ec3605035bca9e23f8810edaeb563612b371eea704cfb4" }, "downloads": -1, "filename": "lcopt-0.4.2.tar.gz", "has_sig": false, "md5_digest": "8655e7ab8b0b8a7ee627f555a90c3172", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4802187, "upload_time": "2017-08-22T09:04:40", "url": "https://files.pythonhosted.org/packages/a2/07/778253f0d506a79d686b0454cdc410ebf4375830396d5d2f9dcde39d3dff/lcopt-0.4.2.tar.gz" } ] }