Shyam Chakravarthy
2 min readFeb 12, 2024

Apple Introduces Pkl: A Leap Forward in Configuration Languages

PKl configuration language

![Apple Pkl](https://github.com/apple/pkl/raw/main/docs/logo.png)

In a groundbreaking move, Apple has unveiled Pkl, a fresh and innovative open-source embeddable configuration language.

This new addition to the developer toolkit promises to revolutionize the way we handle configuration settings in software projects.

What Is Pkl?

Pkl—pronounced "pickle"—is not your run-of-the-mill configuration language.

It’s designed to provide rich support for data templating and validation. Whether you’re configuring a small application or managing complex infrastructure, Pkl scales seamlessly. Here are some key features:

1. Embeddable: Pkl can be seamlessly integrated into your projects. Use it from the command line, incorporate it into your build pipeline or embed it directly within your codebase.

2. Validation: Pkl ensures that your configuration adheres to predefined rules. Say goodbye to accidental misconfigurations!

3. Data Templating: With Pkl, you can create dynamic configurations using templates. This flexibility allows you to adapt to various environments effortlessly.

Supported Languages

Pkl currently supports several popular programming languages:

- Java
- Kotlin
- Swift
- Go

And that's not all! Apple has ambitious plans to extend Pkl's support to other languages and platforms in the future.

How to Get Started with Pkl

1. Add the Pkl Dependency: To use Pkl, add the Pkl dependency to your project. This step ensures that your application can communicate with Pkl configuration files.

2. Leverage the Pkl API: The Pkl API provides essential functionality for reading, writing, verifying, and executing Pkl configuration files. Whether you’re a Java aficionado, a Swift enthusiast, or a Go guru, the Pkl API has got you covered.

Why Pkl Matters

Configuration management is a critical aspect of software development. Pkl simplifies this process, making it more straightforward and scalable. As developers, we can now focus on building robust applications without getting bogged down by configuration complexities.

So, the next time you're fine-tuning your app's settings, consider reaching for Pkl. It's the secret sauce that adds flavor to your configuration recipes!

Remember, Pkl isn't just a language; it's a leap forward—a pickle that enhances the taste of your codebase. 🥒

For more details, check out the [official Pkl repository on GitHub](https://github.com/apple/pkl)