Open Sustainable Technology

A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Browse accepted projects | Review proposed projects | Propose new project | Open Issues

Activity Browser

An open source and free software for Life Cycle Assessment extending the brightway2 framework.
https://github.com/LCA-ActivityBrowser/activity-browser

brightway2 d3 lca pyqt5 python

Last synced: about 7 hours ago
JSON representation

Repository metadata

GUI for brightway2

README

        

[![conda-forge version](https://img.shields.io/conda/vn/conda-forge/activity-browser.svg)](https://anaconda.org/conda-forge/activity-browser)
[![Downloads](https://anaconda.org/conda-forge/activity-browser/badges/downloads.svg)](https://anaconda.org/conda-forge/activity-browser)
![linux](https://raw.githubusercontent.com/vorillaz/devicons/master/!PNG/linux.png)
![apple](https://raw.githubusercontent.com/vorillaz/devicons/master/!PNG/apple.png)
![windows](https://raw.githubusercontent.com/vorillaz/devicons/master/!PNG/windows.png)
[![Pull request tests](https://github.com/LCA-ActivityBrowser/activity-browser/actions/workflows/main.yaml/badge.svg)](https://github.com/LCA-ActivityBrowser/activity-browser/actions/workflows/main.yaml)
[![Coverage Status](https://coveralls.io/repos/github/LCA-ActivityBrowser/activity-browser/badge.svg?branch=master)](https://coveralls.io/github/LCA-ActivityBrowser/activity-browser?branch=master)

# Activity Browser

The **Activity Browser (AB) is an open source software for Life Cycle Assessment (LCA)** that builds on [Brightway2](https://brightway.dev).

[Video tutorials](https://www.youtube.com/channel/UCsyySKrzEMsRFsWW1Oz-6aA/) are available on youtube.

Please also read and cite our [scientific paper](https://doi.org/10.1016/j.simpa.2019.100012).

### Some highlights

- **Fast LCA calculations**: for multiple reference flows, impact categories, and scenarios
- **A productivity tool for brightway**: model in brightway (python) and see the results in the AB or vice-versa
- **Advanced modeling:** Use parameters, scenarios (including prospective LCI databases from [premise](https://premise.readthedocs.io/en/latest/)), uncertainties and our Graph Explorer
- **Advanced analyses:** Contribution analyses, Sankey Diagrams, Monte Carlo, and Global Sensitivity Analysis

# Contents
- [Installation](#installation)
- [Updating the AB](#updating-the-ab)
- [Getting started](#getting-started)
- [Running the AB](#running-the-ab)
- [Importing LCI databases](#importing-lci-databases)
- [Additional Resources](#additional-resources)
- [Plugins](#plugins)
- [Available plugins](#available-plugins)
- [Installation](#installation-1)
- [Usage](#usage)
- [Development](#development)
- [Contributing](#contributing)
- [Developers](#developers)
- [Copyright](#copyright)
- [License](#license)

# Installation

## The quick way

You can install and start the activity-browser like this:

```bash
conda create -n ab -c conda-forge --solver libmamba activity-browser
conda activate ab
activity-browser
```

### Mamba

You can also install the AB using [Mamba](https://mamba.readthedocs.io/en/latest/mamba-installation.html#mamba-install):

```bash
mamba create -n ab activity-browser
mamba activate ab
activity-browser
```

## The thorough way
### Conda

We recommend that you use **conda** to manage your python installation. You can install [Anaconda](https://www.anaconda.com/products/individual) or the more compact [miniconda](https://conda.io/miniconda.html) (Python 3 version) for your operating system. Installation instructions for miniconda can be found [here](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html). See also the [conda user guide](https://docs.conda.io/projects/conda/en/latest/user-guide/index.html) or the [Conda cheat sheet](https://docs.conda.io/projects/conda/en/latest/_downloads/843d9e0198f2a193a3484886fa28163c/conda-cheatsheet.pdf).

Skip this step if you already have a working installation of anaconda or miniconda, but make sure to keep your conda installation up-to-date: `conda update -n base conda`.

### Add the Conda-Forge channel
The activity-browser has many dependencies that are managed by the [conda-forge](https://conda.io/docs/user-guide/tasks/manage-channels.html) channel. Open a cmd-window or terminal (in Windows you may have to use the Anaconda prompt) and type the following:

```bash
conda config --prepend channels conda-forge
```
Also configure conda to use the libmamba solver which is significantly faster than the default.
```bash
conda config --set solver libmamba
```

### Installing Activity Browser

```bash
conda create -n ab -c conda-forge activity-browser
conda activate ab
activity-browser
```

#### Activity Browser is installed

At this point the activity-browser and all of its dependencies will be installed in a new conda environment called `ab`. You can change the environment name `ab` to whatever suits you.

## Updating the AB

We recommend to regularly update the AB to receive new features & bugfixes. These commands will update the activity-browser and all of its dependencies in the conda environment called `ab`.

```bash
conda activate ab
conda update activity-browser
```

# Getting started

## Running the AB

First activate the environment where the activity browser is installed:

```bash
conda activate ab
```

Then simply run `activity-browser` and the application will open.

## Importing LCI databases

- In the `Project`-tab there is initially a button called _"Add default data (biosphere flows and impact categories)"_. Click this button to add the default data. This is equivalent to `brightway2.bw2setup()` in python.
- After adding the default data, you can import a database with the _"Import Database"_-Button. Follow the instructions of the database import wizard. Imports can be done in several ways:
- Directly from the ecoinvent homepage (ecoinvent login credentials required)
- From a 7zip archive
- From a directory with ecospold2 files (same as in brightway2)
- From Excel files using the brightway Excel format

## Additional Resources

- [Youtube tutorials](https://www.youtube.com/channel/UCsyySKrzEMsRFsWW1Oz-6aA/)
- [AB Discussions page](https://github.com/LCA-ActivityBrowser/activity-browser/discussions)
- [AB Wiki](https://github.com/LCA-ActivityBrowser/activity-browser/wiki)
- [AB scientific article](https://doi.org/10.1016/j.simpa.2019.100012)
- The AB has two mailing lists, for [updates](https://brightway.groups.io/g/AB-updates) and [user exchange](https://brightway.groups.io/g/AB-discussion)
- [Brightway2](https://brightway.dev/)
- [Global Sensitiviy Analysis paper](https://onlinelibrary.wiley.com/doi/10.1111/jiec.13194) describing GSA as implemented in the AB; see also our [wiki](https://github.com/LCA-ActivityBrowser/activity-browser/wiki/Global-Sensitivity-Analysis)
- [Modular LCA paper](https://link.springer.com/article/10.1007/s11367-015-1015-3); [documentation modular LCA](http://activity-browser.readthedocs.io/en/latest/index.html); re-implementation of modular LCA into the AB is [ongoing](https://github.com/marc-vdm/activity-browser/tree/mLCA)

# Plugins
| :warning: DISCLAIMER |
|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Plugins are not necessarily developed by Activity Browser maintainers. Below are listed plugins from people we trust but we do not check plugins code. **Use them at your own risk**. |
| The plugin system is still in development so keep in mind that things may change at any point. |

Since the `2.8 release` a plugin system has been added to the AB. Plugins are a flexible way to add new functionalities to the AB without modifying the software itself.

The plugin code has been designed and written by Remy le Calloch (supported by [G-SCOP laboratories](https://g-scop.grenoble-inp.fr/en/laboratory/g-scop-laboratory)) with revisions from the AB-team.

## Available plugins

These are the plugins that we know about. To add your plugin to this list either open an issue, or a pull request. All submitted plugins will be reviewed, although all risks associated with their use shall be born by the user.

| Name | Description | Links | Author(s) |
|:---------|-------------|-------|-----------|
| [ScenarioLink](https://github.com/polca/ScenarioLink) | Enables you to seamlessly fetch and reproduce scenario-based LCA databases, such as those generated by [premise](https://github.com/polca/premise) | [anaconda](https://anaconda.org/romainsacchi/ab-plugin-scenariolink), [pypi](https://pypi.org/project/ab-plugin-scenariolink/), [github](https://github.com/polca/ScenarioLink) | Romain Sacchi & Marc van der Meide |
| [ReSICLED](https://github.com/Pan6ora/ab-plugin-ReSICLED) | Evaluating the recyclability of electr(on)ic product for improving product design | [anaconda](https://anaconda.org/pan6ora/ab-plugin-resicled), [github](https://github.com/Pan6ora/ab-plugin-ReSICLED) | G-SCOP Laboratory |
| [Notebook](https://github.com/Pan6ora/ab-plugin-Notebook) | Use Jupyter notebooks from AB | [anaconda](https://anaconda.org/pan6ora/ab-plugin-template), [github](https://github.com/Pan6ora/ab-plugin-Notebook) | Rémy Le Calloch |
| [template](https://github.com/Pan6ora/activity-browser-plugin-template) | An empty plugin to start from | [anaconda](https://anaconda.org/pan6ora/ab-plugin-template), [github](https://github.com/Pan6ora/activity-browser-plugin-template) | Rémy Le Calloch |

## Installation

### detailed instructions

Every plugin's Github page (links are provided in the above table) should have a **Get this plugin** section with installation instructions.

### general instructions

Plugins are conda packages (like the Activity Browser). To add a plugin simply install it in your conda environment from the Anaconda repos.

_Nb: add `-c conda-forge` to the install command like below to avoid problems with dependencies._

Ex:

```
conda activate ab
conda install -c pan6ora -c conda-forge ab-plugin-notebook
```

## Usage

Once a new plugin is installed restart the Activity Browser.

### enabling a plugin

Plugins are enabled **per-project**. Simply open the plugin manager in the `Tools > Plugins` menu.

Close the plugin manager. New tabs should have appeared in the AB (each plugin can spawn one tab on each left/right panel).

### disabling a plugin

Disable a plugin the same way you activated it.

**:warning: Keep in mind that all data created by the plugin in a project could be erased when you disable it.**

## Development

The best place to start to create new plugins is the [plugin template](https://github.com/Pan6ora/activity-browser-plugin-template). Its code and README will help you to understand how to create a plugin.

# Contributing

**The Activity Browser is a community project. Your contribution counts!**

If you have ideas for improvements to the code or documentation or want to propose new features, please take a look at our [contributing guidelines](CONTRIBUTING.md) and open issues and/or pull-requests.

If you experience problems or are suffering from a specific bug, please [raise an issue](https://github.com/LCA-ActivityBrowser/activity-browser/issues) here on github.

# Developers

### Current main developers

- Bernhard Steubing ([email protected]) (creator)
- Marc van der Meide ([email protected]) (maintainer)

### Important contributers

- [Adrian Haas](https://github.com/haasad)
- [Chris Mutel](https://github.com/cmutel)
- [Daniel de Koning](https://github.com/dgdekoning)
- [Jonathan Kidner](https://github.com/Zoophobus)
- [Remy le Calloch](https://remy.lecalloch.net)

# Copyright
- 2016-2023: Bernhard Steubing (Leiden University)

# License
You can find the license information for Activity Browser in the [license file](https://github.com/LCA-ActivityBrowser/activity-browser/blob/master/LICENSE.txt).


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 1,816
Total Committers: 32
Avg Commits per committer: 56.75
Development Distribution Score (DDS): 0.729

Commits in past year: 198
Committers in past year: 9
Avg Commits per committer in past year: 22.0
Development Distribution Score (DDS) in past year: 0.434

Name Email Commits
bsteubing s****d@g****m 492
dgdekoning d****g@g****m 199
haasad h****d@s****h 189
marc-vdm m****e@c****l 176
Daniel de Koning d****g 129
Chris Mutel c****l@g****m 102
Athunc s****0@h****m 81
Zoophobus j****r@g****m 66
e4BdSBmUzHowFico5Ktn m****e@g****m 65
tmillross s****e@g****m 54
haasad h****d 49
Jonathan Kidner 1****s 36
StpdFox v****4@c****l 25
Marin Visscher 1****r 19
bsteubing 3****g 18
Matthijs Vos m****9@g****m 17
cardosan g****i@g****m 14
nabilahmed739 n****9@g****m 13
adrian a****s@i****h 12
Steubing S****g@i****h 12
maxreinicke #****$ 10
Alta a****d@o****m 8
Pim Bax j****0@g****m 7
Rémy Le Calloch r****y@l****t 5
Benjamin W. Portner 5****r 5
e4BdSBmUzHowFico5Ktn 2****D@p****t 3
Marin Visscher m****r@s****l 3
Marco Rossi d****r@m****m 3
Leo Fent 4****7 1
tmillross 1****s 1
and 2 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 295
Total pull requests: 141
Average time to close issues: 7 months
Average time to close pull requests: about 1 month
Total issue authors: 82
Total pull request authors: 11
Average comments per issue: 2.95
Average comments per pull request: 1.77
Merged pull request: 108
Bot issues: 0
Bot pull requests: 0

Past year issues: 189
Past year pull requests: 131
Past year average time to close issues: 26 days
Past year average time to close pull requests: 4 days
Past year issue authors: 54
Past year pull request authors: 8
Past year average comments per issue: 2.48
Past year average comments per pull request: 1.43
Past year merged pull request: 105
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/LCA-ActivityBrowser/activity-browser

Top Issue Authors

  • marc-vdm (123)
  • bsteubing (24)
  • MaximeAgez (8)
  • Zoophobus (6)
  • SELTENEERDEN (6)
  • CHarpprecht (6)
  • simb-sdu (5)
  • nikhilsampathrao (5)
  • mkvdhulst (5)
  • haasad (4)
  • romainsacchi (4)
  • StpdFox (3)
  • mixib (3)
  • cardosan (3)
  • lucas-sys-cmd (3)

Top Pull Request Authors

  • marc-vdm (52)
  • mrvisscher (32)
  • Zoophobus (32)
  • haasad (13)
  • Joeytje50 (4)
  • Pan6ora (2)
  • bsteubing (2)
  • ThijsGroeneweg (1)
  • nabilahmed739 (1)
  • BenPortner (1)
  • cardosan (1)

Top Issue Labels

  • bug (118)
  • feature (76)
  • prio:low (27)
  • parameters (16)
  • good first issue (13)
  • data imports (12)
  • type:bug (10)
  • type:feature (8)
  • scenarios (5)
  • help needed (5)
  • macos (5)
  • brightway (4)
  • documentation (4)
  • javascript (4)
  • monte-carlo (4)
  • graphs and visualisation (4)
  • prio:high (3)
  • discussion (3)
  • info:usability (3)
  • type:discussion (1)
  • type:javascript (1)

Top Pull Request Labels

  • bug (31)
  • change (23)
  • type:bug (18)
  • ci (8)
  • info:UI (8)
  • documentation (5)
  • type:feature (5)
  • type:documentation (4)
  • feature (3)
  • prio:low (1)
  • info:brightway (1)
  • type:imports (1)
  • breaking (1)

Dependencies

.github/workflows/main.yaml actions
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/upload-artifact v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • mikefarah/yq master composite
.github/workflows/release.yaml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • mikefarah/yq master composite
  • mikepenz/release-changelog-builder-action v2 composite
  • ncipollo/release-action v1 composite
.github/workflows/install-canary.yaml actions
  • actions/upload-artifact v2 composite
  • conda-incubator/setup-miniconda v2 composite
setup.py pypi
.github/workflows/comment-milestoned-issues.yaml actions
  • actions/github-script v5 composite

Score: 9.176162920174596