A Python package that converts ILCD XML formats to their Python equivalents and export the same data back to XML.
Project description
pyilcd
Installation
You can install pyilcd via [pip] from [PyPI]:
$ pip install pyilcd
Usage
from pyilcd import parse_file_contact_dataset, validate_file_contact_dataset, save_ilcd_file, Defaults
# Override defaults if needed, else skip. Defaults are already set.
Defaults.config_defaults("config.ini") # Replace with your own config file
# Validate the ContactDataset class against the ContactDataset schema.
validate_file_contact_dataset("data/invalid/sample_contact_invalid.xml") # Replace with your own XML file
>> data/contact/sample_contact_invalid.xml:17:0:ERROR:SCHEMASV:SCHEMAV_CVC_DATATYPE_VALID_1_2_1: Element '{http://lca.jrc.it/ILCD/Common}class', attribute 'level': 'a' is not a valid value of the atomic type '{http://lca.jrc.it/ILCD/Common}LevelType'. data/contact/sample_contact_invalid.xml:17:0:ERROR:SCHEMASV:SCHEMAV_CVC_IDC: Element '{http://lca.jrc.it/ILCD/Common}class', attribute 'level': Warning: No precomputed value available, the value was either invalid or something strange happened.
# Parse the required XML file to ContactDataset class.
contactDataset = parse_file_contact_dataset("data/contact/sample_contact.xml") # Replace with your own XML file
contactDataset
>> <Element {http://lca.jrc.it/ILCD/Contact}contactDataSet at 0x1c85f20c780>
## Change whatever attributes you need changing.
dataSetInformation = contactDataset.contactInformation.dataSetInformation
dataSetInformation.UUID
>> 00000000-0000-0000-0000-000000000000
dataSetInformation.UUID = "10000000-0000-0000-0000-000000000000"
dataSetInformation.UUID
>> 10000000-0000-0000-0000-000000000000
## Save final ContactDataset class as an XML file, make sure root directory exists.
save_ilcd_file(contactDataset, "out/sample_contact_new.xml") # Replace with your own path
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the GPL 3.0 license, pyilcd is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
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
pyilcd-6.3.1.tar.gz
(119.5 kB
view details)
Built Distribution
pyilcd-6.3.1-py3-none-any.whl
(133.1 kB
view details)
File details
Details for the file pyilcd-6.3.1.tar.gz
.
File metadata
- Download URL: pyilcd-6.3.1.tar.gz
- Upload date:
- Size: 119.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68878f4bd0b746f150b0ac17f3947a454c58cc6b9fdea4be136c91815729e5ea |
|
MD5 | 6adba742b13d4820bfcf8020122f6a91 |
|
BLAKE2b-256 | 09370725958ee9739d982627450931787a5661dff0356b26604e18abff8f5107 |
File details
Details for the file pyilcd-6.3.1-py3-none-any.whl
.
File metadata
- Download URL: pyilcd-6.3.1-py3-none-any.whl
- Upload date:
- Size: 133.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.12.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0092d53c154c41656514adeeae6f0cc96c45259a4e7c605e6eabfe8d513dd39f |
|
MD5 | 9c0c5a436c7bd5d31bf4d67c198aec86 |
|
BLAKE2b-256 | 7798d51e4a67bc4aefdc07a83989ce83e842ac57b0bc2a540ff0fefe13511488 |