skillfed

bagit-profile

This module can be used to validate BagitProfiles.

bagit-profile v1.3.1 119.1K downloads/30d#12,088 on PyPI12
Permissive license CC0 Abandoned released

What it is and what it does

bagit-profile is a Python module for validating BagIt bags against profile specifications. It works alongside the bagit library to check whether a bag conforms to a given BagIt profile, including validation of serialization format and structural requirements defined in the profile.

The package provides both a Python API and a command-line interface. You instantiate a profile from a URI, then call validate methods to check serialization constraints and overall profile compliance. It is designed for use in digital preservation workflows where BagIt is used as a container format and profiles enforce specific requirements.

Use it for:

  • Validate digital preservation bags against institutional or domain-specific BagIt profiles before ingest
  • Enforce serialization requirements (e.g., tar, zip) in automated bag processing pipelines
  • Check structural compliance of bags in archival workflows without extending the bagit library itself
  • Integrate profile validation into preservation system quality assurance steps

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Validates BagIt bags against BagIt profile specifications, checking serialization and structural compliance with a profile URI.

No. The package is abandoned (last release 2020-03-24, no commits since) and classifiers indicate support only through Python 3.7. While it has low install friction and no known vulnerabilities, the lack of maintenance means it will not adapt to changes in Python, bagit, or the BagIt Profiles Specification. Use only if you are locked into an older Python environment and cannot migrate to an actively maintained alternative.

Install

bagit-profile on PyPI

pip

pip install bagit-profile

uv

uv add bagit-profile

poetry

poetry add bagit-profile

Installing bagit-profile

Before you install

Low install friction with a pure Python wheel. However, the package is abandoned—last release was 2020-03-24 and no commits since. Depends on bagit and requests, both stable libraries, but expect no maintenance or updates.

License in practice

Licensed under CC0 (public domain equivalent), imposing no restrictions on use, modification, or distribution.

Quickstart

pip install bagit-profile

import bagit
import bagit_profile

bag = bagit.Bag('mydir')
profile = bagit_profile.Profile('http://example.com/bagitprofile.json')
if profile.validate(bag):
    print('Validates')

Requires a valid BagIt bag directory and a reachable profile URI; bagit package must be installed separately.

Verify before relying

  • Whether the package works reliably with current Python versions (classifiers list 2.7 through 3.7, but last release was 2020)
  • Whether bagit and requests dependencies have evolved in ways that break this validator
  • Current state of BagIt Profiles Specification and whether this implementation remains compliant

Package facts

License CC0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — bagit, requests
Maintenance abandoned — 2,334 days since the last release
Last repo commit
First released
Downloads 119,109/month — #12,088 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: bagit_profile-1.3.1-py3-none-any.whl

Intended Audience :: DevelopersLicense :: Public DomainProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: Communications :: File SharingTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: FilesystemsTopic :: Utilities

Tags

bagit profile validationvalidate bagit bagsbagit compliance checkerbagit serialization validationbagit profile validator
digital-preservationbagitvalidation

More Python Modules packages