Skip to main content

A Python package that converts ecospold XML formats to their Python equivalents and export the same data back to XML.

Project description

pyecospold

PyPI Status Python Version License

Read the documentation at https://pyecospold.readthedocs.io/ Tests Codecov

pre-commit Black

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 and subCategory 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyecospold-3.5.5.tar.gz (128.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyecospold-3.5.5-py3-none-any.whl (137.6 kB view details)

Uploaded Python 3

File details

Details for the file pyecospold-3.5.5.tar.gz.

File metadata

  • Download URL: pyecospold-3.5.5.tar.gz
  • Upload date:
  • Size: 128.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pyecospold-3.5.5.tar.gz
Algorithm Hash digest
SHA256 eeb597f4af9853b7a7de7d9e9b5b5ceb0dd56a7ceaaa7f13cfaddaf54167a3bd
MD5 c10c12e5c0638c7513d21b157eb9a8d3
BLAKE2b-256 744884444532f95f654ebc6fac332a8b3032605a9693e5a42ef849a7445f0b80

See more details on using hashes here.

File details

Details for the file pyecospold-3.5.5-py3-none-any.whl.

File metadata

  • Download URL: pyecospold-3.5.5-py3-none-any.whl
  • Upload date:
  • Size: 137.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pyecospold-3.5.5-py3-none-any.whl
Algorithm Hash digest
SHA256 479acc1e2d95a88517d87094329bdc38928bff662ef030cb1164f88531dccf71
MD5 b8f2f915cfd73cbc92d53fd48cdb4b4f
BLAKE2b-256 6a9ff0d9335aeeb993c871c04bc1a39377ebe9db9078325e77c3f346fce6d6c0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page