# EPDx
EPDx is a library for parsing EPD files into a common exchange format.
The library is written in Rust, to allow for cross-language package distribution.
Currently, we support Javascript/Typescript, Python and Rust.
EPDx is part of a larger project of making life cycle assessments more accessible and transparent to building
professionals.
Read more about our [overall goal](https://github.com/ocni-dtu/life-cycle-formats)
## ILCD+EPD
The ILCD+EPD format is a digital format for EPDs.
Provided in either XML or JSON.
Initially EPDs were provided as PDFs.
That is not very convenient for automation processes and requires large amounts of manual work to process.
The ILCD (International Life Cycle Data System) is a data format developed by the European Commission to give LCA
practitioners a common digital format for life cycle assessments.
In order to integrate EPD specific information (e.g. scenarios, modules, type of data), extensions were added to the
ILCD format. The resulting format got named ILCD+EPD format.
The ECO Platform and Ökobau uses the format to store and expose EPDs through
the [soda4LCA](https://bitbucket.org/okusche/soda4lca/src/7.x-branch/) API.
The API makes it possible for everyone to search and download tons of EPDs to be used free of charge.
The ILCD+EPD format is a node based format. It means that each EPD consists of several layers of nodes that contain
different information.
The first node contains a summary of the EPD, with references to the nodes.
By drilling down the tree of nodes, you have access to more and more specific information, such as EPD manufacturer,
functional unit(s), etc.
Read more about ILCD at the [European Platform on Life Cycle Assessment](https://eplca.jrc.ec.europa.eu/)
# Documentation
EPDx can have available packages for Javascript, Python and Rust.
To get started head over to our [documentation](https://epdx.kongsgaard.eu).
## Install NPM Package
```bash
npm install epdx
```
## Install Python Package
```bash
pip install epdx
```
## Install Rust Crate
```bash
cargo add epdx
```
# Contribute
## Install Rust
Head over to Rust's installation [page](https://www.rust-lang.org/tools/install)
## Run Tests
```bash
cargo test --package epdx --target x86_64-unknown-linux-gnu
```
## Run Python Tests
```bash
maturin develop --extras tests --target x86_64-unknown-linux-gnu
source .venv/bin/activate .
cd packages/python
pytest tests/
```
## Build Documentation
```bash
maturin develop --extras doc,codegen --target x86_64-unknown-linux-gnu
mkdocs develop
```
## Build JS Package
```bash
wasm-pack build --features jsbindings
mv pkg/epdx* packages/javascript/src
```
Raw data
{
"_id": null,
"home_page": "https://epdx.kongsgaard.eu",
"name": "epdx",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": null,
"author": "Christian Kongsgaard <christian@kongsgaard.eu>",
"author_email": "Christian Kongsgaard <christian@kongsgaard.eu>",
"download_url": "https://files.pythonhosted.org/packages/f7/84/962e71ba3c0df06c0ffe1efdc874c5b5c889387b21f9d8acfade8f8093a4/epdx-1.2.2.tar.gz",
"platform": null,
"description": "# EPDx\n\nEPDx is a library for parsing EPD files into a common exchange format.\n\nThe library is written in Rust, to allow for cross-language package distribution.\nCurrently, we support Javascript/Typescript, Python and Rust.\n\nEPDx is part of a larger project of making life cycle assessments more accessible and transparent to building\nprofessionals.\n\nRead more about our [overall goal](https://github.com/ocni-dtu/life-cycle-formats)\n\n## ILCD+EPD\n\nThe ILCD+EPD format is a digital format for EPDs.\nProvided in either XML or JSON.\n\nInitially EPDs were provided as PDFs.\nThat is not very convenient for automation processes and requires large amounts of manual work to process.\n\nThe ILCD (International Life Cycle Data System) is a data format developed by the European Commission to give LCA\npractitioners a common digital format for life cycle assessments.\nIn order to integrate EPD specific information (e.g. scenarios, modules, type of data), extensions were added to the\nILCD format. The resulting format got named ILCD+EPD format.\n\nThe ECO Platform and \u00d6kobau uses the format to store and expose EPDs through\nthe [soda4LCA](https://bitbucket.org/okusche/soda4lca/src/7.x-branch/) API.\nThe API makes it possible for everyone to search and download tons of EPDs to be used free of charge.\n\nThe ILCD+EPD format is a node based format. It means that each EPD consists of several layers of nodes that contain\ndifferent information.\nThe first node contains a summary of the EPD, with references to the nodes.\nBy drilling down the tree of nodes, you have access to more and more specific information, such as EPD manufacturer,\nfunctional unit(s), etc.\n\nRead more about ILCD at the [European Platform on Life Cycle Assessment](https://eplca.jrc.ec.europa.eu/)\n\n\n# Documentation\n\nEPDx can have available packages for Javascript, Python and Rust.\n\nTo get started head over to our [documentation](https://epdx.kongsgaard.eu).\n\n## Install NPM Package\n\n```bash\nnpm install epdx\n```\n\n## Install Python Package\n\n```bash\npip install epdx\n```\n\n## Install Rust Crate\n\n```bash\ncargo add epdx\n```\n\n# Contribute\n\n## Install Rust\nHead over to Rust's installation [page](https://www.rust-lang.org/tools/install)\n\n## Run Tests\n\n```bash\ncargo test --package epdx --target x86_64-unknown-linux-gnu\n```\n\n## Run Python Tests\n\n```bash\nmaturin develop --extras tests --target x86_64-unknown-linux-gnu\nsource .venv/bin/activate .\ncd packages/python\npytest tests/\n```\n\n## Build Documentation\n\n```bash\nmaturin develop --extras doc,codegen --target x86_64-unknown-linux-gnu\nmkdocs develop\n```\n\n## Build JS Package\n\n```bash\nwasm-pack build --features jsbindings\nmv pkg/epdx* packages/javascript/src\n```\n",
"bugtrack_url": null,
"license": null,
"summary": "EPDx is a library for parsing EPD files into a common exchange format.",
"version": "1.2.2",
"project_urls": {
"Homepage": "https://epdx.kongsgaard.eu",
"documentation": "https://epdx.kongsgaard.eu",
"repository": "https://github.com/ocni-dtu/epdx"
},
"split_keywords": [],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "929ceb48150a07d3e5f5b8556cb49703299a70871ca8be97d013c4f12a504531",
"md5": "f603fbc993ae8913103fa7826cd3f478",
"sha256": "827b31e059adf814bca31e210cc08b9f10da35f99daeb98a984cec19f938b02d"
},
"downloads": -1,
"filename": "epdx-1.2.2-cp310-abi3-manylinux_2_34_x86_64.whl",
"has_sig": false,
"md5_digest": "f603fbc993ae8913103fa7826cd3f478",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.10",
"size": 392135,
"upload_time": "2024-04-01T19:11:11",
"upload_time_iso_8601": "2024-04-01T19:11:11.229257Z",
"url": "https://files.pythonhosted.org/packages/92/9c/eb48150a07d3e5f5b8556cb49703299a70871ca8be97d013c4f12a504531/epdx-1.2.2-cp310-abi3-manylinux_2_34_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f784962e71ba3c0df06c0ffe1efdc874c5b5c889387b21f9d8acfade8f8093a4",
"md5": "f493d2cecf1741b08e8e2f0560ed438e",
"sha256": "e73e9009316cc866cdcbd4b340a8171c5ae14c408307c5389a4563c017abf29f"
},
"downloads": -1,
"filename": "epdx-1.2.2.tar.gz",
"has_sig": false,
"md5_digest": "f493d2cecf1741b08e8e2f0560ed438e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 717264,
"upload_time": "2024-04-01T19:11:12",
"upload_time_iso_8601": "2024-04-01T19:11:12.972079Z",
"url": "https://files.pythonhosted.org/packages/f7/84/962e71ba3c0df06c0ffe1efdc874c5b5c889387b21f9d8acfade8f8093a4/epdx-1.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-01 19:11:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ocni-dtu",
"github_project": "epdx",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "epdx"
}