apple/pkl

A configuration as code language with rich validation and tooling.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 6 minutes ago
Added to GitGenius on February 6th, 2024
Created on January 19th, 2024
Open Issues & Pull Requests: 227 (+0)
Number of forks: 399
Total Stargazers: 11,489 (+0)
Total Subscribers: 53 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 18.1 hours
Mean response time: 41.3 days
90th percentile: 146.7 days
Tracked items: 308

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 82% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 73% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 9% of issues opened in the past year have been closed. Three people close 81% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 179
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 505 days
Stale 30+ days: 171
Stale 90+ days: 162

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (39)
  • good first issue (4)
  • help wanted (3)
  • enhancement (2)
  • duplicate (1)

Most active issues this week

Detailed Description

Pkl is a configuration as code language developed by Apple that emphasizes rich validation and tooling capabilities. Written primarily in Java, it provides a modern approach to managing configuration files with built-in language features designed to catch errors and ensure correctness. The project is actively maintained with comprehensive documentation available at pkl-lang.org, including language references, installation guides, and practical examples.

The language supports multiple output formats including JSON, YAML, XML, and property files, making it compatible with existing configuration ecosystems. Pkl's design incorporates both functional and object-oriented programming paradigms, allowing developers to write configurations that are more expressive and maintainable than traditional static configuration files. The validation capabilities are a core feature, enabling users to define constraints and rules that configurations must satisfy before deployment.

The Pkl ecosystem extends well beyond the core language repository. Apple maintains a comprehensive suite of related projects including language bindings for Go, Swift, and JVM languages, editor integrations for VS Code, JetBrains IDEs, and Neovim, and specialized tools like a Language Server Protocol implementation and Kubernetes integration packages. The pkl-pantry repository provides shared packages that users can leverage, while pkl-spring offers integration with Spring Boot applications. This extensive ecosystem reflects the project's maturity and Apple's commitment to making Pkl accessible across different development environments and use cases.

Community engagement is facilitated through GitHub Issues and Discussions, with the project maintaining an active development pace. The project's contributor base overlaps with major open source projects including Microsoft's VS Code and TypeScript, as well as the Rust language project, suggesting influence from and connections to the broader programming language and tooling communities.

The development process is transparent and well-documented, with contribution guidelines available in the repository alongside detailed build instructions. Artifacts and binaries are published to the Sonatype Repository through automated CI pipelines, ensuring users can easily access the latest builds. The project's evolution is managed through a dedicated repository for Pkl Improvement, Change, or Enhancement proposals, providing a structured mechanism for community input on language direction. This combination of a well-designed language, comprehensive tooling, active maintenance, and thoughtful community processes positions Pkl as a significant entry in the configuration management space.