KCL is participating 2021 OSC China Open Source Project Selection , please vote for it!
KCL in 2021 OSC China Open Source Project Selection {{projectVoteCount} has been obtained in, please vote for it!
2021 OSC China Open Source Project Selection It is in hot progress. Come and vote for your favorite open source project!
2021 OSC China Open Source Project Selection>>> Midfield Review
KCL won the 2021 OSC China Open Source Project Selection "The Best Popularity Project" !
Authorization Agreement Apache
development language C/C++ Rust View source code »
operating system Cross platform
Software type Open source software
Open source organizations Ant Gold Clothes
region domestic
deliverer game
intended for unknown
Recording time 2022-08-03

Software Introduction

Kusion Configuration Language (KCL, Kusion Configuration Language )It is an open source configuration language, mainly used for   Kusion Stack   Open collaboration technology stack. Moreover, KCL is a statically typed language for configuration and policy scenarios based on concepts such as declarative and object-oriented programming (OOP) paradigms.

Core Features

  • simple
    • Originated from Python and Golang, incorporating functional language features
    • Absorb language elements such as statements, expressions, conditions, loops, etc
    • Type and data separation, Schema declaration configuration definition
  • stable
    • Strongly immutable constraint
    • Type derivation and type check at compile time
    • Rule policy definition: attribute centered constraint expression, query results based on constraints
    • Testable: the language has built-in assert assertion, print printing and testing tools
  • Scalable
    • Configuration Merge: Configure dependency graph substitution at compile time
    • Configuration attribute operators: meet the requirements of configuration override, merge, add and delete
    • Configuration reuse: rich built-in data structure and syntax semantics, easily extending the same configuration to different scenarios
  • Engineering
    • Schema single inheritance and declarative model reuse and assembly
    • Automatic configuration of tools and API granularity "add, delete, change and query"
    • Rich built-in functions and system libraries
    • Dynamic import of top-level data
    • Code organization: modules and packages
    • Plug in system : Reuse common programming language ecology.
    • OpenAPI model support : bidirectional conversion between Swagger and Schema, Kubernetes CRD conversion to Schema
  • High performance
    • Cooperate with LLVM optimizer, support compiling to local code, WASM and other formats, and execute efficiently

Installation&Documentation

How to install

From Github releases page download , and will   {install-location}/kclvm/bin   Add to your environment variable

Quick Start

./samples/fib. k   Is an example of calculating Fibonacci sequence

 schema Fib: n1: int = n - 1 n2: int = n1 - 1 n: int value: int if n <= 1: value = 1 elif n == 2: value = 1 else: value = Fib {n: n1}.value + Fib {n: n2}.value fib8 = Fib {n: 8}.value

We can get YAML output by executing the following command

 kcl ./samples/fib.k

YAML output

 fib8 : twenty-one

file

For more documents, please visit   https://kusionstack.io

Expand to read the full text

code

Gitee index of is
exceed Items for

comment

Click to join the discussion 🔥 (1) Post and join the discussion 🔥
Published information
03/20 13:50

KCL community activities in March and the latest news express!

KCL is a constraint based recording and function language hosted by the CNCF Foundation. It expects to improve the writing of a large number of complex configurations such as cloud native Kubernetes configuration scenarios through mature programming language technology and practice, and is committed to building better modularity, scalability, stability, and simpler logic writing around configurations, And simpler automation and ecological tool integration. This column will update the latest news of the KCL language community biweekly, including functions, official website updates and the latest community news, to help you better understand the KCL community! KCL official website: https://kcl-lang.io Content overview

zero
zero
Published information
03/07 15:28

KCL v0.8.0 is a blockbuster release - integrating community ecology to help configuration experience!

Introduction The KCL team is pleased to announce that the new version of KCL v0.8.0 is now available! This release brings you three major updates: language, tool chain, community integration&extended support. Use KCL language, tool chain and IDE with more complete functions and fewer errors to improve the code writing experience and efficiency More comprehensive and rich community ecological integration, improve the KCL tripartite library model with richer O&M experience, Easier integration with cloud native ecosystem Further, you can get the download installation guide and detailed release information on the KCL v0.8.0 release page or the KCL official website. KCL is a CN

zero
zero
Published information
03/04 17:08

Official announcement! The well-known IaC tool Crossplane announced that KCL had landed in its official function market!

Reprinted and collated from the original Crossplane blog: https://blog.crossplane.io/function-kcl Content Introduction Since the beta version of the combination function in Crossplane v1.14 was released, the possible experience range of building a cloud native platform using Crossplane has been expanding rapidly. The KCL team immediately followed up and actively built a reusable function. The entire Crossplane ecosystem can now use the high-level experience and capabilities provided by KCL to build its own cloud native platform. At the same time, Crossplane announced that KCL functions were the first to be published to Upbound

zero
zero
Published information
01/04 18:58

KCL Dynamic Express | Integration of Crossplane and KCL simplifies cloud resource configuration and abstraction

KCL is a constraint based recording and function language hosted by the CNCF Foundation. It expects to improve the writing of a large number of complex configurations such as cloud native Kubernetes configuration scenarios through mature programming language technology and practice, and is committed to building better modularity, scalability, stability, and simpler logic writing around configurations, And simpler automation and ecological tool integration. This column will update the latest news of the KCL language community biweekly, including functions, official website updates and the latest community news, to help you better understand the KCL community! KCL official website: kcl-lang.io Content overview Thank you for all the tribute

zero
zero
Published information
2023/11/23 17:23

Check the KCL community open source newsletter | Cloud native model, language and tool chain update express!

Welcome to join the KCL community for interaction. KCL is a constraint based record and function language hosted by the CNCF Foundation. It hopes to improve the writing of a large number of complex configurations such as cloud native Kubernetes configuration scenarios through mature programming language technology and practice, and is committed to building better modularity, scalability and stability around configurations, Simpler logic writing, and simpler automation and ecological tool integration. This column will update the latest news of the KCL language community biweekly, including functions, official website updates and the latest community news, so as to help you better understand the KCL community

zero
zero
Published information
2023/11/09 14:32

KCL community's latest news express | A lot of experience improvement! The IDE plug-in adds a complete, more fluent package management and out of the box model

Welcome to join the KCL community for interaction~KCL is a constraint based record and function language hosted by the CNCF Foundation. It improves the writing of a large number of complex configurations such as cloud native Kubernetes configuration scenarios through mature programming language technology and practice, and is committed to building better modularity, scalability and stability around configurations, Simpler logic writing, and simpler automation and ecological tool integration. This column will update the latest news of the KCL language community biweekly, including functions, official website updates and the latest community news, to help you better understand the KCL community

zero
zero
Published information
2023/10/12 20:38

KCL Community Open Source Biweekly | More Kubernetes models and IDE plug-in function support!

KCL is an open source constraint based record and function language and improves the writing of a large number of complex configurations, such as cloud native Kubernetes configuration scenarios, through mature programming language technology and practice. It is committed to building better modularity, scalability and stability around configuration, simpler logic writing, and simpler automation and ecological tool integration. This column will update the latest news of the KCL language community biweekly, including functions, official website updates and the latest community news, to help you better understand the KCL community! KCL official website: https://kcl-lang.io Content Overview Thank all contributors for the past

zero
zero
Published information
2023/09/20 13:53

Good news! CNCF Foundation announced that KCL became a sandbox project!

On September 20, 2023, the KCL project passed the evaluation of the Technical Supervision Committee of the Global Top Open Source Foundation Cloud Native Computing Foundation (CNCF), and officially became a CNCF sandbox project. This means that KCL has been recognized by the cloud native open source community, ensuring the neutrality of the project, facilitating developers, partners, etc. to jointly participate in the project construction and achieve win-win cooperation, and taking an important step towards bringing dynamic configuration management and automation capabilities to cloud native application delivery! Project address: https://github.com/kcl-lang/kcl Project official website: https://kcl-lang.io By entering the CNCF sandbox, KCL community

zero
zero
Published information
2023/09/15 19:29

KCL language v0.6.0 heavy release - easier language, IDE tool chain, community integration and extension support

The KCL team is pleased to announce that the new version of KCL v0.6.0 is now available! This release brings you three major updates: language, tool chain, community integration&extended support. Use KCL language with more complete functions and fewer errors IDE and tool chain improve code writing experience and efficiency. Use package management tools such as KPM and OCI Registry to directly use and share your cloud native domain model, reduce learning and hands-on costs. Use cloud native integration extensions such as Helmfile KCL plug-in and KCL Operator to simultaneously support in situ repair of Kubernetes resources on the client side and at runtime

two
zero
Published information
2023/08/23 18:12

KCL community open source biweekly and v0.5.5 new version released

KCL is an open source constraint based record and function language and improves the writing of a large number of complex configurations, such as cloud native Kubernetes configuration scenarios, through mature programming language technology and practice. It is committed to building better modularity, scalability and stability around configuration, simpler logic writing, and simpler automation and ecological tool integration. This column will update the latest news of the KCL language community biweekly, including functions, official website updates and the latest community news, to help you better understand the KCL community! KCL official website: https://kcl-lang.io Content Overview Thank all contributors for the past

zero
one
Published information
2023/08/10 15:16

KCL Open Source Community Biweekly News | KCL 0.5.1 and 0.5.2 Released Officially

KCL is an open source constraint based record and function language and improves the writing of a large number of complex configurations, such as cloud native Kubernetes configuration scenarios, through mature programming language technology and practice. It is committed to building better modularity, scalability and stability around configuration, simpler logic writing, and simpler automation and ecological tool integration. This column will update the latest news of the KCL language community biweekly, including functions, official website updates and the latest community news, to help you better understand the KCL community! KCL official website: https://kcl-lang.io Content overview Last two weeks (2023 07

zero
one
Published information
2023/07/17 14:08

KCL v0.5.0 is a blockbuster release - more user-friendly language, tool chain, community integration and extension support for cloud native scenarios

Introduction The KCL team is pleased to announce that the new version of KCL v0.5.0 is now available! This release brings you three major updates: language, tool chain, community integration&extended support. Use KCL language and IDE with more perfect functions and fewer errors to improve the code writing experience and efficiency. Use KPM, KCL OpenAPI, OCI Registry and other tools to directly use and share your cloud native domain model, reduce learning and hands-on costs. Use Github Action, The integration and extension of community tools such as ArgoCD and Kubectl KCL plug-ins can improve automation efficiency. Further, you can use the

zero
zero
Published information
2023/04/27 21:28

Say goodbye to the previous version - a quick look at the new features of the KCL Go SDK!

What is KCL? KCL is an open source constraint based record and function language. It expects to improve the writing of a large number of complex configurations and policies through mature programming language technology and practice, and is committed to building better modularity, scalability and stability around configuration, simpler logic writing, faster automatic integration and good ecological scalability. What is the KCL Go SDK? Kclvm is a KCL language runtime library, which provides a programming interface to interact with the KCL compiler. It is a client library that can be used to perform various operations on KCL source code, such as execution, formatting, etc. K...

zero
three
Published information
2023/04/17 15:36

KCL v0.4.6 release - new IDE plug-in, Helm/Kustomize/KPT tool integration

Introduction The KCL team is pleased to announce that the new version of KCL v0.4.6 is now available! This release brings you three major updates: language, tool chain, community integration&extended support. Use IDE plug-ins to improve the KCL code writing experience and efficiency Helm/Kustomize/KPT cloud native community tool integration to improve the KCL multilingual SDK, facilitate application integration, and further you can obtain the download installation guide and detailed release information on the KCL v0.4.6 release page or the KCL official website. KCL is an open source constraint based record and function language. It is expected to use a mature programming language

zero
one
Published information
2023/03/22 14:22

The KCL IDE real-time display warning and error function comes, supporting full syntax and semantic error recovery

Hot PR: https://github.com/KusionStack/KCLVM/pull/460 Effect display:

zero
zero
Published information
2023/03/20 13:28

KCL v0.4.6 alpha release, more Kubernetes tool integration, IDE error prompt

Introduction The KCL team is pleased to announce that KCL v0.4.6-alpha.1 is now available! You can get the KCL binary download link and more detailed release information on the KCL v0.4.6-alpha.1 release page or the KCL official website. KCL is an open source constraint based record and function language. It expects to improve the writing of a large number of complex configurations and policies through mature programming language technology and practice, and is committed to building better modularity, scalability and stability around configuration, simpler logic writing, faster automatic integration and good ecological scalability. Publishing contains numbers

zero
one
Published information
2023/02/27 17:04

KCL v0.4.5 release - better writing convenience, stability, experience improvement and multi platform support

Introduction The KCL team is pleased to announce that KCL v0.4.5 is now available! This release is mainly for improving the convenience and stability of KCL language writing, improving error messages, and supporting more platforms, including windows version and more download methods. In KCL v0.4.5, users can eliminate more configuration templates by writing fewer KCL codes; The new version provides preliminary KCL Playground support, which can be used to write and run KCL code online without installation; In addition, this update also includes a number of compiler error message optimization and error repair. You can publish in KCL v0.4.5

zero
zero
Published information
2022/12/08 14:56

KCL v0.4.4 released! Customize YAML Manifests output and Python SDK!

The KCL team is pleased to announce that version 0.4.4 is now available! This release mainly adds the ability to customize YAML Manifests output for KCL language. Users can customize the style of YAML output by writing code and calling system functions without understanding complex schema settings semantics; In addition, this release provides the latest KCL Python SDK for Python users to directly integrate KCL; At the same time, we have greatly reduced the size of the KCL installation package. The average installation package size has been reduced to one-fifth of that of the previous version. It also includes multiple compiler error message optimization and bug repair

zero
zero
Published information
2022/12/01 16:11

KCL - Make Kubernetes resource list management easier

What is KCL KCL (Kusion Configuration Language)[ https://github.com/KusionStack/KCLVM ]It is an open source constraint based record and function language, mainly used for configuration writing and policy verification scenarios. KCL expects to improve the writing of a large number of complex configurations through mature programming language technology and practice, and is committed to building better modularity, scalability and stability around configuration, simpler logic writing, faster automatic integration and good ecological scalability. The so-called configuration means that when we deploy software systems, we do not think they are fixed. constantly...

zero
one
No more
Loading failed, please refresh the page
Click to load more
Loading
next page
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
No more
No content temporarily
Issued a question and answer
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
No more
No content temporarily
No content temporarily
one comment
three Collection
 OSCHINA
Log in to view more high-quality content
 Back to top
Top