Skip to content

A simple Python module for validating BagIt Profiles.

License

Notifications You must be signed in to change notification settings

bagit-profiles/bagit-profiles-validator

Repository files navigation

Bagit Profile (validator)

PyPI version Build Status codecov

Description

A simple Python module for validating BagIt Profiles. See the BagIt Profiles Specification (draft) for more information.

This module is intended for use with bagit-python but does not extend it.

Installation

bagit_profile.py is a single-file Python module that you can drop into your project as needed or you can install globally with:

  1. git clone https://github.com/bagit-profiles/bagit-profiles-validator.git
  2. cd bagit-profiles-validator
  3. sudo python setup.py install

or:

pip install bagit_profile

Usage

import bagit
import bagit_profile

Instantiate an existing Bag using bagit-python.

bag = bagit.Bag('mydir')

Instantiate a profile, supplying its URI.

my_profile = bagit_profile.Profile('http://example.com/bagitprofile.json')

Validate 'Serialization' and 'Accept-Serialization'. This must be done before .validate(bag) is called. mydir is the path to the Bag.

if my_profile.validate_serialization('mydir'):
    print "Serialization validates"
else:
    print "Serialization does not validate"

Validate the rest of the profile.

if my_profile.validate(bag):
    print "Validates"
else:
    print "Does not validate"

Or from the commandline:

bagit_profile.py 'http://uri.for.profile/profile.json' path/to/bag

Test suite

python setup.py test

Development

  1. Fork the repository
  2. Do something awesome!
  3. Submit a pull request explianing what your code does

License

CC0