An embedded database engine that creates and manipulates files containing variable-length random access records
Itzam is a deliberately portable, low-level C library that can (and will) be wrapped in C++, Java, Python, and Fortran 95. Higher level languages implement more complex heuristics on top of the Itzam core functions.
Here are some key features of "Itzam":
· Itzam Core adds less then 6K bytes to a program when linked statically.
· Itzam is deliberately portable across operating systems and platforms. A database created on Windows is readable by an Itzam application on a Linux machine. The current release ships with support for building and testing on Unix, Linx, and Windows operating systems.
· Itzam does not have any dependencies on external libraries or components, beyond the common elements included with every Standard C compiler.
· Build your databases with indexes embedded in data files, or separate key information for the data it references, to provide different indexing schemes for different purposes. Iterator selectors provide flexible filtering to define subsets of a database.
Dual Licensing, GPL and Commercial
· Itzam can be licensed under either the GNU General Public License (GPL) or a simple non-free (closed-source) license. The GPL version is provided as is without support, while the commercial license provides technical assistance and notice of updates and bug fixes.
64-bit File Access
· Itzam is designed with 64-bit addressing in mind, and works with 64-bit Sun Solaris and 64-bit Linux.
C++, Python, and Fortran 95 Abstractions
· The core library, written in ANSI C, operates at a low-level, working directly with the operating system. While a low-level library can be a powerful tool for embedde3d and small systems, large-scale projects can benefit from a higher-level of abstraction. Development and testing is underway for C++, Python, and Fortran 95 "wrappers".
· I've written tutorial and API documentation to accompany Itzam. A complete example application, a contact database, is the basis for the tutorial.