A Python package that converts ecospold XML formats to their Python equivalents and export the same data back to XML.
Project description
pyecospold
Installation
You can install pyecospold via [pip] from [PyPI]:
$ pip install pyecospold
ecospold1 Schema Updates
1.1
This library includes a new version of the schema definitions for ecospold1. Version 1.1 includes the following changes:
- Changed the length restriction on
referenceFunction.name
to 255 - Changed the length restriction on
referenceFunction.synonym
to 255 - Changed the length restriction on
category
andsubCategory
to 255 - Changed the length restriction on
representativeness.productionVolume
to 32.000 - Made
telephone
optional
These changes were based on how this schema was being used by LCA software.
1.2
Corrected the handling of CAS numbers based on the official documentation:
- A fixed size isn't required, zero-padding is optional and in any case is not used consistently by LCA software
- Maximum length is 12, not 11
- The first element has a minimum size of 2 digits, not 1
Usage
from pyecospold import parse_file_v1, save_ecospold_file, Defaults
# Override defaults if needed, else skip. Defaults are already set.
Defaults.config_defaults("config.ini") # Replace with your own config file
# Parse the required XML file to EcoSpold class.
ecoSpold = parse_file_v1("data/v1/v1_1.xml") # Replace with your own XML file
ecoSpold
>> <Element {http://www.EcoInvent.org/EcoSpold01}ecoSpold at 0x1e667f7dae0>
# Change whatever attributes you need changing.
referenceFunction = ecoSpold.datasets[0].metaInformation.processInformation.referenceFunction
referenceFunction.amount
>> 1.0
referenceFunction.amount = 2.0
referenceFunction.amount
>> 2.0
# Save final EcoSpold class as an XML file, make sure root directory exists.
save_ecospold_file(ecoSpold, "out/00001_new.xml") # Replace with your own path
Config file
[parameters]
SCHEMA_V1_FILE=path/to/schemas/v1/EcoSpold01Dataset.xsd
SCHEMA_V2_FILE=path/to/schemas/v2/EcoSpold02.xsd
[Allocation]
allocationMethod=-1
[DataEntryBy]
qualityNetwork=1
[Dataset]
validCompanyCodes=CompanyCodes.xml
validRegionalCodes=RegionalCodes.xml
validCategories=Categories.xml
validUnits=Units.xml
[DataSetInformation]
impactAssessmentResult=false
internalVersion=1.0
version=1.0
[Exchange]
uncertaintyType=1
[ReferenceFunction]
infrastructureProcess=true
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the BSD license, pyecospold is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Credits
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 pyecospold-4.0.0.tar.gz
.
File metadata
- Download URL: pyecospold-4.0.0.tar.gz
- Upload date:
- Size: 134.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10a94b4814c1e16a7f418d8c472e909fb9505450ea0d213d194b06c666a91e7a |
|
MD5 | 36d347dc613874b21cc1a2bd219996b8 |
|
BLAKE2b-256 | cbafa9b3e8c1b45a149d6506b614db23a89894506d67573013a3363739a2596f |
File details
Details for the file pyecospold-4.0.0-py3-none-any.whl
.
File metadata
- Download URL: pyecospold-4.0.0-py3-none-any.whl
- Upload date:
- Size: 142.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcda7391c557bf0c0e3e34f55c5e172a2a1e06f539a19b1c3b3d71dc3b9aadc3 |
|
MD5 | 3548e38acf7b2b88f364d07676fcc144 |
|
BLAKE2b-256 | 91e3c20721ffc72e610a6abd017d5bbdf29e09747c3b2ad60df55fbb28ed2e7c |