Skip to content

apple/pkl-pantry

Pkl Pantry

This is a monorepo of packages that are maintained and published by the Pkl team.

Using packages

Packages within this repository are published as package://pkg.pkl-lang.org/pkl-pantry/<NAME>@<VERSION>.

Direct imports

Modules from package can be imported directly. For example, the below line imports module toml.pkl from package pkl.toml at version 1.0.0:

import "package://pkg.pkl-lang.org/pkl-pantry/pkl.toml@1.0.0#/toml.pkl"

In a project

If using a project, add a package as a dependency:

PklProject
amends "pkl:Project"

dependencies {
  ["toml"] {
    uri = "package://pkg.pkl-lang.org/pkl-pantry/pkl.toml@1.0.0"
  }
}

Then, resolve the project:

pkl project resolve

This will create a PklProject.deps.json file, which should also be checked into source control.

Maintained packages

The following packages are maintained in this repo:

Package Description

com.circleci.v2

Templates for defining CircleCI configuration.

com.github.actions

Templates for defining GitHub Actions workflows.

com.github.actions.contrib

Utility modules for working with GitHub Actions

com.github.dependabot

Templates for managing Dependabot.

com.influxdata.telegraf

Templates for configuring Telegraf, a plugin-driven server agent for collecting and reporting metrics.

icalendar

Library for working with iCalendar data.

io.github.typesafegithub

Typings for GitHub Actions

io.prometheus

Templates for configuring Prometheus, an open-source systems monitoring and alerting toolkit.

k8s.contrib

Utilities for handling k8s configuration in Pkl.

k8s.contrib.appEnvCluster

Template that captures the hierarchical pattern of Application, Environment, and Cluster.

k8s.contrib.crd

Utilities for Kubernetes Custom Resources.

k8s.networking.gateway

Kubernetes resource definitions for Gateway API.

org.apache.spark

Definitions for Apache Spark.

org.json_schema

Modules for JSON Schema.

org.json_schema.contrib

Utilities for JSON Schema.

org.openapis.v3

Modules for describing OpenAPI v3.x

org.openapis.v3.contrib

Utility modules for working with OpenAPI.

pkl.csv

A RFC4180 compliant CSV Renderer and Parser.

pkl.experimental.deepToTyped

An experimental module that does a deep-conversion from untyped data to Typed values.

pkl.experimental.net

Experimental library for handling network (IP and MAC) addresses.

pkl.experimental.structuredRead

Utility libraries to parse read() values into structured data.

pkl.experimental.syntax

Experimental Pkl syntax library

pkl.experimental.uri

Experimental Pkl URI library

pkl.github.dependabotManagedActions

Provides DependabotManagedActions, a template for writing GitHub Actions workflows, whose actions are pinned to specific SHAs, and updated by dependabot.

pkl.lua

A parser and renderer for a subset of Lua.

pkl.pipe

Tools for constructing pipelines and one-liners in Pkl, by processing text, JSON, or YAML.

pkl.table

Generates pretty human-readable, markdown-compatible, and HTML tables.

pkl.tar

Libraries for creating tar archives.

pkl.toml

A TOML Renderer.

Documentation

The documentation for all packages published here can be found in our Package Docs website.

About

Shared Pkl packages

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors 28

Languages