libcbag - a free and opensource C++ Library to handle BagIt structures
Go to file
Andreas Romeyke d9cd3fe00a - minor fixes 2023-03-30 14:10:14 +02:00
src - minor fixes 2023-03-30 14:10:14 +02:00
test - added tests to handle specific bagits 2023-03-30 13:57:57 +02:00
testbags - added testcases (thx to Serhey Bolkun) 2019-12-12 10:13:59 +01:00
CMakeLists.txt - added correct default (-stc=c++11 was missed) 2022-08-29 17:53:16 +02:00
License - added License information 2018-08-11 15:33:23 +02:00
README - added some debian dependencies 2019-12-12 10:59:09 +01:00
README.compile - added hint about more verbose test output 2019-12-12 10:59:30 +01:00 - updated support information 2019-10-16 19:23:11 +02:00
TODO - updated 2018-09-09 12:49:28 +02:00



C++ Library to handle BagIt structures. BagIt is a standard format to create transfer packages for digital preservation purposes. See for details

The library supports BagIt in version 1.0, yet (also previous versions).

It is licensed under terms of GNU General Public License, v3 or higher, see file License for details.

The main website of the project author is Please do not hesitate to contact me if you find problems or give hints.


The library only checks a given or created BagIt structure if you call "validate()". This allows us to prepare or read incomplete structures.

If you want to copy a BagIt from source to destination, you should create a bag-object first. Then you should use validate() and then call store().

If you want to generate a new BagIt structure, you need to define a directory path first. Then you create the sub objects for a Bag using the defined directory as base. For each of this objects call required methods and at least the store()-call. Then you create the Bag object and call store().