Unpacks LCA scenario databases.
Project description
unfold
Publicly share data packages that allow reproducing LCA databases based on licensed data.
What does unfold
do?
unfold
is a Python package that allows "folding" and "unfolding"
LCA databases derived from a source database (e.g., ecoinvent) without
exposing the licensed data it builds from.
The purpose of this package is to allow users to publicly share
LCA databases without sharing the source database, in the case
where the latter is under restrictive license. Hence, unfold
allows users to share instead data packages that allows other users
to reproduce the LCA database (provided they have the source database).
It is based on the brightway2 framework.
unfold
is initially conceived to share premise
-generated
databases (link), or any other
databases that have been heavily modified and derived
from a base which is under
restrictive licensing (i.e., ecoinvent).
Limitations
- only works with
brightway2
at the moment - only tested wih ecoinvent 3.6, 3.7 and 3.8 (but should be working with any other source database in principle)
How to
Install
unfold
is available on PyPI and can be installed with pip
:
pip install unfold
Alternatively, you can clone the repository and install the library from the source code:
git clone https://github.com/polca/unfold.git
cd unfold
pip install -e .
It can also be installed from conda
:
conda install -c romainsacchi unfold
Use
See also examples notebooks in the examples
folder.
fold
unfold
can "fold" several brightway2 databases
into a single data package. The data package is a zip file
containing the differences of the databases in relation
to a source database (including extra inventories),
as well as a metadata file that describes the databases
and their content.
from unfold import Fold
import bw2data
# name of the brightway project containing
# both the source database and the databases to fold
bw2data.projects.set_current("some BW2 project")
f = Fold()
f.fold()
The resulting data package is saved in the current directory and can be shared with other users.
unfold
unfold
can "unfold" a data package into one or several
brightway2 databases.
from unfold import Unfold
import bw2data
# name of the brightway project containing
# both the source database and the databases to unfold
bw2data.projects.set_current("some BW2 project")
u = Unfold("a package name.zip")
u.unfold()
The file path given to the Unfold
class can be either
absolute or relative to the current directory, or even a URL.
unfold a superstructure database (to be used with Activity Browser)
unfold
can "unfold" a data package into a superstructure database
that can be used with the Activity Browser.
from unfold import Unfold
import bw2data
# name of the brightway project containing
# both the source database and the databases to unfold
bw2data.projects.set_current("some BW2 project")
u = Unfold("a package name.zip")
u.unfold(superstructure=True)
This outputs a superstructure database in your brightway2 project, as well as a scenario difference file (Excel) in the current working directory.
Contributing
Unfold is an open-source project, and contributions are welcome. To contribute to the project, please create a pull request on the project's GitHub page. Before submitting a pull request, please make sure that your changes are properly documented and that all tests pass.
Issues
If you encounter any problems, please open an issue on the project's GitHub page. Please include a minimal working example that reproduces the problem. If you are reporting a bug, please include the version of the package you are using.
Support
If you need help using Unfold, please contact the author (see below).
Author
Romain Sacchi, PSI
License
Unfold is released under the MIT License. See the License file for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file unfold-1.0.3.tar.gz
.
File metadata
- Download URL: unfold-1.0.3.tar.gz
- Upload date:
- Size: 197.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1120c50eb46b5689aecc57dd4410f5187b812f11d6af01af168caa82df9fc632 |
|
MD5 | 9103a66fbb35a5fb5eec6068dc4d474f |
|
BLAKE2b-256 | 5a18d356f269f47565ac305048f9e03be2c96e786e620b8ec6a2f30e78d58272 |
File details
Details for the file unfold-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: unfold-1.0.3-py3-none-any.whl
- Upload date:
- Size: 185.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e7a04a288013197e2f7d47b7edf3918e526602b1125abdc9567b049edb6e0225 |
|
MD5 | 33b37a49cb4faeaf4d75ef0d34a60fd2 |
|
BLAKE2b-256 | 4477ef212f14617a301c0c7f40fe103b7ba6101249d0912c516a51ea422d70f0 |