@Blue-san
I haven't tested it with python, but I believe, you can re-pack .cpk file with quickbms. Although I'd never tried it, the read me files tells that you can unpack and repack .cpk with same script in quickbms. I will write down the instruction from read me files, if you find it easy to use, you should use it then
Here's the link to quickbms site (it also contains many script for other usage): http://aluigi.altervista.org/quickbms.htm
click: QuickBMS generic files extractor and reimporter 0.6; it's the download link for quickbms and the author also make a read me; a tutorial file which for me, it's really helpful and understanable. And for .cpk script (you needed this one); search for CRI CPK archives (script 0.3) (*.cpk); and click it.
I'd tried unpack .cpk for Amnesia; Amnesia Later; and Amnesia Crowd game, then succesfully got the scripts with hkki
Ah, by the way, me and my team already making a translation progress for Amnesia (PSP) at http://hanatabatranslation.wordpress.com
We still looking for hacker (game and ASM hacker) and proofreader. And Blue-san also already part of our team, she translating Ikki route