{
    "@context": [
        "https://w3id.org/codemeta/3.0",
        "https://w3id.org/software-iodata",
        "https://w3id.org/nwo-research-fields",
        "https://raw.githubusercontent.com/jantman/repostatus.org/master/badges/latest/ontology.jsonld",
        "https://w3id.org/research-technology-readiness-levels",
        "https://schema.org",
        "https://w3id.org/software-types"
    ],
    "@id": "https://tools.clariah.nl/codemetapy/3.0.3",
    "@type": "SoftwareSourceCode",
    "applicationCategory": [
        "Software Development",
        {
            "@id": "https://vocabs.dariah.eu/tadirah/converting",
            "@type": "skos:Concept",
            "dc:contributor": [
                "Akihiro Kameda",
                "Aurélien Berra",
                "Christof Schöch",
                "Claudia Müller-Birn",
                "Elisabeth Burr",
                "Francesca Tomasi",
                "Gimena del Rio Riande",
                "Hideyuki Ohshima",
                "Ikki Ohmukai",
                "Jun Ogawa",
                "Kiyonori Nagasaki",
                "Klaus Thoden",
                "Luise Borek",
                "Mariko Kasahara",
                "Martin Grandjean",
                "Masao Oi",
                "Melanie Siemund",
                "Monica Berti",
                "Natsuko Nakagawa",
                "Nozomi Ohtsuki",
                "Ryo Mochizuki",
                "Saskia Lindner",
                "Shintaro Seki",
                "Shumpei Katakura",
                "So Miyagawa",
                "Tamara Butigan",
                "Thibault Clérice",
                "Tiziana Mancinelli",
                "Toma Tasovac",
                "Tomoteru Kiyuna",
                "Toshiki Koike",
                "Vanja Savic",
                "Vincent Razanajao",
                "Yi Yeong-il",
                "Yoichiro Watanabe"
            ],
            "dc:creator": [
                "Canan Hastik",
                "Jonathan Geiger",
                "Luise Borek",
                "Vera Khramova"
            ],
            "dct:created": {
                "@type": "xsd:dateTime",
                "@value": "2024-05-22T11:18:46.613486+00:00"
            },
            "dct:modified": {
                "@type": "xsd:dateTime",
                "@value": "2025-09-04T13:49:20.524294+00:00"
            },
            "skos:broader": {
                "@id": "https://vocabs.dariah.eu/tadirah/capturing"
            },
            "skos:closeMatch": {
                "@id": "http://tadirah.dariah.eu/vocab/index.php?tema=8&/conversion",
                "skos:closeMatch": {
                    "@id": "https://vocabs.dariah.eu/tadirah/converting"
                }
            },
            "skos:inScheme": {
                "@id": "https://vocabs.dariah.eu/tadirah/"
            },
            "skos:narrower": [
                {
                    "@id": "https://vocabs.dariah.eu/tadirah/compiling"
                },
                {
                    "@id": "https://vocabs.dariah.eu/tadirah/lemmatizing"
                },
                {
                    "@id": "https://vocabs.dariah.eu/tadirah/naturalLanguageProcessing"
                },
                {
                    "@id": "https://vocabs.dariah.eu/tadirah/parsing"
                },
                {
                    "@id": "https://vocabs.dariah.eu/tadirah/transcoding"
                }
            ],
            "skos:note": [
                {
                    "@language": "en",
                    "@value": "converting refers to changing the file format of an object, e.g. converting a .wmv video to a .mov file or converting VHS into a digital format. A conversion is not lossless and generates a different data format, digital representation, or a different digital object. When converting concerns metadata, it may involve mapping one metadata schema to another."
                },
                {
                    "@language": "ja",
                    "@value": "変換とは、オブジェクトのファイル形式を変更することを指し、例えば、.wmv形式のビデオを.movファイルに変換することや、VHSをデジタル形式に変換することが挙げられる。変換は無損失（ロスレス）ではなく、異なるデータ形式、デジタル表現、あるいは異なるデジタルオブジェクトを生成する。変換がメタデータに関係する場合には、あるメタデータスキーマを他のスキーマにマッピングすることを意味する可能性がある。"
                }
            ],
            "skos:prefLabel": [
                {
                    "@language": "de",
                    "@value": "Konvertieren"
                },
                {
                    "@language": "en",
                    "@value": "Converting"
                },
                {
                    "@language": "es",
                    "@value": "Conversión"
                },
                {
                    "@language": "fr",
                    "@value": "Conversion"
                },
                {
                    "@language": "it",
                    "@value": "Conversione"
                },
                {
                    "@language": "ja",
                    "@value": "変換"
                },
                {
                    "@language": "pt",
                    "@value": "Conversão"
                },
                {
                    "@language": "sr",
                    "@value": "Конвертовање"
                }
            ]
        },
        {
            "@id": "nwo:ComputerScience",
            "@type": [
                "ResearchField",
                "skos:Concept"
            ],
            "skos:inScheme": "https://w3id.org/nwo-research-fields#Scheme",
            "skos:notation": "49.90.00",
            "skos:prefLabel": "Computer science"
        }
    ],
    "applicationSuite": "CLARIAH Tool Discovery",
    "audience": {
        "@id": "https://tools.clariah.nl/audience/developers",
        "@type": "Audience",
        "audienceType": "Developers"
    },
    "author": [
        {
            "@id": "https://orcid.org/0000-0002-1046-0006",
            "@type": "Person",
            "affiliation": [
                {
                    "@id": "https://www.ru.nl/clst",
                    "@type": "Organization",
                    "name": "Centre for Language and Speech Technology",
                    "parentOrganization": {
                        "@id": "https://www.ru.nl/cls",
                        "@type": "Organization",
                        "name": "Centre for Language Studies",
                        "parentOrganization": {
                            "@id": "https://www.ru.nl",
                            "@type": "Organization",
                            "location": {
                                "@type": "Place",
                                "name": "Nijmegen"
                            },
                            "name": "Radboud University",
                            "url": "https://www.ru.nl"
                        },
                        "url": "https://www.ru.nl/cls"
                    },
                    "url": "https://www.ru.nl/clst"
                },
                {
                    "@id": "https://huc.knaw.nl",
                    "@type": "Organization",
                    "name": [
                        "Humanities Cluster",
                        "KNAW Humanities Cluster"
                    ],
                    "parentOrganization": {
                        "@id": "https://knaw.nl",
                        "@type": "Organization",
                        "location": {
                            "@type": "Place",
                            "name": "Amsterdam"
                        },
                        "name": "KNAW",
                        "url": "https://knaw.nl"
                    },
                    "url": "https://huc.knaw.nl"
                },
                {
                    "@id": "https://www.ru.nl/cls",
                    "@type": "Organization",
                    "name": "Centre for Language Studies",
                    "parentOrganization": {
                        "@id": "https://www.ru.nl",
                        "@type": "Organization",
                        "location": {
                            "@type": "Place",
                            "name": "Nijmegen"
                        },
                        "name": "Radboud University",
                        "url": "https://www.ru.nl"
                    },
                    "url": "https://www.ru.nl/cls"
                },
                {
                    "@id": "https://knaw.huc.nl"
                }
            ],
            "email": "proycon@anaproy.nl",
            "familyName": "van Gompel",
            "givenName": "Maarten",
            "position": 4,
            "url": "https://proycon.anaproy.nl"
        }
    ],
    "codeRepository": "https://github.com/proycon/codemetapy",
    "continuousIntegration": {
        "@id": "https://github.com/proycon/codemetapy/actions/"
    },
    "contributor": [
        {
            "@id": "https://orcid.org/0000-0002-1046-0006",
            "@type": "Person",
            "affiliation": [
                {
                    "@id": "https://www.ru.nl/clst",
                    "@type": "Organization",
                    "name": "Centre for Language and Speech Technology",
                    "parentOrganization": {
                        "@id": "https://www.ru.nl/cls",
                        "@type": "Organization",
                        "name": "Centre for Language Studies",
                        "parentOrganization": {
                            "@id": "https://www.ru.nl",
                            "@type": "Organization",
                            "location": {
                                "@type": "Place",
                                "name": "Nijmegen"
                            },
                            "name": "Radboud University",
                            "url": "https://www.ru.nl"
                        },
                        "url": "https://www.ru.nl/cls"
                    },
                    "url": "https://www.ru.nl/clst"
                },
                {
                    "@id": "https://huc.knaw.nl",
                    "@type": "Organization",
                    "name": [
                        "Humanities Cluster",
                        "KNAW Humanities Cluster"
                    ],
                    "parentOrganization": {
                        "@id": "https://knaw.nl",
                        "@type": "Organization",
                        "location": {
                            "@type": "Place",
                            "name": "Amsterdam"
                        },
                        "name": "KNAW",
                        "url": "https://knaw.nl"
                    },
                    "url": "https://huc.knaw.nl"
                },
                {
                    "@id": "https://www.ru.nl/cls",
                    "@type": "Organization",
                    "name": "Centre for Language Studies",
                    "parentOrganization": {
                        "@id": "https://www.ru.nl",
                        "@type": "Organization",
                        "location": {
                            "@type": "Place",
                            "name": "Nijmegen"
                        },
                        "name": "Radboud University",
                        "url": "https://www.ru.nl"
                    },
                    "url": "https://www.ru.nl/cls"
                },
                {
                    "@id": "https://knaw.huc.nl"
                }
            ],
            "email": "proycon@anaproy.nl",
            "familyName": "van Gompel",
            "givenName": "Maarten",
            "position": 4,
            "url": "https://proycon.anaproy.nl"
        }
    ],
    "dateCreated": "2018-04-16T10:54:22Z+0200",
    "dateModified": "2026-03-18T13:11:47Z+0200",
    "description": "Codemetapy is a command-line tool and python library to work with the codemeta software metadata standard. Codemeta builds upon schema.org and defines a vocabulary for describing software source code. It maps various existing metadata standards to a unified vocabulary. Codemetapy allows you to generate codemeta from various sources.",
    "developmentStatus": [
        {
            "@id": "https://www.repostatus.org/#active",
            "@type": "skos:Concept",
            "og:image": "https://www.repostatus.org/badges/latest/active.svg",
            "skos:definition": "The project has reached a stable, usable state and is being actively developed.",
            "skos:inScheme": "https://www.repostatus.org",
            "skos:prefLabel": "Active"
        },
        {
            "@id": "trl:Level9Proven",
            "@type": [
                "skos:Concept",
                {
                    "@id": "trl:TechnologyReadinessLevel",
                    "@type": "Class"
                }
            ],
            "skos:broader": "trl:Stage4Complete",
            "skos:definition": "Technology complete and proven in practice by real users.",
            "skos:inScheme": [
                "trl:Scheme",
                {
                    "@id": "https://w3id.org/research-technology-readiness-levels"
                }
            ],
            "skos:notation": "9",
            "skos:prefLabel": "9 - Proven"
        }
    ],
    "funding": {
        "@type": "Grant",
        "funder": {
            "@type": "Organization",
            "name": "NWO",
            "url": "https://www.nwo.nl"
        },
        "name": "CLARIAH-PLUS (NWO grant 184.034.023)"
    },
    "https://github.com/proycon/codemetapy/errors": 0,
    "https://github.com/proycon/codemetapy/log": "(log file starts at Thu Jun 18 03:04:40 UTC 2026)\n\n[harvester info] --> Processing codemetapy (https://github.com/proycon/codemetapy) [Thu Jun 18 03:04:40 UTC 2026]\n\n[harvester info] Git updating cached clone of https://github.com/proycon/codemetapy...\n\n[harvester info] Found release v3.0.4\n\n[harvester info] Using 'v3.0.4'\n\n[harvester info] Git reference: v3.0.4\n\n[harvester info] Scanning directory /tmp/codemeta-harvester.cache/codemetapy for harvestable resources...\n\n[harvester info] found codemeta.json for codemetapy (md5sum 6fc24845e4797a04920ec77b8ad5940a); **NOTE: this is considered authoritative and most other detection methods will be skipped now!**\n\n[harvester info] Inferring repostatus information from git activity (used only as a fallback if not explicitly provided)...\n\n[harvester info] Inferred repostatus https://www.repostatus.org/#active\n\n[harvester info] Looking for repostatus information in README.md in master branch...\n\n[harvester info] Found repostatus (master branch) https://www.repostatus.org/#active\n\n[harvester info] Setting group CLARIAH Tool Discovery\n\n[harvester info] Reconciliating: codemetapy  --baseuri https://tools.clariah.nl --baseuri https://tools.clariah.nl --includecontext --addcontext https://w3id.org/nwo-research-fields --addcontext https://w3id.org/research-technology-readiness-levels --addcontextgraph https://vocabs.dariah.eu/rest/v1/tadirah/data?format=text/turtle --trl --identifier \"codemetapy\" --codeRepository \"https://github.com/proycon/codemetapy\" --validate /etc/software.ttl --released --enrich --textv \"Please consult the CLARIAH Software Metadata Requirements at https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-metadata-requirements.md for an in-depth explanation of any found problems\" -O /tmp/out/codemetapy.codemeta.json /tmp/codemeta-harvester.cache//tmp/99-repostatus.codemetapy.codemeta.json /tmp/codemeta-harvester.cache//tmp/10-jsonld.codemetapy.codemeta.json /tmp/codemeta-harvester.cache//tmp/05-repostatus.codemetapy.codemeta.json /tmp/codemeta-harvester.cache//tmp/04-applicationSuite.codemetapy.codemeta.json \n\n-- begin log --\n\nPassed 4 files/sources but specified 0 input types! Automatically guessing types...\n\nDetected input types: [('/tmp/codemeta-harvester.cache//tmp/99-repostatus.codemetapy.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/10-jsonld.codemetapy.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/05-repostatus.codemetapy.codemeta.json', 'json'), ('/tmp/codemeta-harvester.cache//tmp/04-applicationSuite.codemetapy.codemeta.json', 'json')]\n\nAdding to contextgraph: /tmp/turtle\n\nInitial URI automatically generated, may be overriden later: https://tools.clariah.nl/codemetapy\n\nProcessing source #1 of 4\n\nParsing json-ld file from /tmp/codemeta-harvester.cache//tmp/99-repostatus.codemetapy.codemeta.json\n\n    NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...\n\n    Injected (possibly temporary) URI https://tools.clariah.nl/codemetapy\n\n[CODEMETA COMPOSITION (https://tools.clariah.nl/codemetapy)] processed 1 new triples, total is now 2\n\nProcessing source #2 of 4\n\nParsing json-ld file from /tmp/codemeta-harvester.cache//tmp/10-jsonld.codemetapy.codemeta.json\n\n    Found main resource with URI https://github.com/proycon/codemetapy.git\n\n    Injected (possibly temporary) URI https://tools.clariah.nl/codemetapy\n\n[CODEMETA 2 TO 3] Updating contIntegration -> continuousIntegration\n\n[CODEMETA CORRECTION (codemetapy)] automatically converting spdx license URI from https:// to http:///\n\n[CODEMETA COMPOSITION (codemetapy)] processed 128 new triples, total is now 128\n\nProcessing source #3 of 4\n\nParsing json-ld file from /tmp/codemeta-harvester.cache//tmp/05-repostatus.codemetapy.codemeta.json\n\n    NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...\n\n    Injected (possibly temporary) URI https://tools.clariah.nl/codemetapy\n\n[CODEMETA COMPOSITION (codemetapy)] processed 1 new triples, total is now 128\n\nProcessing source #4 of 4\n\nParsing json-ld file from /tmp/codemeta-harvester.cache//tmp/04-applicationSuite.codemetapy.codemeta.json\n\n    NOTE: Not a valid JSON-LD document, @context missing! Attempting to inject automatically...\n\n    Injected (possibly temporary) URI https://tools.clariah.nl/codemetapy\n\n[CODEMETA COMPOSITION (codemetapy)] processed 1 new triples, total is now 129\n\nRemapping URI to (possibly) new identifier and version component: https://tools.clariah.nl/codemetapy -> https://tools.clariah.nl/codemetapy/3.0.3\n\n[CODEMETA VALIDATION (codemetapy)] done\n\n[CODEMETA ENRICHMENT (codemetapy)] automatically adding programmingLanguage Python derived from runtimePlatform Python\n\n[CODEMETA ENRICHMENT (codemetapy)] automatically adding programmingLanguage Python derived from runtimePlatform Python\n\n[CODEMETA ENRICHMENT (codemetapy)] automatically adding programmingLanguage Python derived from runtimePlatform Python\n\n[CODEMETA ENRICHMENT (codemetapy)] automatically adding programmingLanguage Python derived from runtimePlatform Python\n\n[CODEMETA ENRICHMENT (codemetapy)] automatically adding programmingLanguage Python derived from runtimePlatform Python\n\n[CODEMETA ENRICHMENT (codemetapy)] automatically adding programmingLanguage Python derived from runtimePlatform Python\n\n[CODEMETA ENRICHMENT (codemetapy)] automatically adding programmingLanguage Python derived from runtimePlatform Python\n\nVALIDATION https://tools.clariah.nl/codemetapy/3.0.3 #1: Info: Reference publications *SHOULD* be expressed, if any (This is missing in the metadata)\n\n-- end log --\n\n[harvester info] Output written to /tmp/out/codemetapy.codemeta.json\n\n[harvester info] <-- Finished processing codemetapy (https://github.com/proycon/codemetapy) [Thu Jun 18 03:04:42 UTC 2026]\n",
    "identifier": "codemetapy",
    "isSourceCodeOf": [
        {
            "@id": "https://tools.clariah.nl/softwarelibrary/codemetapy",
            "@type": "SoftwareLibrary",
            "name": "codemeta",
            "runtimePlatform": "Python 3"
        },
        {
            "@id": "https://tools.clariah.nl/commandlineapplication/codemetapy",
            "@type": "CommandLineApplication",
            "executableName": "codemetapy",
            "name": "codemetapy",
            "runtimePlatform": "Python 3"
        }
    ],
    "issueTracker": "https://github.com/proycon/codemetapy/issues",
    "keywords": [
        "codemeta",
        "linked data",
        "metadata",
        "metadata-extractor",
        "rdf",
        "schema.org",
        "scientific",
        "software metadata"
    ],
    "license": {
        "@id": "http://spdx.org/licenses/GPL-3.0-only",
        "name": "GNU General Public License v3"
    },
    "maintainer": {
        "@id": "https://orcid.org/0000-0002-1046-0006",
        "@type": "Person",
        "affiliation": [
            {
                "@id": "https://www.ru.nl/clst",
                "@type": "Organization",
                "name": "Centre for Language and Speech Technology",
                "parentOrganization": {
                    "@id": "https://www.ru.nl/cls",
                    "@type": "Organization",
                    "name": "Centre for Language Studies",
                    "parentOrganization": {
                        "@id": "https://www.ru.nl",
                        "@type": "Organization",
                        "location": {
                            "@type": "Place",
                            "name": "Nijmegen"
                        },
                        "name": "Radboud University",
                        "url": "https://www.ru.nl"
                    },
                    "url": "https://www.ru.nl/cls"
                },
                "url": "https://www.ru.nl/clst"
            },
            {
                "@id": "https://huc.knaw.nl",
                "@type": "Organization",
                "name": [
                    "Humanities Cluster",
                    "KNAW Humanities Cluster"
                ],
                "parentOrganization": {
                    "@id": "https://knaw.nl",
                    "@type": "Organization",
                    "location": {
                        "@type": "Place",
                        "name": "Amsterdam"
                    },
                    "name": "KNAW",
                    "url": "https://knaw.nl"
                },
                "url": "https://huc.knaw.nl"
            },
            {
                "@id": "https://www.ru.nl/cls",
                "@type": "Organization",
                "name": "Centre for Language Studies",
                "parentOrganization": {
                    "@id": "https://www.ru.nl",
                    "@type": "Organization",
                    "location": {
                        "@type": "Place",
                        "name": "Nijmegen"
                    },
                    "name": "Radboud University",
                    "url": "https://www.ru.nl"
                },
                "url": "https://www.ru.nl/cls"
            },
            {
                "@id": "https://knaw.huc.nl"
            }
        ],
        "email": "proycon@anaproy.nl",
        "familyName": "van Gompel",
        "givenName": "Maarten",
        "position": 4,
        "url": "https://proycon.anaproy.nl"
    },
    "name": "CodeMetaPy",
    "operatingSystem": [
        "BSD",
        "Linux",
        "macOS"
    ],
    "owl:sameAs": {
        "@id": "https://github.com/proycon/codemetapy.git"
    },
    "producer": {
        "@id": "https://huc.knaw.nl",
        "@type": "Organization",
        "name": [
            "Humanities Cluster",
            "KNAW Humanities Cluster"
        ],
        "parentOrganization": {
            "@id": "https://knaw.nl",
            "@type": "Organization",
            "location": {
                "@type": "Place",
                "name": "Amsterdam"
            },
            "name": "KNAW",
            "url": "https://knaw.nl"
        },
        "url": "https://huc.knaw.nl"
    },
    "programmingLanguage": "Python",
    "readme": "https://github.com/proycon/codemetapy/blob/README.rst",
    "review": {
        "@id": "https://tools.clariah.nl/validation/Ne2cc0ede6984820d0eb5e263f8b9c882",
        "@type": "Review",
        "author": [
            "codemetapy validator using software.ttl"
        ],
        "datePublished": "2026-06-18 03:04:42",
        "name": "Automatic software metadata validation report for CodeMetaPy 3.0.3",
        "reviewBody": "Please consult the CLARIAH Software Metadata Requirements at https://github.com/CLARIAH/clariah-plus/blob/main/requirements/software-metadata-requirements.md for an in-depth explanation of any found problems\n\nValidation of CodeMetaPy 3.0.3 was successful (score=4/5), but there are some remarks which you may or may not want to address:\n\n1. Info: Reference publications *SHOULD* be expressed, if any (This is missing in the metadata)",
        "reviewRating": 4
    },
    "runtimePlatform": [
        "Python 3",
        "Python 3.10",
        "Python 3.11",
        "Python 3.12",
        "Python 3.13",
        "Python 3.14",
        "Python 3.9"
    ],
    "softwareHelp": [
        {
            "@type": "WebSite",
            "description": "Installation and usage instructions",
            "name": "README: Installation and usage instructions",
            "url": "https://github.com/proycon/codemetapy/blob/master/README.md"
        },
        {
            "@type": "WebSite",
            "description": "Describes the underlying software metadata model (not specific to codemetapy)",
            "name": "The CodeMeta Project",
            "url": "https://codemeta.github.io/"
        }
    ],
    "softwareRequirements": [
        {
            "@id": "https://tools.clariah.nl/dependency/beautifulsoup4",
            "@type": "SoftwareApplication",
            "identifier": "BeautifulSoup4",
            "name": "BeautifulSoup4",
            "runtimePlatform": "Python 3"
        },
        {
            "@id": "https://tools.clariah.nl/dependency/jinja2",
            "@type": "SoftwareApplication",
            "identifier": "Jinja2",
            "name": "Jinja2",
            "runtimePlatform": "Python 3"
        },
        {
            "@id": "https://tools.clariah.nl/dependency/importlib-metadata",
            "@type": "SoftwareApplication",
            "identifier": "importlib-metadata",
            "name": "importlib-metadata",
            "runtimePlatform": "Python 3"
        },
        {
            "@id": "https://tools.clariah.nl/dependency/lxml",
            "@type": "SoftwareApplication",
            "identifier": "lxml",
            "name": "lxml",
            "runtimePlatform": "Python 3"
        },
        {
            "@id": "https://tools.clariah.nl/dependency/nameparser",
            "@type": "SoftwareApplication",
            "identifier": "nameparser",
            "name": "nameparser",
            "runtimePlatform": "Python 3"
        },
        {
            "@id": "https://tools.clariah.nl/dependency/pyyaml",
            "@type": "SoftwareApplication",
            "identifier": [
                "PyYAML",
                "pyyaml"
            ],
            "name": [
                "PyYAML",
                "pyyaml"
            ],
            "runtimePlatform": "Python 3"
        },
        {
            "@id": "https://tools.clariah.nl/dependency/rdflib-ge-6.1.1",
            "@type": "SoftwareApplication",
            "identifier": "rdflib",
            "name": "rdflib",
            "runtimePlatform": "Python 3",
            "version": ">= 6.1.1"
        },
        {
            "@id": "https://tools.clariah.nl/dependency/requests",
            "@type": "SoftwareApplication",
            "identifier": "requests",
            "name": "requests",
            "runtimePlatform": "Python 3"
        }
    ],
    "url": "https://github.com/proycon/codemetapy.git",
    "version": "3.0.3"
}