Source | Specification
Starlark implementations, tools, and users
Implementations
The implementations below are not fully compliant to the specification yet. We aim to remove the differences and provide a common test suite.
Tools
- Buildifier: Code formatter & linter. It can also apply automated fixes (e.g. remove unused loads).
- Stardoc: Documentation generator.
- Starlark Playground: Starlark Playground is a web-based starlark editor. It uses the golang implementation of starlark running on a server to present a monaco editor set to python syntax.
- Moonlark: Starlark parser in C with Lua bindings.
IDEs
Some IDEs have a plugin for Bazel. Otherwise, consider using a Python mode.
Users
- Bazel is a fast, scalable, multi-language and extensible build system. Starlark has been designed for Bazel.
- Buck is a build system from Facebook, using Starlark in a similar way as Bazel.
- Caddy is a fast, cross-platform HTTP/2 web server with automatic HTTPS.Starlark is used in Caddy 2 to extend the JSON configuration and add some logic.
- Copybara is a tool for transforming and moving code between repositories. It embeds Starlark to configure the workflow.
- Delve is a debugger for the Go programming language, aiming to provide a simple, full featured debugging tool for Go. Delve uses Starlark as a a scripting language.
- Drone is a self-service Continuous Delivery platform. It supports Starlark scripting as an alternate to yaml configurations.
- Isopod created by Cruise Automation is a DSL framework for Kubernetes configuration. It renders Kubernetes objects as Protocol Buffers.
- lucicfg from Chromium CI is a tool for generating low-level configuration files from Starlark.
- qri is versioned, scriptable, exportable, collaborative datasets. It uses Starlark to describe transformations.
- Skycfg is a library for Starlark to generate Protocol Buffer messages.
- starlark-go-nethttp is a wrapper around a minimal subset of
net/http package
for use within starlark-go.
- Starlight is a wrapper around the Starlark interpreter in Go.
- Tilt manages local development instances for teams that deploy to Kubernetes. Tilt files are written in Starlark.
- ytt is a templating tool, built on top of Starlark, that understands YAML structure allowing you to focus on your data instead of how to properly escape it. Read also IBM's blog post about it.
Tags:
language
tool
python
dynamic
Last modified 16 December 2024