Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pyecospold

Package Overview
Dependencies
Maintainers
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pyecospold

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

  • 4.0.0
  • PyPI
  • Socket score

Maintainers
2

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

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc