Utility for validating COAR Notify payloads.
Project description
coar-notify-validator
Installation
pip install coar-notify-validator
Usage
Validate a COAR Notify payload against the schema
from coar_notify_validator.shape_files import ShapefileType
from coar_notify_validator.validate import validate
valid_payload = {
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://purl.org/coar/notify"
],
"actor": {
"id": "https://review-service.org/",
"name": "Review Service",
"type": "Service"
},
"context": {
"id": "https://doi.org/10.1101/2022.10.06.511170"
},
"id": "urn:uuid:572b8e81-d92f-4ed5-8178-cc7f04f44cd1",
"object": {
"id": "https://review-service.org/reviews/1223155",
"ietf:cite-as": "10.5072/zenodo.1223155",
"type": [
"Document",
"sorg:Review"
]
},
"origin": {
"id": "https://review-service.org/",
"inbox": "https://review-service.org/inbox",
"type": "Service"
},
"target": {
"id": "https://preprint-repository.org/",
"inbox": "https://preprint-repository.org/inbox",
"type": "Service"
},
"type": [
"Announce",
"coar-notify:ReviewAction"
],
"updated": "2022-10-06T15:00:00.000000"
}
conforms, errors = validate(ShapefileType.ANNOUNCE_REVIEW, valid_payload)
print(conforms) # True
print(errors) # []
invalid_payload = {
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://purl.org/coar/notify"
],
"actor": {
"id": "https://review-service.org/",
"name": "Review Service",
"type": "Service"
},
"context": {
"id": "https://doi.org/10.1101/2022.10.06.511170"
},
"id": "urn:uuid:572b8e81-d92f-4ed5-8178-cc7f04f44cd1",
"object": {
"id": "https://review-service.org/reviews/1223155",
"ietf:cite-as": "10.5072/zenodo.1223155",
"type": [
"Document",
"sorg:Review"
]
},
"origin": {
"id": "https://review-service.org/",
"inbox": "https://review-service.org/inbox",
"type": "Service"
},
"target": {
"id": "https://preprint-repository.org/",
# Missing inbox - should be required
"type": "Service"
},
"type": [
"Announce",
"coar-notify:ReviewAction"
],
"updated": "2022-10-06T15:00:00.000000"
}
conforms, errors = validate(ShapefileType.ANNOUNCE_REVIEW, invalid_payload)
print(conforms) # False
print(errors)
# [
# {
# "focus_node": "<https://preprint-repository.org/",
# "message": "Less than 1 values on <https://preprint-repository.org/-ldp:inbox",
# "result_path": "ldp:inbox",
# "severity": "sh:Violation",
# "source_shape": "ex:InboxShape"
# }
#
# ]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for coar_notify_validator-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | d3c98384ef293d52b06e3d13c932d20f3c1cdbd509f6e0e1059185de4c48bafe |
|
MD5 | 06fbcfe146f72c791915b8075e824525 |
|
BLAKE2b-256 | 0b42b9c0eadd1be57e95e3bd864c9f586535c65b947f15fde29908dd9225bba3 |
Close
Hashes for coar_notify_validator-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ad1cba98aa110e4c34b3022fdb1c0073101940101b17b55752e50f3b13fd2b8 |
|
MD5 | 735e21b3fbeef01aef50b6630f968f7f |
|
BLAKE2b-256 | 0c8574c4e07c82480d0326f2b447b0eaa6f4112d23013dc2b2a596e6cafd07ce |