Welcome to kyla’s documentation!¶
kyla is an installation system designed to deploy large amounts data. The main features are:
- Speed: kyla uses fast compression algorithms, reads and writes files sequentially, and only fetches the data it absolutely needs.
- Scalability: Tens of thousands of files can be deployed easily. kyla also has first-class support for large binary files, splitting them up as necessary to provide streaming installations.
- Web-first: kyla can install directly from the internet, fetches only the minimum amount of data required, and installs during download to maximize bandwidth usage and minimize installation time.
- Feature-based installation: Deploy only subsets of your application, and support configure functionality.
- Upgrades, downgrades, configure: kyla can upgrade/downgrade your installation to another version and will only fetch changed contents. Upgrades, downgrades and configurations are handled through the same function.
- Library design: kyla is designed to be embedded into your frontend. It provides an easy-to-use C API and can be statically or dynamically linked.
- Reliability: It uses the SQLite storage engine for all metadata storage - one of the most robust databases in the world. Installations can be validated and repaired if they ever get corrupted.
kyla is not a full-fledged installer taking care of registry keys, registering services, or similar. It is designed to deploy and manage applications in a single folder. If you need additional pre/post install hooks, you can easily build them on top of kyla. For a comparison with existing tools, check out the Comparison with other tools.
kyla has been tested on the following OS:
- Windows 10 x64
- Ubuntu 17.04
Other Windows/Linux variants should work, as kyla only relies on few cross-platform libraries, but they’re not tested regularly.