/npk

neat package system written in C

Primary LanguageCMIT LicenseMIT

npk - neat package system [en:pack]

Build Status

  • Copyright (c) 2009-2013 Park Hyun-woo(ez.amiryo@gmail.com)
  • Distributed under MIT license. (see LICENSE for detail)

Why files should be packed?

  • Open multiple files vs Open only one file.
    • If you want to open multiple files in your application, kernel should traverse FAT(file allocation tables). It needs lots of time - sometimes even longer than load files into memory. npk has its own list of files and also supports hash table for large packages. Yes, npk is a small logical file system itself.
  • Encryption and Compression
    • tar can archive files into a package. But it needs gzip or something to compress files. npk embeds xxtea encyption and zlib compression for convenience. You can just read / write files via npk API, no concern.

What is npk?

'npk' is a file package system, called 'en-pack'.

  • Support file compression(zlib) and encryption(xxtea).
  • Support most modern operating systems.

npk consists of below items.

Installation

Or, if you're on OS X and using homebrew then,

$ brew tap lqez/npk
$ brew install npk

Contact

License

Distributed under MIT/X license. See LICENSE file.