Name | ecoinvent-migrate JSON |
Version |
0.5
JSON |
| download |
home_page | None |
Summary | Code to generate Randonneur migration files for ecoinvent releases |
upload_time | 2024-09-25 21:38:28 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.10 |
license | None |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ecoinvent_migrate
[][pypi status]
[][pypi status]
[][pypi status]
[][license]
[][read the docs]
[][tests]
[][codecov]
[][pre-commit]
[][black]
[pypi status]: https://pypi.org/project/ecoinvent_migrate/
[read the docs]: https://ecoinvent_migrate.readthedocs.io/
[tests]: https://github.com/brightway-lca/ecoinvent_migrate/actions?workflow=Tests
[codecov]: https://app.codecov.io/gh/brightway-lca/ecoinvent_migrate
[pre-commit]: https://github.com/pre-commit/pre-commit
[black]: https://github.com/psf/black
`ecoinvent_migrate` makes the change report Excel files from ecoinvent usable.
These files are designed to allow for relinking against new versions of ecoinvent, **not** for updating an existing ecoinvent installation.
This library requires a valid ecoinvent license for all functionality. Output files are provided in the `outputs` directory.
## Installation
You can install _ecoinvent_migrate_ via [pip] from [PyPI]:
```console
$ pip install ecoinvent_migrate
```
## Usage
Migration are from one release to the next, e.g. from 3.5 to 3.6. There are separate files, and separate functions, for technosphere and biosphere edges. The files produced are serialized to JSON and software agnostic, but play well with the Brightway ecosystem.
### Technosphere
```python
from ecoinvent_migrate import *
filepath = generate_technosphere_mapping("3.7.1", "3.8")
```
This produces a file which has allows foreground inventory datasets which linked to 3.7.1 to find suitable replacement datasets in 3.8. The produced file looks like this:
```json
{
"name": "ecoinvent-3.7.1-cutoff-ecoinvent-3.8-cutoff",
"licenses": [
{
"name": "CC BY 4.0",
"path": "https://creativecommons.org/licenses/by/4.0/",
"title": "Creative Commons Attribution 4.0 International"
}
],
"version": "1.0.0",
"description": "Data migration file from ecoinvent-3.7.1-cutoff to ecoinvent-3.8-cutoff generated with `ecoinvent_migrate` version 0.1.0 at 2024-06-14T12:17:38.900471+00:00",
"homepage": "https://github.com/brightway-lca/ecoinvent_migrate",
"created": "2024-06-14T12:17:38.900471+00:00",
"contributors": [
{
"title": "ecoinvent association",
"path": "https://ecoinvent.org/",
"role": "author"
},
{
"title": "Chris Mutel",
"path": "https://chris.mutel.org/",
"role": "wrangler"
}
],
"replace": [
{
"source": {
"name": "assembly of generator and motor, auxilliaries and energy use, heat and power co-generation unit, 160kW electrical",
"location": "RoW",
"reference product": "assembly of generator and motor, auxilliaries and energy use, for heat and power co-generation unit, 160 KW electrical",
"unit": "unit"
},
"target": {
"name": "assembly of generator and motor, auxilliaries and energy use, heat and power co-generation unit, 160kW electrical",
"location": "RoW",
"reference product": "assembly of generator and motor, auxilliaries and energy use, heat and power co-generation unit, 160kW electrical",
"unit": "unit"
}
}
],
"disaggregate": [
{
"source": {
"name": "application of plant protection product, by field sprayer",
"location": "RoW",
"reference product": "application of plant protection product, by field sprayer",
"unit": "ha"
},
"targets": [
{
"name": "application of plant protection product, by field sprayer",
"location": "Canada without Quebec",
"reference product": "application of plant protection product, by field sprayer",
"unit": "ha",
"allocation": 0.025737164985667214
},
{
"name": "application of plant protection product, by field sprayer",
"location": "RoW",
"reference product": "application of plant protection product, by field sprayer",
"unit": "ha",
"allocation": 0.9742628350143328
}
]
}
]
}
```
To use this file, you will need to take different actions for the two verbs. For `replace`, edges in your foreground which link to an ecoinvent dataset with the same attributes as in the `source` section can be replaced one-to-one with an edge to an ecoinvent process from the later release whose attributes match those in the `target` section. For the `disaggregate` verb, you will need to split the initial foreground edge into two or more edges, and scale the original amount and uncertainty information by the `allocation` value.
If you are using Brightway, there are convenience functions in `bw_migrations` and cached migration files which will be used for you automatically.
Migrations are designed and only tested for forward progress, i.e. from one release to the next subsequent release. Going in the opposite direction is not recommended.
You can't skip across multiple releases - attempting to do so will raise a `VersionJump` error:
```python
>>> generate_technosphere_mapping("3.7.1", "3.9.1")
---------------------------------------------------------------------------
VersionJump:
Source (3.7.1) and target (3.9.1) don't have a change report.
Usually this is the case when one jumps across multiple releases, but not always.
For example, the change report for 3.7.1 is from 3.6, not 3.7.
The change report we have available is:
Change Report Annex v3.9 - v3.9.1.xlsx
```
Technosphere mapping files are system model specific, and the default system model is `cutoff`. You can specify a different system model following the `ecoinvent_interface` [function specification](https://github.com/brightway-lca/ecoinvent_interface?tab=readme-ov-file#database-releases) with the `system_model` parameters, e.g. `generate_technosphere_mapping(..., system_model='apos')`.
### Biosphere
The same procedure applies for biosphere edges:
```python
from ecoinvent_migrate import *
filepath = generate_biosphere_mapping("3.9.1", "3.10")
```
This produces a data file like:
```json
{
"name": "ecoinvent-3.9.1-biosphere-ecoinvent-3.10-biosphere",
"licenses": [
{
"name": "CC BY 4.0",
"path": "https://creativecommons.org/licenses/by/4.0/",
"title": "Creative Commons Attribution 4.0 International"
}
],
"version": "1.0.0",
"description": "Data migration file from ecoinvent-3.9.1-biosphere to ecoinvent-3.10-biosphere generated with `ecoinvent_migrate` version 0.1.0 at 2024-06-14T10:26:46.339261+00:00",
"homepage": "https://github.com/brightway-lca/ecoinvent_migrate",
"created": "2024-06-14T10:26:46.339261+00:00",
"contributors": [
{
"title": "ecoinvent association",
"path": "https://ecoinvent.org/",
"role": "author"
},
{
"title": "Chris Mutel",
"path": "https://chris.mutel.org/",
"role": "wrangler"
}
],
"replace": [
{
"source": {
"uuid": "4f777e05-70f9-4a18-a406-d8232325073f",
"name": "2,4-D amines"
},
"target": {
"uuid": "b6b4201e-0561-5992-912f-e729fbf04e41",
"name": "2,4-D dimethylamine salt"
}
}
],
"delete": [
{
"source": {
"uuid": "91861063-1826-4860-9957-7c5bde5817a6",
"name": "Salt water (obsolete)"
},
"comment": "There is no salt water flow in ecoinvent."
}
]
}
```
By default, the `delete` verb is skipped, as this is a more cautious approach to existing data. To have the `delete` section included, call `generate_biosphere_mapping(..., keep_deletions=True)`.
### Common input arguments
Both `generate_technosphere_mapping` and `generate_biosphere_mapping` accept the following input arguments:
* source_version (str): String representation of an ecoinvent version, e.g. "3.8"
* target_version (str): String representation of an ecoinvent version, e.g. "3.8"
* ecoinvent_username (str, optional): Ecoinvent account username
* ecoinvent_password (str, optional): Ecoinvent account password
* write_logs (bool, default `True`): Create detailed and high-level logs during mapping file creation
* output_directory (`pathlib.Path`, default is `platformlibs.user_data_dir`): Directory for the result files
Note that we **strongly recommend** [permanently setting your ecoinvent user credentials](https://github.com/brightway-lca/ecoinvent_interface?tab=readme-ov-file#authentication-via-settings-object).
The following input parameters should normally be left to their default values:
* project_name (str): The Brightway project name into which we install ecoinvent releases to check change report data validity.
* output_version (str, default is "1.0.0"): [Datapackage version number](https://specs.frictionlessdata.io/data-package/#version)
* licenses (list, default is CC-BY): Licenses following the [frictionless data datapackage standard](https://specs.frictionlessdata.io/data-package/#licenses)
* description (str, default is auto-generated): Description of generated datapackage.
### How does this library work?
We start by using [ecoinvent_interface](https://github.com/brightway-lca/ecoinvent_interface) to download the change report Excel file, and the two ecoinvent releases (source and target). We need to download the ecoinvent data because the change report is for the unlinked and unallocated "master" data; there are some changes needed for the specific system models.
For biosphere mapping, we read the Excel file, search around for the correct worksheet and column names, and map the data to "replace" and "delete" sections. This is pretty simple.
For technosphere mapping, we need to check if the indicated datasets are actually in `GLO` or in `RoW` (and analogously in `RER` / `RoE`.) We do this by finding the corresponding datasets in the actual database releases. We also need to use the actual data to look up the allocation factors when a single dataset is split into multiple datasets.
Not every line in the change report Excel file can be used, either because of the specifics of the system model, or some other unknown discrepancy. These exceptions are logged to both the log files and `sys.stderr`:
```console
2024-06-14 14:17:38.641 | WARNING | ecoinvent_migrate.wrangling:resolve_glo_row_rer_roe:219 -
Target process given in change report but missing in ecoinvent-3.8-cutoff lookup:
{'name': 'rutile production, synthetic, 95% titanium dioxide, Benelite process',
'location': 'GLO',
'reference product': 'rutile, 95% titanium dioxide', 'unit': 'kg'}
```
Once the given change data is segregated and cleaned, it is serialized to JSON.
## Contributing
Contributions are very welcome.
To learn more, see the [Contributor Guide][Contributor Guide].
## License
Distributed under the terms of the [BSD 3 Clause license][License],
_ecoinvent_migrate_ is free and open source software.
## Issues
If you encounter any problems,
please [file an issue][Issue Tracker] along with a detailed description.
<!-- github-only -->
[command-line reference]: https://ecoinvent_migrate.readthedocs.io/en/latest/usage.html
[License]: https://github.com/brightway-lca/ecoinvent_migrate/blob/main/LICENSE
[Contributor Guide]: https://github.com/brightway-lca/ecoinvent_migrate/blob/main/CONTRIBUTING.md
[Issue Tracker]: https://github.com/brightway-lca/ecoinvent_migrate/issues
## Building the Documentation
You can build the documentation locally by installing the documentation Conda environment:
```bash
conda env create -f docs/environment.yml
```
activating the environment
```bash
conda activate sphinx_ecoinvent_migrate
```
and [running the build command](https://www.sphinx-doc.org/en/master/man/sphinx-build.html#sphinx-build):
```bash
sphinx-build docs _build/html --builder=html --jobs=auto --write-all; open _build/html/index.html
```
Raw data
{
"_id": null,
"home_page": null,
"name": "ecoinvent-migrate",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": "Chris Mutel <cmutel@gmail.com>",
"keywords": null,
"author": null,
"author_email": "Chris Mutel <cmutel@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a2/82/d3867e0a4449705cec8e4caa462cf803525ff796b5f4f2180750da31b134/ecoinvent_migrate-0.5.tar.gz",
"platform": null,
"description": "# ecoinvent_migrate\n\n[][pypi status]\n[][pypi status]\n[][pypi status]\n[][license]\n\n[][read the docs]\n[][tests]\n[][codecov]\n\n[][pre-commit]\n[][black]\n\n[pypi status]: https://pypi.org/project/ecoinvent_migrate/\n[read the docs]: https://ecoinvent_migrate.readthedocs.io/\n[tests]: https://github.com/brightway-lca/ecoinvent_migrate/actions?workflow=Tests\n[codecov]: https://app.codecov.io/gh/brightway-lca/ecoinvent_migrate\n[pre-commit]: https://github.com/pre-commit/pre-commit\n[black]: https://github.com/psf/black\n\n`ecoinvent_migrate` makes the change report Excel files from ecoinvent usable.\n\nThese files are designed to allow for relinking against new versions of ecoinvent, **not** for updating an existing ecoinvent installation.\n\nThis library requires a valid ecoinvent license for all functionality. Output files are provided in the `outputs` directory.\n\n## Installation\n\nYou can install _ecoinvent_migrate_ via [pip] from [PyPI]:\n\n```console\n$ pip install ecoinvent_migrate\n```\n\n## Usage\n\nMigration are from one release to the next, e.g. from 3.5 to 3.6. There are separate files, and separate functions, for technosphere and biosphere edges. The files produced are serialized to JSON and software agnostic, but play well with the Brightway ecosystem.\n\n### Technosphere\n\n```python\nfrom ecoinvent_migrate import *\nfilepath = generate_technosphere_mapping(\"3.7.1\", \"3.8\")\n```\n\nThis produces a file which has allows foreground inventory datasets which linked to 3.7.1 to find suitable replacement datasets in 3.8. The produced file looks like this:\n\n```json\n{\n \"name\": \"ecoinvent-3.7.1-cutoff-ecoinvent-3.8-cutoff\",\n \"licenses\": [\n {\n \"name\": \"CC BY 4.0\",\n \"path\": \"https://creativecommons.org/licenses/by/4.0/\",\n \"title\": \"Creative Commons Attribution 4.0 International\"\n }\n ],\n \"version\": \"1.0.0\",\n \"description\": \"Data migration file from ecoinvent-3.7.1-cutoff to ecoinvent-3.8-cutoff generated with `ecoinvent_migrate` version 0.1.0 at 2024-06-14T12:17:38.900471+00:00\",\n \"homepage\": \"https://github.com/brightway-lca/ecoinvent_migrate\",\n \"created\": \"2024-06-14T12:17:38.900471+00:00\",\n \"contributors\": [\n {\n \"title\": \"ecoinvent association\",\n \"path\": \"https://ecoinvent.org/\",\n \"role\": \"author\"\n },\n {\n \"title\": \"Chris Mutel\",\n \"path\": \"https://chris.mutel.org/\",\n \"role\": \"wrangler\"\n }\n ],\n \"replace\": [\n {\n \"source\": {\n \"name\": \"assembly of generator and motor, auxilliaries and energy use, heat and power co-generation unit, 160kW electrical\",\n \"location\": \"RoW\",\n \"reference product\": \"assembly of generator and motor, auxilliaries and energy use, for heat and power co-generation unit, 160 KW electrical\",\n \"unit\": \"unit\"\n },\n \"target\": {\n \"name\": \"assembly of generator and motor, auxilliaries and energy use, heat and power co-generation unit, 160kW electrical\",\n \"location\": \"RoW\",\n \"reference product\": \"assembly of generator and motor, auxilliaries and energy use, heat and power co-generation unit, 160kW electrical\",\n \"unit\": \"unit\"\n }\n }\n ],\n \"disaggregate\": [\n {\n \"source\": {\n \"name\": \"application of plant protection product, by field sprayer\",\n \"location\": \"RoW\",\n \"reference product\": \"application of plant protection product, by field sprayer\",\n \"unit\": \"ha\"\n },\n \"targets\": [\n {\n \"name\": \"application of plant protection product, by field sprayer\",\n \"location\": \"Canada without Quebec\",\n \"reference product\": \"application of plant protection product, by field sprayer\",\n \"unit\": \"ha\",\n \"allocation\": 0.025737164985667214\n },\n {\n \"name\": \"application of plant protection product, by field sprayer\",\n \"location\": \"RoW\",\n \"reference product\": \"application of plant protection product, by field sprayer\",\n \"unit\": \"ha\",\n \"allocation\": 0.9742628350143328\n }\n ]\n }\n ]\n}\n```\n\nTo use this file, you will need to take different actions for the two verbs. For `replace`, edges in your foreground which link to an ecoinvent dataset with the same attributes as in the `source` section can be replaced one-to-one with an edge to an ecoinvent process from the later release whose attributes match those in the `target` section. For the `disaggregate` verb, you will need to split the initial foreground edge into two or more edges, and scale the original amount and uncertainty information by the `allocation` value.\n\nIf you are using Brightway, there are convenience functions in `bw_migrations` and cached migration files which will be used for you automatically.\n\nMigrations are designed and only tested for forward progress, i.e. from one release to the next subsequent release. Going in the opposite direction is not recommended.\n\nYou can't skip across multiple releases - attempting to do so will raise a `VersionJump` error:\n\n```python\n>>> generate_technosphere_mapping(\"3.7.1\", \"3.9.1\")\n---------------------------------------------------------------------------\nVersionJump:\nSource (3.7.1) and target (3.9.1) don't have a change report.\nUsually this is the case when one jumps across multiple releases, but not always.\nFor example, the change report for 3.7.1 is from 3.6, not 3.7.\nThe change report we have available is:\nChange Report Annex v3.9 - v3.9.1.xlsx\n```\n\nTechnosphere mapping files are system model specific, and the default system model is `cutoff`. You can specify a different system model following the `ecoinvent_interface` [function specification](https://github.com/brightway-lca/ecoinvent_interface?tab=readme-ov-file#database-releases) with the `system_model` parameters, e.g. `generate_technosphere_mapping(..., system_model='apos')`.\n\n### Biosphere\n\nThe same procedure applies for biosphere edges:\n\n```python\nfrom ecoinvent_migrate import *\nfilepath = generate_biosphere_mapping(\"3.9.1\", \"3.10\")\n```\n\nThis produces a data file like:\n\n```json\n{\n \"name\": \"ecoinvent-3.9.1-biosphere-ecoinvent-3.10-biosphere\",\n \"licenses\": [\n {\n \"name\": \"CC BY 4.0\",\n \"path\": \"https://creativecommons.org/licenses/by/4.0/\",\n \"title\": \"Creative Commons Attribution 4.0 International\"\n }\n ],\n \"version\": \"1.0.0\",\n \"description\": \"Data migration file from ecoinvent-3.9.1-biosphere to ecoinvent-3.10-biosphere generated with `ecoinvent_migrate` version 0.1.0 at 2024-06-14T10:26:46.339261+00:00\",\n \"homepage\": \"https://github.com/brightway-lca/ecoinvent_migrate\",\n \"created\": \"2024-06-14T10:26:46.339261+00:00\",\n \"contributors\": [\n {\n \"title\": \"ecoinvent association\",\n \"path\": \"https://ecoinvent.org/\",\n \"role\": \"author\"\n },\n {\n \"title\": \"Chris Mutel\",\n \"path\": \"https://chris.mutel.org/\",\n \"role\": \"wrangler\"\n }\n ],\n \"replace\": [\n {\n \"source\": {\n \"uuid\": \"4f777e05-70f9-4a18-a406-d8232325073f\",\n \"name\": \"2,4-D amines\"\n },\n \"target\": {\n \"uuid\": \"b6b4201e-0561-5992-912f-e729fbf04e41\",\n \"name\": \"2,4-D dimethylamine salt\"\n }\n }\n ],\n \"delete\": [\n {\n \"source\": {\n \"uuid\": \"91861063-1826-4860-9957-7c5bde5817a6\",\n \"name\": \"Salt water (obsolete)\"\n },\n \"comment\": \"There is no salt water flow in ecoinvent.\"\n }\n ]\n}\n```\n\nBy default, the `delete` verb is skipped, as this is a more cautious approach to existing data. To have the `delete` section included, call `generate_biosphere_mapping(..., keep_deletions=True)`.\n\n### Common input arguments\n\nBoth `generate_technosphere_mapping` and `generate_biosphere_mapping` accept the following input arguments:\n\n* source_version (str): String representation of an ecoinvent version, e.g. \"3.8\"\n* target_version (str): String representation of an ecoinvent version, e.g. \"3.8\"\n* ecoinvent_username (str, optional): Ecoinvent account username\n* ecoinvent_password (str, optional): Ecoinvent account password\n* write_logs (bool, default `True`): Create detailed and high-level logs during mapping file creation\n* output_directory (`pathlib.Path`, default is `platformlibs.user_data_dir`): Directory for the result files\n\nNote that we **strongly recommend** [permanently setting your ecoinvent user credentials](https://github.com/brightway-lca/ecoinvent_interface?tab=readme-ov-file#authentication-via-settings-object).\n\nThe following input parameters should normally be left to their default values:\n\n* project_name (str): The Brightway project name into which we install ecoinvent releases to check change report data validity.\n* output_version (str, default is \"1.0.0\"): [Datapackage version number](https://specs.frictionlessdata.io/data-package/#version)\n* licenses (list, default is CC-BY): Licenses following the [frictionless data datapackage standard](https://specs.frictionlessdata.io/data-package/#licenses)\n* description (str, default is auto-generated): Description of generated datapackage.\n\n### How does this library work?\n\nWe start by using [ecoinvent_interface](https://github.com/brightway-lca/ecoinvent_interface) to download the change report Excel file, and the two ecoinvent releases (source and target). We need to download the ecoinvent data because the change report is for the unlinked and unallocated \"master\" data; there are some changes needed for the specific system models.\n\nFor biosphere mapping, we read the Excel file, search around for the correct worksheet and column names, and map the data to \"replace\" and \"delete\" sections. This is pretty simple.\n\nFor technosphere mapping, we need to check if the indicated datasets are actually in `GLO` or in `RoW` (and analogously in `RER` / `RoE`.) We do this by finding the corresponding datasets in the actual database releases. We also need to use the actual data to look up the allocation factors when a single dataset is split into multiple datasets.\n\nNot every line in the change report Excel file can be used, either because of the specifics of the system model, or some other unknown discrepancy. These exceptions are logged to both the log files and `sys.stderr`:\n\n```console\n2024-06-14 14:17:38.641 | WARNING | ecoinvent_migrate.wrangling:resolve_glo_row_rer_roe:219 -\n Target process given in change report but missing in ecoinvent-3.8-cutoff lookup:\n {'name': 'rutile production, synthetic, 95% titanium dioxide, Benelite process',\n 'location': 'GLO',\n 'reference product': 'rutile, 95% titanium dioxide', 'unit': 'kg'}\n```\n\nOnce the given change data is segregated and cleaned, it is serialized to JSON.\n\n## Contributing\n\nContributions are very welcome.\nTo learn more, see the [Contributor Guide][Contributor Guide].\n\n## License\n\nDistributed under the terms of the [BSD 3 Clause license][License],\n_ecoinvent_migrate_ is free and open source software.\n\n## Issues\n\nIf you encounter any problems,\nplease [file an issue][Issue Tracker] along with a detailed description.\n\n<!-- github-only -->\n\n[command-line reference]: https://ecoinvent_migrate.readthedocs.io/en/latest/usage.html\n[License]: https://github.com/brightway-lca/ecoinvent_migrate/blob/main/LICENSE\n[Contributor Guide]: https://github.com/brightway-lca/ecoinvent_migrate/blob/main/CONTRIBUTING.md\n[Issue Tracker]: https://github.com/brightway-lca/ecoinvent_migrate/issues\n\n## Building the Documentation\n\nYou can build the documentation locally by installing the documentation Conda environment:\n\n```bash\nconda env create -f docs/environment.yml\n```\n\nactivating the environment\n\n```bash\nconda activate sphinx_ecoinvent_migrate\n```\n\nand [running the build command](https://www.sphinx-doc.org/en/master/man/sphinx-build.html#sphinx-build):\n\n```bash\nsphinx-build docs _build/html --builder=html --jobs=auto --write-all; open _build/html/index.html\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "Code to generate Randonneur migration files for ecoinvent releases",
"version": "0.5",
"project_urls": {
"homepage": "https://github.com/brightway-lca/ecoinvent_migrate",
"source": "https://github.com/brightway-lca/ecoinvent_migrate",
"tracker": "https://github.com/brightway-lca/ecoinvent_migrate/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "55fb95ed1267555ba853ac41cc41acb8241a800617d5ffc21d687c885a47fb4c",
"md5": "888102b99dc49c51d116f6d56f76e475",
"sha256": "b8e1ebd80fd7d401b5a03125be363390ccc3077e459202208a95d0491e14c7ab"
},
"downloads": -1,
"filename": "ecoinvent_migrate-0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "888102b99dc49c51d116f6d56f76e475",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 16744,
"upload_time": "2024-09-25T21:38:26",
"upload_time_iso_8601": "2024-09-25T21:38:26.341106Z",
"url": "https://files.pythonhosted.org/packages/55/fb/95ed1267555ba853ac41cc41acb8241a800617d5ffc21d687c885a47fb4c/ecoinvent_migrate-0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a282d3867e0a4449705cec8e4caa462cf803525ff796b5f4f2180750da31b134",
"md5": "e7b360a3522652bf04f81471f81af889",
"sha256": "6d01c94f5f1a794d6dcf14ef78465ddf9343c0100a2d8898d4e8b8755b57305e"
},
"downloads": -1,
"filename": "ecoinvent_migrate-0.5.tar.gz",
"has_sig": false,
"md5_digest": "e7b360a3522652bf04f81471f81af889",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 20106,
"upload_time": "2024-09-25T21:38:28",
"upload_time_iso_8601": "2024-09-25T21:38:28.020256Z",
"url": "https://files.pythonhosted.org/packages/a2/82/d3867e0a4449705cec8e4caa462cf803525ff796b5f4f2180750da31b134/ecoinvent_migrate-0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-25 21:38:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "brightway-lca",
"github_project": "ecoinvent_migrate",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "ecoinvent-migrate"
}