Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. starlark-rust

starlark-rust

Apache-2.0Rustv0.13.0

A Rust implementation of the Starlark language, used for configuration in build systems like Bazel and Buck.

GitHubGitHub
963 stars92 forks0 contributors

What is starlark-rust?

Starlark in Rust is a library that provides a Rust implementation of the Starlark language. Starlark is a deterministic, Python-like language used primarily for configuration in build systems such as Bazel, Buck, and Buck2. This library allows developers to embed Starlark within Rust applications, enabling scripting and configuration capabilities.

Target Audience

Rust developers who need to embed a scripting or configuration language in their applications, particularly those working on build tools, development tools, or systems requiring extensible configuration.

Value Proposition

It offers seamless interoperability between Rust and Starlark, along with features like garbage collection, type checking, and IDE support, making it a robust choice for embedding Starlark in Rust ecosystems.

Overview

A Rust implementation of the Starlark language

Use Cases

Best For

  • Embedding a configuration language in Rust-based build tools
  • Adding scripting capabilities to Rust applications
  • Creating extensible configuration systems for development tools
  • Implementing Starlark support in custom build systems
  • Building IDE plugins or language servers for Starlark
  • Developing linters or debuggers for Starlark code

Not Ideal For

  • Projects requiring stable, long-term API compatibility
  • Applications with strict minimal dependency requirements
  • Teams needing full Starlark spec support including newer features like bytes
  • Users looking for a standalone Starlark interpreter in non-Rust environments

Pros & Cons

Pros

Seamless Rust Integration

Offers easy conversion between Rust types and Starlark values, enabling smooth embedding and extension in Rust applications, as highlighted in the README's interoperability features.

Advanced Developer Tooling

Includes Language Server Protocol (LSP) for IDE support and Debug Adapter Protocol (DAP) for debugging, enhancing the development experience for Starlark scripts.

Robust Testing Suite

Features extensive testing, including fuzz testing, which ensures reliability and stability across various use cases, as mentioned in the project's testing goals.

Optional Type Safety

Provides runtime-checked types for enhanced safety, allowing developers to add type annotations to Starlark code, which is documented in the types section.

Cons

Unstable API

Prioritizes rapid iteration over API stability, making it challenging for projects that require long-term compatibility, as stated in the non-goals section.

Heavy Dependency Footprint

Opts for a feature-rich single package rather than minimizing dependencies, which can bloat projects, as admitted in the README's dependency philosophy.

Incomplete Spec Compliance

Lacks support for some Starlark features like bytes, limiting compatibility with scripts that use newer spec elements, as noted in the compatibility section.

Complex Custom Integration

Requires building a custom binary for domain-specific bindings, since the provided starlark_bin only supports standard Starlark, adding overhead for tailored use cases.

Frequently Asked Questions

Quick Stats

Stars963
Forks92
Contributors0
Open Issues31
Last commit1 day ago
CreatedSince 2020

Tags

#bazel#configuration-language#starlark#scripting#build-systems#dap#rust#lsp#embedded-language

Built With

R
Rust

Included in

Rust56.6k
Auto-fetched 1 day ago

Related Projects

boaboa

Boa is an embeddable Javascript engine written in Rust.

Stars7,211
Forks627
Last commit3 days ago
rhairhai

Rhai - An embedded scripting language for Rust.

Stars5,302
Forks232
Last commit15 days ago
gluongluon

A static, type inferred and embeddable language written in Rust.

Stars3,395
Forks152
Last commit1 year ago
kclkcl

KCL Programming Language Core and API (CNCF Sandbox Project). https://kcl-lang.io

Stars2,347
Forks169
Last commit13 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub