What is the KGL file format?
A .kgl file is a compiled library for the KAGSA programming language, an interpreted language built on Python and released under the MIT license. Developers write Kagsa code in .kg source files and package reusable functions into a .kgl library so other programs can call them.
Under the hood a .kgl file is a .zip archive that has been given a different extension. It always contains at least two Python files: main.py, the compiled entry point, and __memory__.py, which holds the library's stored namespace data. Any extra helper modules are packed in alongside them. Because the container is standard ZIP, the file starts with the familiar PK signature.
Security & safety
RISK: MEDIUMA .kgl is a ZIP archive containing executable Python code that the Kagsa interpreter runs when the library is imported. Extracting the archive is safe, but importing or running a library from an untrusted source executes its code, so only use .kgl files you trust.
Format details
in a nutshell- kglab / kgl (Python graph library) - The 'kgl' name is also used by DerwenAI's kglab knowledge-graph package, but it does not define a .kgl file type.
- kgl.exe (generic executable) - Various unrelated Windows programs ship an executable named kgl.exe; unrelated to the Kagsa library format.
Programs that open KGL files
Technical details
deep spec| Encoding | Binary (ZIP archive) |
| Byte order | Little-endian (ZIP fields) |
| Container | ZIP archive with the .kgl extension instead of .zip |
| Compression | Standard ZIP compression (DEFLATE or stored), inherited from the ZIP container |
| Encryption | None by default; a KGL is a plain archive with no built-in encryption |
| Typical size | A few kilobytes to a few hundred kilobytes, depending on the amount of compiled code |
| Structure | A ZIP archive holding the Python files produced when a Kagsa source library is compiled. It always contains main.py (the compiled library entry point) and __memory__.py (the library's stored state/namespace data), plus any additional helper .py files. |
| Integrity | CRC-32 per entry, provided by the ZIP format |
| Platforms | Windows, Linux, Termux (Android), macOS |
| Notes | Generated by the Kagsa interpreter with the command kagsa -l lib.kg -o lib.kgl. The input must be a .kg source file and the output name must end in .kgl. Because it is just a renamed ZIP, renaming a copy to .zip lets any archiver inspect the contents. |
| Produced By | kagsa command-line interpreter |
| Consumed By | Kagsa runtime when a .kg program imports the library |
| Released | 2022 |
| Latest version | Kagsa 1.2.0 (2023) |
| Specification | www.kagsa.org |
KGL conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about KGL files.