Skip to main content

OAIS utilities

Project description

oais-utilities

PyPI version

Utilities to work with the CERN OAIS artifacts, such as Submission Information Packages.

Features

Validate CERN SIP

Validates the folder in the given path according to the CERN SIP specification, following these steps:

  1. Verify directory structure
  2. Validate the manifest file against the desired sip JSON schema. By default uses sip-schema-d1.json, also shipped in this package
  3. Validate the folder as a BagIt package
    • file are allowed to be missing if the manifest specifies it's a "lightweight" SIP.
  4. Checks if every content file mentioned in the manifest is actually present in the payload

Usage:

from oais_utils import validate
validate("name_of_the_sip_folder")

sip.json schemas

SIP manifest JSON schemas are also shipped and exposed with this package.

To get a python dictionary with the schema short name as keys and the parsed (as python object) schema as value for the corresponding schema name, run:

import oais_utils
schemas = oais_utils.schemas

schemas.keys()
# ['draft1']

schemas['draft1']
# [...]
# (Returns the sip JSON schema "draft1" as parsed python object)

schemas['draft1']['$id']
# https://gitlab.cern.ch/digitalmemory/utils/-/raw/master/oais_utils/sip-schema-d1.json

Install

Install from PyPi

pip install oais-utils

For development, you can clone this repository and then install it with the -e flag:

# Clone the repository
git clone https://gitlab.cern.ch/digitalmemory/oais-utils
cd oais-utils
pip install -e .

Use

from oais_utils import validate
validate("../bagit-create/bagitexport::cds::2751237")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oais_utils-0.0.4.tar.gz (19.0 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page