awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
apple avatar

apple/pkl

0
View on GitHub↗

Pkl

Pkl is a configuration-as-code language used to define, validate, and generate structured configuration files. It functions as a type-safe configuration generator that enforces data integrity through a strongly-typed schema, ensuring configuration values meet defined constraints and types during evaluation.

The project distinguishes itself by acting as both a configuration file generator and a binding generator. It transforms high-level programmable definitions into static formats such as JSON, YAML, or XML, and produces language-specific source code to synchronize settings and provide type safety between configuration files and application logic.

The system includes a read-eval-print loop for interactive testing of configuration logic and data transformations. Its capabilities cover configuration lifecycle automation, including the ability to evaluate batches of files and embed the configuration language directly into applications.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI
pkl-lang.org
↗

Features

  • Configuration Generators - Acts as a type-safe generator that produces both validated configuration outputs and language-specific bindings.
  • Configuration as Code - Provides a programmable language for managing application settings and data schemas through version-controlled files.
  • Configuration Languages - Provides a programmable syntax for defining hierarchical settings and parameters with built-in logic and variables.
  • Type-Safe Binding Generators - Generates type-safe language bindings from configuration definitions to synchronize settings with application logic.
  • Type-Safe Configuration Languages - Provides a programmable language for defining, validating, and generating structured configuration files with built-in type checking.
  • Configuration File Generators - Transforms high-level programmable definitions into static configuration files like JSON, YAML, or XML.
  • Configuration File Generators - Transforms programmable definitions into standard static configuration files like JSON, YAML, or XML.
  • Programmable - Transforms high-level programmable definitions into static structured formats required by other software applications.
  • Static Configuration Generators - Transforms high-level programmable definitions into static formats such as JSON, YAML, or XML.
  • Type-Safe Binding Generators - Generates type definitions and proxies from configuration definitions to ensure static type safety across language boundaries.
  • Rust Language Binding Generators - Generates language-specific source code from configuration definitions to provide type safety between files and applications.
  • Configuration Validation - Enforces data integrity by verifying configuration values against defined schemas and constraints before deployment.
  • Configuration Schemas - Enforces data integrity by validating configuration values against strongly-typed schemas and constraints.
  • Source Code Generators - Programmatically generates language-specific source code from configuration definitions to synchronize settings with application logic.
  • Type-Safe Configurations - Uses schema-based models to provide type-safe configuration and validation of settings.
  • Configuration Validation Tools - Verifies the syntax and integrity of configuration files to identify errors before deployment.
  • Configuration-as-Code Management - Uses a programmable language to define and version settings, reducing repetition and ensuring consistency across environments.
  • Configuration Validation - Implements mechanisms to verify that configuration keys and values are present and valid during the evaluation process.
  • Data Type Validation - Checks configuration values against defined types and constraints to ensure data conforms to expected structures.
  • Strongly-Typed Validators - Leverages a strong type system to enforce data integrity through validators during the configuration evaluation process.
  • Interactive REPLs - Enables real-time testing of configuration logic and state inspection through an interactive REPL.
  • Read-Eval-Print Loops - Includes an interactive environment for executing and testing configuration expressions in real-time.
  • Automated Configuration Management - Automates the synchronization and verification of configuration files based on external inputs to ensure stability.
  • Configuration Lifecycle Automations - Evaluates and verifies batches of configuration files as part of a deployment pipeline to ensure environment stability.
11,429 stars·386 forks·Java·Apache-2.0·37 views

Star history

Star history chart for apple/pklStar history chart for apple/pkl

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does apple/pkl do?

Pkl is a configuration-as-code language used to define, validate, and generate structured configuration files. It functions as a type-safe configuration generator that enforces data integrity through a strongly-typed schema, ensuring configuration values meet defined constraints and types during evaluation.

What are the main features of apple/pkl?

The main features of apple/pkl are: Configuration Generators, Configuration as Code, Configuration Languages, Type-Safe Binding Generators, Type-Safe Configuration Languages, Configuration File Generators, Programmable, Static Configuration Generators.

Which projects share features with apple/pkl?

Projects with overlapping indexed features include: dhall-lang/dhall-lang — Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to… adambard/learnxinyminutes-docs — This project is a collection of programming language references and syntax cheat sheets designed for rapid developer… open-circle/valibot — Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments. bkeepers/dotenv — Dotenv is a Ruby library used for loading key-value pairs from files into an application environment. It includes a… jeremyskinner/fluentvalidation — FluentValidation is a strongly-typed data validation library for .NET. It functions as a rule engine and input… dynaconf/dynaconf — Dynaconf is a configuration management library for Python applications that provides a unified system for loading,…

Projects sharing features with Pkl

These projects share indexed features with Pkl. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • dhall-lang/dhall-langdhall-lang avatar

    dhall-lang/dhall-lang

    4,458View on GitHub↗

    Dhall is a type-safe configuration language designed to create programmable configuration files that are guaranteed to terminate. It is a non-Turing-complete language that uses a strict type system to ensure correctness and prevent infinite loops during evaluation. The project functions as a deterministic configuration engine and marshalling tool, converting programmable expressions into static formats such as JSON, YAML, and Bash. It distinguishes itself through a focus on security and integrity, using semantic hashing to pin remote imports and enforcing origin policies to prevent data exfil

    Dhallconfiguration-languagedhall
    View on GitHub↗4,458
  • adambard/learnxinyminutes-docsadambard avatar

    adambard/learnxinyminutes-docs

    12,287View on GitHub↗

    This project is a collection of programming language references and syntax cheat sheets designed for rapid developer onboarding. It serves as a library of code-based documentation that uses valid source code files to provide whirlwind tours of various language specifications. The project focuses on programming language learning by providing concise, commented code examples that explain core features and syntax in place. This approach enables developers to quickly grasp language-specific patterns, data types, and execution flow through a consistent reference format. The content covers a broad

    Markdown
    View on GitHub↗12,287
  • open-circle/valibotopen-circle avatar

    open-circle/valibot

    8,769View on GitHub↗

    Valibot is a modular, type-safe schema library for validating and parsing structural data in TypeScript environments.

    TypeScriptbundle-sizemodularparsing
    View on GitHub↗8,769
  • bkeepers/dotenvbkeepers avatar

    bkeepers/dotenv

    6,758View on GitHub↗

    Dotenv is a Ruby library used for loading key-value pairs from files into an application environment. It includes a configuration parser to extract variables into hashes and a loader to inject those pairs into the global environment. The project features a variable interpolator that resolves environment variables and shell command outputs within configuration values. It also provides a validator to verify that required configuration keys are present during application initialization. The toolset covers environment variable management, including the ability to generate configuration templates

    Ruby
    View on GitHub↗6,758
Compare all 30 related projects→