Pkl

詳細情報

タイトル Pkl
URL https://pkl-lang.org/index.html
バージョン ver 0.30.0
更新日 2025/11/04
追加日 2024/02/06
種別 フリーソフト
説明 設定フォーマットを生成するためのプログラミング言語。

レビュー

Pklはコンフィグレーションフォーマット(設定フォーマット)を生成するためのプログラミング言語。

pklコマンドを利用し、Pkl形式のファイルから、JSON、YAML、プロパティ・リスト、その他の設定フォーマットを生成することができる。

Pkl形式の設定ファイルintro.pkl:

name = "Pkl: Configure your Systems in New Ways"
attendants = 100
isInteractive = true
amountLearned = 13.37

pklコマンドを使用してJSON形式の設定を生成:

$ pkl eval -f json /Users/me/tutorial/intro.pkl
{
  "name": "Pkl: Configure your Systems in New Ways",
  "attendants": 100,
  "isInteractive": true,
  "amountLearned": 13.37
}

設定ファイルを利用するツールやサービス、アプリケーションに組み込んで使用することも可能。JVMランタイム、Swift、Go言語用の設定ライブラリが提供されている。

スクリーンショット

更新グラフ

バージョン履歴

0.30 Release Notes
0.30.0
0.31.0-dev
0.30.0
0.6.0
0.30.0
0.31.0-dev
0.30.0
0.30.0 (2025-10-30)
Release notes
0.29.1
0.33.0
0.29.1
0.11.1
0.4.0
0.5.0
0.20.0
0.29.1
0.29.1
0.29.1 (2025-08-27)
Fixes
Fixes an issue where autocompletion in Bash and ZSH do noes not suggest filenames (#1161).
Fixes an issue where pkldoc throws a runtime error about failing to load class path resources (#1174).
Fixes an issue where pkldoc always runs with testMode set to true.
Fixes an issue where evaluating a module that ends with an unmatched backtick throws ArrayIndexOutOfBoundsException (#1182).
Fixes the formatting of YAML strings when emitting backslash characters within quoted strings (#1165).
Fixes an issue where local members inside Mapping objects are incorrectly encoded into binary format (#1151).
Contributors ❤️
Thank you to all the contributors for this release!
(省略されました)
0.29 Release Notes
0.29.0
0.30.0-dev
0.29.0
0.3.2
0.19.0
0.29.0
0.30.0-dev
0.29.0
0.29.0 (2025-07-24)
Release notes
0.28.2
0.28.2
0.10.0
0.3.1
0.4.2
0.28.2
0.28.2
0.28.2 (2025-04-17)
Fixes
Adds an optimization when object bodies with generators produce no members (#1013).
Fixes a runtime crash when --output-path points to a directory (#1038).
Fixes a bug that sometimes causes pkl-doc to crash (#1028).
Miscellaneous
Documentation improvements (#982, #1010, #1031).
CI improvements (#1020).
Contributors ❤️
Thank you to all the contributors for this release!
@JeroenSoeters
@KushalP
(省略されました)
0.28.1
0.32.0
0.28.1
Pkl Language Server
0.2.0
0.1.2
0.28.1
0.28.1
0.28.1 (2025-03-03)
Fixes
Fixes an issue where Pkl Gradle tasks can possibly fail with java.lang.UnsatisfiedLinkError (#995).
Fixes an issue where the artifacts pkl-tools and pkl-config-java-all fail with java.lang.ClassFormatError (#998).
Changes
Adds the ability to configure native-image build with Gradle system properties (#1001).
Evolution and Roadmap
0.28 Release Notes
0.28.0
0.29.0-dev
0.28.0
0.27.2
0.4.1
0.17.1
0.28.0
0.29.0-dev
0.28.0
0.27.2
0.28.0 (2025-02-26)
Release notes
0.9.0
0.18.2
0.27.2 (2025-01-22)
Fixes
Fixes issues where server mode message decoding might result in null pointer exceptions (#853, #882).
Fixes an issue where the test report outputs decimal numbers using local-specific decimals (#868).
Fixes an issue where the native executables might not run on some environments, resulting in an error like "Fatal error: Failed to create the main Isolate" (#875).
Contributors ❤️
Thank you to all the contributors for this release!
@HT154
@StefMa
Copyright © 2024-2025 Apple Inc. All rights reserved.
0.27.1
0.31.1
0.27.1
0.1.2
0.27.1
0.27.1
0.27.1 (2024-12-06)
Fixes
Fixes a broken "number literals" link in the 0.27 release notes (#784).
Fixes a possible deadlock during external reader process close (#786).
Fixes counting elements with computed indices multiple times in length computation of listings (#797).
Fixes non Pkl modules being reported in GatherImports task, leading to plugin failures (#821).
Fixes a problem where the delegate chain of type casts for Listing/Mapping get unreasonably big, even though the type nodes are the same, which may lead to a stack overflow or performance degradation (#826).
Fixes incorrect scoping of type variables in lazy Listing/Mapping type checking in cross-module typealiases (#789).
Fixes regression in type checking logic for Listing/Mapping (#789).
Contributors ❤️
Thank you to all the contributors for this release!
@GUI
@HT154
@odenix (formerly @translatenix)
Pkl Language Server
0.27 Release Notes
0.27.0
0.30.1
0.29.0
0.28.0-dev
0.27.0
0.3.0
pkl-lsp
0.1.1
0.18.1
0.27.0
0.28.0-dev
0.27.0
0.27.0 (2024-11-05)
Release notes
0.26.3
0.28.0
0.26.3
0.26.3
0.26.3
0.26.3 (2024-08-06)
Fixes
Fixes an issue where CLI argument --property foo="" is effectively parsed as --property foo="true". This is now parsed as an empty string (#596).
Fixes a regression where amending a globbed import or globbed read results in a PklBugException (#607).
Fixes an issue around using file() notation when using the pkl-gradle plugin on Windows (#611).
0.26.2
0.26.2
0.8.0
0.26.2
0.26.2
0.26.2 (2024-07-18)
Fixes
Fixes a possible race condition where multiple concurrent Pkl evaluations results in a thrown exception when downloading packages (#584).