Publiccode
The following metadata fields can be extracted from a publiccode.yml file.
These fields are defined in the PublicCode specification, currently at version 0.5.0, and are mapped according to the CodeMeta crosswalk for publiccode.yml and csv CodeMeta crosswalk for publiccode.yml
| Software metadata category | SOMEF metadata JSON path | PUBLICCODE.YML metadata file field |
|---|---|---|
| application_domain | application_domain[i].result.value | categories or description.[lang].genericName (1) |
| code_repository | code_repository[i].result.value | url |
| date_published | date_published[i].result.value | releaseDate |
| date_updated | date_updated[i].result.value | releaseDate |
| description | description[i].result.value | description.[lang].shortDescription or description.[lang].longDescription (2) |
| development_status | development_status[i].result.value | developmentStatus |
| has_package_file | has_package_file[i].result.value | URL of the publiccode.yml file |
| keywords | keywords[i].result.value | description.[lang].features (3) |
| license - value | license[i].result.value | legal.license (4) |
| license - spdx id | license[i].result.spdx_id | legal.license extract spdx id (4) |
| license - name | license[i].result.name | legal.license extract name (4) |
| name | name[i].result.value | name or description.[lang].localisedName (5) |
| requirements - value | requirements[i].result.value | dependsOn.open / dependsOn.proprietary / dependsOn.hardware name + version (6) |
| requirements - name | requirements[i].result.name | dependsOn.open / dependsOn.proprietary / dependsOn.hardware name (6) |
| requiriments - version | requirements[i].result.version | dependsOn.open / dependsOn.proprietary / dependsOn.hardware more than one label of version (6) |
| runtime_platform | runtime_platform[i].result.value | platforms |
| version | version[i].result.value | softwareVersion |
(1) - Example:
categories:
- data-collection
- it-development
or
description:
nl:
genericName: API component
(2) - Example:
description:
nl:
shortDescription: API voor het beheren van objecten
longDescription: >
De **Objecten API** heeft als doel om uiteenlopende objecten eenvoudig te kunnen
registreren en ontsluiten in een gestandaardiseerd formaat. De Objecten API kan
....`_.
en:
shortDescription: API to manage objects
longDescription: >
The **Objects API** aims to easily store various objects and make them available in
standardized format. The Objects API can be used by any organization to manage
relevant objects. An organization can also choose to use the Objects API to
....`_.
(3) - Example:
description:
nl:
features:
- Objecten API
- Minimalistische objecten beheerinterface
en:
features:
- Objects API
- Minimalistic object management interface
(4) - Look for expressions in a local dictionary with all the reference and spdx_id - Example:
legal:
license: AGPL-3.0-or-later
mainCopyrightOwner: City of Chicago
repoOwner: City of Chicago
-Result:
'result':
{'value': 'AGPL-3.0-or-later',
'spdx_id': 'AGPL-3.0',
'name': 'GNU Affero General Public License v3.0',
'type': 'License'},
(5)
- Example:
name: Medusa
or
description:
en:
localisedName: Medusa
(6) - Examples:
dependsOn:
open:
- name: Objecttypes API
optional: false
version: '1.0'
- name: MySQL
versionMin: "1.1"
versionMax: "1.3"
optional: true
- name: PostgreSQL
versionMin: "14.0"
optional: true
- Result PostgreSQL:
"result": {
"value": "PostgreSQL>=14.0",
"name": "PostgreSQL",
"version": ">=14.0",
"type": "Software_application",
"dependency_type": "runtime"
},