Skip to main content

A modular Python package for Digital Product Passport modeling with identity, structure, lifecycle, risk, sustainability, provenance layers, and universal part classes.

Project description

Digital Product Passport

License Stars GitHub open issues GitHub open pull requests Repo Size Contributors

Contents


Description

A modular Python package that enables manufacturing companies to create interoperable Digital Product Passports (DPPs) by mapping their existing business data to standardized DPP data models using automated semantic matching and intuitive configuration tools.


Installation

From PyPI

pip install remake_dpp

Pip Install

From Source

git clone git@github.com:nmis-group/remake_dpp.git
cd remake_dpp  
pip install .

Git Clone


Package Layout

remake_dpp/
├── docs/
│   ├── api-model.md
│   ├── api-schema-registry.md
│   ├── concepts-gas.md
│   ├── docs.json
│   ├── intro.md
│   ├── quickstart.md
│   ├── schemas-eclass.md
│   ├── schemas-isa95.md
│   └── usage-python.md
├── nmis_dpp/
│   ├── mappers/
│   │   ├── __init__.py
│   │   ├── battery_dpp_mapper.py       # EU Battery Passport mapper (Reg 2023/1542)
│   │   ├── eclass_mapper.py
│   │   └── isa95_mapper.py
│   ├── ontology_data/
│   │   ├── eclass_16/
│   │   │   ├── dictionary_assets_en/
│   │   │   │   ├── ECLASS16_0_ASSET_EN_SG_13.xml
│   │   │   │   ├── ...     
│   │   │   │   └── ECLASS16_0_ASSET_EN_SG_90.xml
│   │   │   ├── unitsml_en/
│   │   │   │   └── ECLASS16_0_UNITSML_EN.xml 
│   │   │   └── ECLASS_ASSET_XML_Read_Me_EN_v1.pdf 
│   │   ├── isa95/
│   │   │   ├── Documentation/  
│   │   │   │   ├── B2MML-BatchML-CodeGeneration.docx
│   │   │   │   ├── B2MML-Documentation.pdf
│   │   │   │   ├── B2MML-JSON-Documentation.pdf
│   │   │   │   ├── BatchML-BatchInformation.docx                                                
│   │   │   │   ├── BatchML-BatchProductionRecord.docx
│   │   │   │   └── BatchML-GeneralRecipe.docx
│   │   │   ├── Examples/  
│   │   │   │   ├── BatchML v02 Cough Syrup Example Files.zip
│   │   │   │   ├── BatchML v0401 Example with extensions.zip
│   │   │   │   ├── Courbon B2MML v0401 Example XML Files.zip
│   │   │   │   ├── Readme.txt
│   │   │   │   └── ReportAboutUseOfB2MMLinARTISAN.pdf
│   │   │   ├── Schema/  
│   │   │   │   ├── AllSchemas.json
│   │   │   │   ├── B2MML-AllExtensions.xsd
│   │   │   │   ├── B2MML-Common.xsd                                               
│   │   │   │   ├── B2MML-CommonExtensions.xsd
│   │   │   │   ├── ...
│   │   │   │   └── BatchML-GeneralRecipeExtensions.xsd
│   │   │   └── README.md
│   │   └── README.md 
│   ├── __init__.py                     # Package initialization
│   ├── adapters.py                     # Input adapters (ECLASS XML, ISA-95, CSV → DPP)
│   ├── api.py                          # High-level facade for the package
│   ├── cli.py                          # Command line interface 
│   ├── eclass_build_mapping.py         # ECLASS build mapping 
│   ├── isa95_build_mapping.py          # ISA95 build mapping 
│   ├── model.py                        # Core models for DPP layers 
│   ├── part_class.py                   # Universal part class set 
│   ├── schema_base.py                  # Base schema for DPP layers 
│   ├── schema_registry.py              # Schema registry 
│   └── utils.py                        # Any helper functions 
├── tests/
│   ├── BatteryPassDataModel-main/      # BatteryPass Consortium v1.2.0 reference schemas
│   │   ├── BatteryPass/                # SAMM aspect models (TTL) and generated artefacts
│   │   │   ├── io.BatteryPass.CarbonFootprint/
│   │   │   ├── io.BatteryPass.Circularity/
│   │   │   ├── io.BatteryPass.GeneralProductInformation/
│   │   │   ├── io.BatteryPass.MaterialComposition/
│   │   │   ├── io.BatteryPass.Performance/
│   │   │   └── io.BatteryPass.SupplyChainDueDiligence/
│   │   └── docs/                       # BatteryPass consortium deliverables (PDFs)
│   ├── JSON_Payload/
│   │   └── BattreyPassportPayload.json # Real-world Catena-X battery passport payload
│   ├── test_api.py                     # Tests for the high-level API facade
│   ├── test_battery_dpp_mapper.py      # BatteryDPPMapper unit tests + BatteryPass v1.2.0 compliance scoring
│   ├── test_mappers.py                 # Tests for ECLASS and ISA-95 mappers
│   ├── test_model.py                   # Tests for DPP layer models
│   ├── test_part_class.py              # Tests for part class hierarchy
│   ├── test_payload_battery_pass.py    # End-to-end: Catena-X payload → DPP → BatteryPass compliance
│   ├── test_registry_extended.py       # Extended schema registry tests
│   ├── test_schema_f1_coverage.py      # Precision / recall / F1 coverage metrics vs literature baselines
│   ├── test_schema_registry.py         # Schema registry tests
│   └── test_schema_registry_second.py  # Additional registry tests
├── .gitignore                          # Git ignore 
├── .gitattributes                      # Git attributes
├── coffee_machine.json                 # Coffee machine DPP example
├── eclass_part_class_mapping.yaml      # ECLASS part class mapping
├── generate_dpp_json.py                # Generate Coffee Machine DPP JSON 
├── isa95_part_class_mapping.yaml       # ISA95 part class mapping 
├── LICENSE.txt                         # License 
├── package.json                        # Package configuration 
├── PRD_DPP.md                          # Product requirements document 
├── pyproject.toml                      # Project configuration 
├── README.md                           # README 
└── usage.py                            # Usage example

Requirements

  • Python 3.7+
  • No external dependencies (uses Python dataclasses and standard library)
  • pyproject.toml - for package configuration

Documentation

The documentation can be loaded by navigating to the docs/ directory after cloning the repository and running the command:

mint dev

This will start a local web server and open the documentation in your browser.


Contributing

Refer to CONTRIBUTING.md for more information.


License

Distributed under the MIT License. See LICENSE.txt for details.


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

remake_dpp-1.1.0.tar.gz (69.2 kB view details)

Uploaded Source

Built Distribution

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

remake_dpp-1.1.0-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file remake_dpp-1.1.0.tar.gz.

File metadata

  • Download URL: remake_dpp-1.1.0.tar.gz
  • Upload date:
  • Size: 69.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for remake_dpp-1.1.0.tar.gz
Algorithm Hash digest
SHA256 df50e8e46fe57f49a19038b5927876cefe07a7bc0500fba753ebb758185d6d06
MD5 faf710a3fd462ebe569f6b9853ee9802
BLAKE2b-256 5dbebb55e9281b6c44068ac8a8e8f99a486e84c5f8fe4419473786a054ec3b04

See more details on using hashes here.

Provenance

The following attestation bundles were made for remake_dpp-1.1.0.tar.gz:

Publisher: publish.yml on nmis-group/remake_dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file remake_dpp-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: remake_dpp-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 41.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for remake_dpp-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e759893654bd2eafd4fcf30f159cb6a1e4571b4e8a8d5e66d34cbc5187cd5e2f
MD5 ba1f2bed9ff5dc78df94ca934133ae6c
BLAKE2b-256 1fae04ebbc0fe1592e949965aacac0b5080434442e7a2550a7c164567a201a62

See more details on using hashes here.

Provenance

The following attestation bundles were made for remake_dpp-1.1.0-py3-none-any.whl:

Publisher: publish.yml on nmis-group/remake_dpp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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