Skip to content
neat package system written in C
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

npk - neat package system [en:pack]

Build Status

  • Copyright (c) 2009-2013 Park Hyun-woo(
  • 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.


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

$ brew tap lqez/npk
$ brew install npk



Distributed under MIT/X license. See LICENSE file.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.