@tracepass/dpp-schemas 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -23
- package/instruments.json +29 -8
- package/package.json +1 -1
- package/templates/battery.json +131 -72
- package/templates/construction.json +20 -13
- package/templates/detergents.json +119 -60
- package/templates/electronics.json +311 -165
- package/templates/fmcg.json +66 -33
- package/templates/furniture.json +97 -49
- package/templates/jewelry.json +44 -22
- package/templates/packaging.json +114 -57
- package/templates/paints-coatings.json +89 -45
- package/templates/steel.json +81 -41
- package/templates/textile.json +87 -46
- package/templates/toys.json +26 -13
- package/templates/tyres.json +88 -47
package/README.md
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
|
|
7
7
|
# EU Digital Product Passport — Field Specifications
|
|
8
8
|
|
|
9
|
-
**Machine-readable field specs for
|
|
9
|
+
**Machine-readable field specs for 13 product categories, with every field traced to the article of EU law that mandates it.**
|
|
10
10
|
|
|
11
11
|
[](./LICENSE)
|
|
12
12
|
[](https://www.npmjs.com/package/@tracepass/dpp-schemas)
|
|
13
|
-
[](#whats-in-here)
|
|
14
|
+
[](#whats-in-here)
|
|
15
15
|
[](#no-build-step)
|
|
16
16
|
[](./schema.json)
|
|
17
17
|
|
|
@@ -39,28 +39,31 @@ this repository contains.
|
|
|
39
39
|
|
|
40
40
|
## What's in here
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
Thirteen JSON files, one per product category. **1,004 fields in total. 190 are required by
|
|
43
|
+
an instrument in force; 214 are anticipated under a rule that has not yet been adopted.**
|
|
44
44
|
|
|
45
45
|
| Category | Fields | Required | Instrument |
|
|
46
46
|
|---|---:|---:|---|
|
|
47
47
|
| `battery` | 119 | 54 | Regulation (EU) 2023/1542 |
|
|
48
|
-
| `
|
|
49
|
-
| `
|
|
50
|
-
| `electronics` | 167 |
|
|
51
|
-
| `fmcg` | 42 |
|
|
52
|
-
| `furniture` | 79 |
|
|
53
|
-
| `jewelry` |
|
|
48
|
+
| `construction` | 49 | 4 | CPR (EU) 2024/3110 |
|
|
49
|
+
| `detergents` | 87 | 28 | Regulation (EU) 2026/405 |
|
|
50
|
+
| `electronics` | 167 | 4 | ESPR (EU) 2024/1781 |
|
|
51
|
+
| `fmcg` | 42 | 9 | ESPR (EU) 2024/1781 |
|
|
52
|
+
| `furniture` | 79 | 4 | ESPR (EU) 2024/1781 |
|
|
53
|
+
| `jewelry` | 53 | 3 | ESPR (EU) 2024/1781 |
|
|
54
54
|
| `packaging` | 66 | 9 | PPWR (EU) 2025/40 |
|
|
55
|
+
| `paints-coatings` | 75 | 25 | Directive 2004/42/EC |
|
|
55
56
|
| `steel` | 84 | 29 | ESPR (EU) 2024/1781 |
|
|
56
|
-
| `textile` | 60 |
|
|
57
|
-
| `toys` | 28 | 14 |
|
|
58
|
-
| `tyres` | 95 |
|
|
59
|
-
|
|
60
|
-
Battery
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
| `textile` | 60 | 5 | ESPR (EU) 2024/1781 |
|
|
58
|
+
| `toys` | 28 | 14 | Regulation (EU) 2025/2509 |
|
|
59
|
+
| `tyres` | 95 | 2 | ESPR (EU) 2024/1781 |
|
|
60
|
+
|
|
61
|
+
Battery carries the most required fields because Regulation (EU) 2023/1542 Art. 77 sets a
|
|
62
|
+
real statutory date — 18 February 2027 — rather than awaiting a delegated act. The other
|
|
63
|
+
categories with dated obligations are `detergents`, `toys` and `paints-coatings`; the
|
|
64
|
+
remaining nine await an ESPR delegated act and so carry mostly `anticipated` fields.
|
|
65
|
+
|
|
66
|
+
It is not the case that every battery field is required: the template also carries fields that are
|
|
64
67
|
`anticipated` (pending the carbon-footprint and due-diligence implementing acts) and
|
|
65
68
|
fields that apply only to some battery sub-categories via `validation.requiredBy`.
|
|
66
69
|
|
|
@@ -115,11 +118,13 @@ in from 2027, so `packaging` carries `2027`, not `2026-08-12`.
|
|
|
115
118
|
Read both dates with their precision marker. `datePrecision` / `mandatoryDatePrecision`
|
|
116
119
|
are `"day"` or `"year"`; absent means `"day"`:
|
|
117
120
|
|
|
118
|
-
- **`"day"`** — a real statutory date. Battery is `2027-02-18`, set by
|
|
121
|
+
- **`"day"`** — a real statutory date. Battery is `2027-02-18`, set by Regulation (EU)
|
|
122
|
+
2023/1542 Article 77.
|
|
119
123
|
- **`"year"`** — only the year is known, because the governing delegated or implementing
|
|
120
124
|
act is not yet adopted. The day and month are filler. **Do not render these as a
|
|
121
|
-
deadline.**
|
|
122
|
-
`
|
|
125
|
+
deadline.** Nine of the thirteen categories are currently `"year"`. The four with a real
|
|
126
|
+
statutory date are `battery` (2027-02-18), `detergents` (2029-09-23), `toys`
|
|
127
|
+
(2030-08-01), and `paints-coatings` (2010-01-01, an instrument long in force).
|
|
123
128
|
|
|
124
129
|
```python
|
|
125
130
|
r = template["regulation"]
|
|
@@ -186,7 +191,7 @@ npm install @tracepass/dpp-schemas
|
|
|
186
191
|
## Validating the specs themselves
|
|
187
192
|
|
|
188
193
|
[`schema.json`](./schema.json) is a JSON Schema (Draft 2020-12) describing the template
|
|
189
|
-
format. All
|
|
194
|
+
format. All 13 templates validate against it — which is how the format stays honest.
|
|
190
195
|
|
|
191
196
|
```bash
|
|
192
197
|
pip install jsonschema
|
package/instruments.json
CHANGED
|
@@ -126,7 +126,7 @@
|
|
|
126
126
|
"createsDpp": true,
|
|
127
127
|
"note": "In force 1 Jan 2026 for the notified-body articles (28-44, 49-55); the Regulation applies from 1 Aug 2030. The toy DPP REPLACES the EU declaration of conformity under Directive 2009/48/EC. This — not ESPR — is the source of the toy passport. The Directive remains the operative product-requirement instrument until then and creates no passport.",
|
|
128
128
|
"dppMandatoryFrom": "2030-08-01",
|
|
129
|
-
"dppProvision": "Art.
|
|
129
|
+
"dppProvision": "Art. 19 (DPP) — applies with the Regulation from 1 Aug 2030"
|
|
130
130
|
},
|
|
131
131
|
"32011R1007": {
|
|
132
132
|
"kind": "legislation",
|
|
@@ -225,13 +225,6 @@
|
|
|
225
225
|
"eli": "http://data.europa.eu/eli/reg/2018/848/oj",
|
|
226
226
|
"createsDpp": false
|
|
227
227
|
},
|
|
228
|
-
"32009R0661": {
|
|
229
|
-
"kind": "legislation",
|
|
230
|
-
"shortName": "General Safety Regulation (vehicles)",
|
|
231
|
-
"title": "Regulation (EC) 661/2009 concerning type-approval requirements for the general safety of motor vehicles",
|
|
232
|
-
"eli": "http://data.europa.eu/eli/reg/2009/661/oj",
|
|
233
|
-
"createsDpp": false
|
|
234
|
-
},
|
|
235
228
|
"32004R0648": {
|
|
236
229
|
"kind": "legislation",
|
|
237
230
|
"shortName": "Detergents Regulation (2004)",
|
|
@@ -285,6 +278,34 @@
|
|
|
285
278
|
"eli": "http://data.europa.eu/eli/reg/1987/2658/oj",
|
|
286
279
|
"createsDpp": false,
|
|
287
280
|
"note": "Annex I is the CN/TARIC commodity-code list. Both ESPR Art. 8(a) and Detergents Annex VI Part A(f) require the commodity code by reference to it. Not a passport instrument."
|
|
281
|
+
},
|
|
282
|
+
"32019R2144": {
|
|
283
|
+
"kind": "legislation",
|
|
284
|
+
"shortName": "General Safety Regulation (vehicles)",
|
|
285
|
+
"title": "Regulation (EU) 2019/2144 on type-approval requirements for the general safety of motor vehicles",
|
|
286
|
+
"eli": "http://data.europa.eu/eli/reg/2019/2144/oj",
|
|
287
|
+
"createsDpp": false
|
|
288
|
+
},
|
|
289
|
+
"32017R1369": {
|
|
290
|
+
"kind": "legislation",
|
|
291
|
+
"shortName": "Energy Labelling Regulation",
|
|
292
|
+
"title": "Regulation (EU) 2017/1369 setting a framework for energy labelling",
|
|
293
|
+
"eli": "http://data.europa.eu/eli/reg/2017/1369/oj",
|
|
294
|
+
"createsDpp": false
|
|
295
|
+
},
|
|
296
|
+
"32024R1252": {
|
|
297
|
+
"kind": "legislation",
|
|
298
|
+
"shortName": "Critical Raw Materials Act",
|
|
299
|
+
"title": "Regulation (EU) 2024/1252 establishing a framework for ensuring a secure and sustainable supply of critical raw materials",
|
|
300
|
+
"eli": "http://data.europa.eu/eli/reg/2024/1252/oj",
|
|
301
|
+
"createsDpp": false
|
|
302
|
+
},
|
|
303
|
+
"32014L0045": {
|
|
304
|
+
"kind": "legislation",
|
|
305
|
+
"shortName": "Roadworthiness Testing Directive",
|
|
306
|
+
"title": "Directive 2014/45/EU on periodic roadworthiness tests for motor vehicles and their trailers",
|
|
307
|
+
"eli": "http://data.europa.eu/eli/dir/2014/45/oj",
|
|
308
|
+
"createsDpp": false
|
|
288
309
|
}
|
|
289
310
|
},
|
|
290
311
|
"nonLegislative": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tracepass/dpp-schemas",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Machine-readable field specifications for EU Digital Product Passports (ESPR) — 13 product categories, 1004 fields, each traced to the article of EU law that mandates it. Pure JSON, no dependencies.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"digital-product-passport",
|