Need help with npk?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

123 Stars 31 Forks MIT License 143 Commits 1 Opened issues


neat package system written in C

Services available


Need anything else?

Contributors list

npk - neat package system [en:pack]

Build Status

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

  • libnpk : ANSI C API based on POSIX.
  • npk : Command-line interface tool for npk-formatted files.
  • binding
    • pynpk : Python extension
    • objnpk : Objective-c extension
    • jvnpk : JNI binding
      • (will be available soon)


  • See

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

$ brew tap lqez/npk
$ brew install npk


  • project homepage :
  • issues :
  • developer : [email protected]


Distributed under MIT/X license. See LICENSE file.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.