libcbag - a free and opensource C++ Library to handle BagIt structures
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andreas Romeyke 12a7cd52e7 - added BOOST_AUTO_TEST_SUITE() 1 year ago
src - fixed missed cpack definition for install 1 year ago
test - added BOOST_AUTO_TEST_SUITE() 1 year ago
testbags - added testcases (thx to Serhey Bolkun) 2 years ago
CMakeLists.txt - fixed missed cpack definition for install 1 year ago
License - added License information 3 years ago
README - added some debian dependencies 2 years ago
README.compile - added hint about more verbose test output 2 years ago - updated support information 2 years ago
TODO - updated 3 years ago



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().