{"id":38969055,"url":"https://github.com/softwarepub/software-card-policies","last_synced_at":"2026-01-17T16:35:48.680Z","repository":{"id":274629071,"uuid":"880866662","full_name":"softwarepub/software-card-policies","owner":"softwarepub","description":"Python library, command line tool, specification, and example policies developed in the Software CaRD project.","archived":false,"fork":false,"pushed_at":"2025-12-18T15:03:27.000Z","size":1910,"stargazers_count":1,"open_issues_count":24,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-12-21T19:38:02.762Z","etag":null,"topics":["metadata","policies","rdf","shacl","software-publication"],"latest_commit_sha":null,"homepage":"http://software-metadata.pub/software-card-policies/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softwarepub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-30T14:03:46.000Z","updated_at":"2025-12-18T15:03:09.000Z","dependencies_parsed_at":"2025-01-28T13:45:41.492Z","dependency_job_id":"b332d2db-0c4c-432a-99af-ef4665610b06","html_url":"https://github.com/softwarepub/software-card-policies","commit_stats":null,"previous_names":["softwarepub/software-card-policies"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/softwarepub/software-card-policies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarepub%2Fsoftware-card-policies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarepub%2Fsoftware-card-policies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarepub%2Fsoftware-card-policies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarepub%2Fsoftware-card-policies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softwarepub","download_url":"https://codeload.github.com/softwarepub/software-card-policies/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softwarepub%2Fsoftware-card-policies/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28511868,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T13:38:16.342Z","status":"ssl_error","status_checked_at":"2026-01-17T13:37:44.060Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["metadata","policies","rdf","shacl","software-publication"],"created_at":"2026-01-17T16:35:48.083Z","updated_at":"2026-01-17T16:35:48.673Z","avatar_url":"https://github.com/softwarepub.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nSPDX-FileCopyrightText: 2024 Helmholtz-Zentrum Dresden - Rossendorf (HZDR)\nSPDX-License-Identifier: CC-BY-4.0\nSPDX-FileContributor: David Pape\n--\u003e\n\n# Software CaRD Policies\n\nThis repository contains the `software_card_policies` Python library as well as the associated\ncommand line program `software-card-validate` and example policies.\nThe software was written as part of the [Software CaRD](https://helmholtz-metadaten.de/en/inf-projects/softwarecard)\nproject.\n\n## `software-card-validate`\n\nA command line program that validates a given metadata file using a set of configurable policies.\n\nThe selection of policies can be configured via [`config.toml`](config.toml).\nPolicies can be loaded using any of the protocols supported by\n[RDFlib's `Graph.parse` method](https://rdflib.readthedocs.io/en/stable/apidocs/rdflib.html#rdflib.graph.Graph.parse)\n(e.g. local files, http, ...).\nAll of the given policies are loaded and unioned into one RDF graph.\n\nPolicies can be implemented in a configurable fashion by defining an `sc:Parameter` and using it in place of a literal\nor list.\nSee [`description-parameterizable.ttl`](examples/policies/description-parameterizable.ttl) and\n[`licenses-parameterizable.ttl`](examples/policies/licenses-parameterizable.ttl) as examples.\nThe string specified as `sc:parameterConfigPath` is used to look up the desired value for the parameter in the config\nfile.\n\n### Installation\n\n```bash\npython -m venv venv\nsource venv/bin/activate\npython -m pip install -e .\n```\n\n### Run\n\nRun the program:\n\n```bash\nsoftware-card-validate examples/data/hermes.ttl\n```\n\nThis will validate [`hermes.ttl`](examples/data/hermes.ttl) using the policies defined in [`config.toml`](config.toml)\nand print a validation report to the screen.\nIf run in debug mode (with `--debug`), the report is more verbose, and the following files are written to the current\nworking directory:\n\n- `debug-input-data.ttl`: the input data\n- `debug-shapes-processed.ttl`: the parameterized and combined policies\n- `debug-validation-report.ttl`: the detailed SHACL validation report (`sh:ValidationReport`)\n\n## Conventions\n\nAll examples in this repository use the following namespace prefix bindings:\n\n```turtle\n@prefix codemeta: \u003chttps://doi.org/10.5063/schema/codemeta-2.0#\u003e .\n@prefix owl: \u003chttp://www.w3.org/2002/07/owl#\u003e .\n@prefix rdf: \u003chttp://www.w3.org/1999/02/22-rdf-syntax-ns#\u003e .\n@prefix rdfs: \u003chttp://www.w3.org/2000/01/rdf-schema#\u003e .\n@prefix sc: \u003chttps://schema.software-metadata.pub/software-card/2025-01-01/#\u003e .\n@prefix scex: \u003chttps://schema.software-metadata.pub/software-card/2025-01-01/examples/#\u003e .\n@prefix scimpl: \u003chttps://schema.software-metadata.pub/software-card/2025-01-01/implementation/#\u003e .\n@prefix schema: \u003chttps://schema.org/\u003e .\n@prefix sh: \u003chttp://www.w3.org/ns/shacl#\u003e .\n@prefix xsd: \u003chttp://www.w3.org/2001/XMLSchema#\u003e .\n```\n\nFor Software CaRD, the prefixes\n[`sc:`](https://schema.software-metadata.pub/software-card/2025-01-01/#),\n[`scex:`](https://schema.software-metadata.pub/software-card/2025-01-01/examples/#), and\n[`scimpl:`](https://schema.software-metadata.pub/software-card/2025-01-01/implementation/#)\nwere established and are used for the following purposes:\n\n- `sc:` contains terms exposed to users\n- `scex:` contains example uses of `sc:` and `sh:` terms\n- `scimpl:` contains internal implementation details\n\nThe associated IRIs currently don't exist.\nA [search on prefix.cc](https://prefix.cc/sc) reveals prior usage of the prefix `sc:` by projects which seem to be\ndefunct.\n\n## Documentation\n\nTo build the documentation, install the package including the `docs` extra:\n\n```bash\npython -m pip install -e .[docs]\n```\n\nThen run Sphinx via the predefined task:\n\n```bash\ntask docs-build  # build the docs\ntask docs-clean  # delete the built docs\n```\n\nTo view the docs in the browser, run\n\n```bash\npython -m http.server -b 127.0.0.1 -d docs/_build/html\n```\n\nThen follow the link \u003chttp://127.0.0.1:8000/\u003e.\n\n## Acknowledgments\n\n[Software CaRD](https://helmholtz-metadaten.de/en/inf-projects/softwarecard) (`ZT-I-PF-3-080`) is funded by the\nInitiative and Networking Fund of the Helmholtz Association in the framework of the Helmholtz Metadata Collaboration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwarepub%2Fsoftware-card-policies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoftwarepub%2Fsoftware-card-policies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoftwarepub%2Fsoftware-card-policies/lists"}