Skip to main content

KCL Programming Language Python Lib

Project description

KCL Artifact Library for Python

Installation

python3 -m pip install kcl-lib

Quick Start

import kcl_lib.api as api

args = api.ExecProgram_Args(k_filename_list=["/path/to/kcl_file.k"])
api = api.API()
result = api.exec_program(args)
print(result.yaml_result)

Developing

Setup virtualenv:

python3 -m venv venv

Activate venv:

source venv/bin/activate

Install maturin:

cargo install maturin

Build bindings:

maturin develop

Test

python3 -m pytest

API Reference

exec_program

Execute KCL file with arguments and return the JSON/YAML result.

Example

The content of schema.k is

schema AppConfig:
    replicas: int

app: AppConfig {
    replicas: 2
}

Python Code

import kcl_lib.api as api

args = api.ExecProgram_Args(k_filename_list=["schema.k"])
api = api.API()
result = api.exec_program(args)
assert result.yaml_result == "app:\n  replicas: 2"

A case with the file not found error

Example

import kcl_lib.api as api

try:
    args = api.ExecProgram_Args(k_filename_list=["file_not_found"])
    api = api.API()
    result = api.exec_program(args)
    assert False
except Exception as err:
    assert "Cannot find the kcl file" in str(err)

parse_file

Parse KCL single file to Module AST JSON string with import dependencies and parse errors.

Example

The content of schema.k is

schema AppConfig:
    replicas: int

app: AppConfig {
    replicas: 2
}

Python Code

import kcl_lib.api as api

args = api.ParseParseFile_Args(path=TEST_FILE)
api = api.API()
result = api.parse_file(args)

parse_program

Parse KCL program with entry files and return the AST JSON string.

Example

The content of schema.k is

schema AppConfig:
    replicas: int

app: AppConfig {
    replicas: 2
}

Python Code

import kcl_lib.api as api

args = api.ParseProgram_Args(paths=["schema.k"])
api = api.API()
result = api.parse_program(args)
assert len(result.paths) == 1
assert len(result.errors) == 0

load_package

load_package provides users with the ability to parse KCL program and semantic model information including symbols, types, definitions, etc.

Example

The content of schema.k is

schema AppConfig:
    replicas: int

app: AppConfig {
    replicas: 2
}

Python Code

import kcl_lib.api as api

args = api.LoadPackage_Args(
    parse_args=api.ParseProgram_Args(paths=["schema.k"]), resolve_ast=True
)
api = api.API()
result = api.load_package(args)
assert list(result.symbols.values())[0].ty.schema_name == "AppConfig"

list_variables

list_variables provides users with the ability to parse KCL program and get all variables by specs.

Example

The content of schema.k is

schema AppConfig:
    replicas: int

app: AppConfig {
    replicas: 2
}

Python Code

import kcl_lib.api as api

args = api.ListVariables_Args(files=[TEST_FILE])
api = api.API()
result = api.list_variables(args)

list_options

list_options provides users with the ability to parse KCL program and get all option information.

Example

The content of options.k is

a = option("key1")
b = option("key2", required=True)
c = {
    metadata.key = option("metadata-key")
}

Python Code

import kcl_lib.api as api

args = api.ParseProgram_Args(paths=["options.k"])
api = api.API()
result = api.list_options(args)
assert len(result.options) == 3
assert result.options[0].name == "key1"
assert result.options[1].name == "key2"
assert result.options[2].name == "metadata-key"

get_schema_type_mapping

Get schema type mapping defined in the program.

Example

The content of schema.k is

schema AppConfig:
    replicas: int

app: AppConfig {
    replicas: 2
}

Python Code

import kcl_lib.api as api

exec_args = api.ExecProgram_Args(k_filename_list=["schema.k"])
args = api.GetSchemaTypeMapping_Args(exec_args=exec_args)
api = api.API()
result = api.get_schema_type_mapping(args)
assert result.schema_type_mapping["app"].properties["replicas"].type == "int"

override_file

Override KCL file with arguments. See https://www.kcl-lang.io/docs/user_docs/guides/automation for more override spec guide.

Example

The content of main.k is

a = 1
b = {
    "a": 1
    "b": 2
}

Python Code

import kcl_lib.api as api
import pathlib

test_file = "main.k"
args = api.OverrideFile_Args(
    file=test_file,
    specs=["b.a=2"],
)
api = api.API()
result = api.override_file(args)
assert len(result.parse_errors) == 0
assert result.result == True
assert pathlib.Path(test_file).read_text() == """\
a = 1
b = {
    "a": 2
    "b": 2
}
"""

format_code

Format the code source.

Example

Python Code

import kcl_lib.api as api

source_code = """\
schema Person:
    name:   str
    age:    int

    check:
        0 <   age <   120
"""
args = api.FormatCode_Args(source=source_code)
api_instance = api.API()
result = api_instance.format_code(args)
assert (
    result.formatted.decode()
    == """\
schema Person:
    name: str
    age: int

    check:
        0 < age < 120

"""
    )

format_path

Format KCL file or directory path contains KCL files and returns the changed file paths.

Example

The content of format_path.k is

schema Person:
    name:   str
    age:    int

    check:
        0 <   age <   120

Python Code

import kcl_lib.api as api

args = api.FormatPath_Args(path="format_path.k")
api_instance = api.API()
result = api_instance.format_path(args)
print(result)

lint_path

Lint files and return error messages including errors and warnings.

Example

The content of lint_path.k is

import math

a = 1

Python Code

import kcl_lib.api as api

args = api.LintPath_Args(paths=["lint_path.k"])
api_instance = api.API()
result = api_instance.lint_path(args)

validate_code

Validate code using schema and JSON/YAML data strings.

Example

Python Code

import kcl_lib.api as api

code = """\
schema Person:
    name: str
    age: int

    check:
        0 < age < 120
"""
data = '{"name": "Alice", "age": 10}'
args = api.ValidateCode_Args(code=code, data=data, format="json")
api_instance = api.API()
result = api_instance.validate_code(args)
assert result.success == True
assert result.err_message == ""

rename

Rename all the occurrences of the target symbol in the files. This API will rewrite files if they contain symbols to be renamed. Return the file paths that got changed.

Example

The content of main.k is

a = 1
b = a

Python Code

import kcl_lib.api as api

args = api.Rename_Args(
    package_root=".",
    symbol_path="a",
    file_paths=["main.k"],
    new_name="a2",
)
api_instance = api.API()
result = api_instance.rename(args)

rename_code

Rename all the occurrences of the target symbol and return the modified code if any code has been changed. This API won't rewrite files but return the changed code.

Example

Python Code

import kcl_lib.api as api

args = api.RenameCode_Args(
    package_root="/mock/path",
    symbol_path="a",
    source_codes={"/mock/path/main.k": "a = 1\nb = a"},
    new_name="a2",
)
api_instance = api.API()
result = api_instance.rename_code(args)
assert result.changed_codes["/mock/path/main.k"] == "a2 = 1\nb = a2"

test

Test KCL packages with test arguments.

Example

Python Code

import kcl_lib.api as api
args = api.Test_Args(
    pkg_list=["path/to/testing/pkg/..."],
)
api_instance = api.API()
result = api_instance.test(args)

load_settings_files

Load the setting file config defined in kcl.yaml

Example

The content of kcl.yaml is

kcl_cli_configs:
  strict_range_check: true
kcl_options:
  - key: key
    value: value

Python Code

import kcl_lib.api as api

args = api.LoadSettingsFiles_Args(
    work_dir=".", files=["kcl.yaml"]
)
api_instance = api.API()
result = api_instance.load_settings_files(args)
assert result.kcl_cli_configs.files == []
assert result.kcl_cli_configs.strict_range_check == True
assert (
    result.kcl_options[0].key == "key" and result.kcl_options[0].value == '"value"'
)

update_dependencies

Download and update dependencies defined in the kcl.mod file and return the external package name and location list.

Example

The content of module/kcl.mod is

[package]
name = "mod_update"
edition = "0.0.1"
version = "0.0.1"

[dependencies]
helloworld = { oci = "oci://ghcr.io/kcl-lang/helloworld", tag = "0.1.0" }
flask = { git = "https://github.com/kcl-lang/flask-demo-kcl-manifests", commit = "ade147b" }

Python Code

import kcl_lib.api as api

args = api.UpdateDependencies_Args(
    manifest_path="module"
)
api_instance = api.API()
result = api_instance.update_dependencies(args)
pkg_names = [pkg.pkg_name for pkg in result.external_pkgs]
assert len(pkg_names) == 2
assert "helloworld" in pkg_names
assert "flask" in pkg_names

Call exec_program with external dependencies

Example

The content of module/kcl.mod is

[package]
name = "mod_update"
edition = "0.0.1"
version = "0.0.1"

[dependencies]
helloworld = { oci = "oci://ghcr.io/kcl-lang/helloworld", tag = "0.1.0" }
flask = { git = "https://github.com/kcl-lang/flask-demo-kcl-manifests", commit = "ade147b" }

The content of module/main.k is

import helloworld
import flask

a = helloworld.The_first_kcl_program

Python Code

import kcl_lib.api as api

args = api.UpdateDependencies_Args(
    manifest_path="module"
)
api_instance = api.API()
result = api_instance.update_dependencies(args)
exec_args = api.ExecProgram_Args(
    k_filename_list=["module/main.k"],
    external_pkgs=result.external_pkgs,
)
result = api_instance.exec_program(exec_args)
assert result.yaml_result == "a: Hello World!"

get_version

Return the KCL service version information.

Example

Python Code

import kcl_lib.api as api

api_instance = api.API()
result = api_instance.get_version()
print(result.version_info)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kcl_lib-0.10.5.tar.gz (54.8 kB view details)

Uploaded Source

Built Distributions

kcl_lib-0.10.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-cp312-none-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.12 Windows x86-64

kcl_lib-0.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.9 MB view details)

Uploaded CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

kcl_lib-0.10.5-cp311-none-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.11 Windows x86-64

kcl_lib-0.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.9 MB view details)

Uploaded CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

kcl_lib-0.10.5-cp310-none-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.10 Windows x86-64

kcl_lib-0.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.9 MB view details)

Uploaded CPython 3.10 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

kcl_lib-0.10.5-cp39-none-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.9 Windows x86-64

kcl_lib-0.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (14.9 MB view details)

Uploaded CPython 3.9 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64

kcl_lib-0.10.5-cp38-none-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.8 Windows x86-64

kcl_lib-0.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.5-cp37-none-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.7 Windows x86-64

kcl_lib-0.10.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.6 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

kcl_lib-0.10.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

File details

Details for the file kcl_lib-0.10.5.tar.gz.

File metadata

  • Download URL: kcl_lib-0.10.5.tar.gz
  • Upload date:
  • Size: 54.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kcl_lib-0.10.5.tar.gz
Algorithm Hash digest
SHA256 6837fd9ce08818168eecec4cd8d54a9e712f98e001b308624cfe8e1747d9914d
MD5 29e03f61f70bedf1c12f5e236ea96651
BLAKE2b-256 e8670b8a359bcf4b68399552ca53af4b3f0382533cdea9795c6c1069a57e17fe

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c71e60b80e3f96038a02db2655c1ce5e312b6cbcd6ccf538673fce1ad74c947
MD5 af466f81fc9019310a300a31eeeb7c7b
BLAKE2b-256 9629cfcd1cfbcf9820d1955e2ff7febba9a315b47febef20c68469b6401c96fd

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bc6213313b82ef5b5510c6cd339028627bf98944ace6886a359627ca40b88f30
MD5 eb318738e65ebd448bd0ba7d37b233de
BLAKE2b-256 066232ff076f9c5774bee693ca744d751cb9c11439f17bf38456601144c6c534

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eb6181015a6b67dbfac5fe305ebd7303082f48e870f498e182bc796a734e7c61
MD5 bddabbe56aaa1542834c936d97533744
BLAKE2b-256 9212fb5e38297d1e5a91e3dc4c9f31f5ee0ddc8098f8fa79e13b57cd4f0a79e5

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb14c594cb0bb8829c1170b584a59d103bc65c7275fdb632e886e796d05e7469
MD5 8f38dae8e93503b55650a99aac5cef2d
BLAKE2b-256 24a6f1c3c8ee54ec22701adf8b211c3283904037dae05a932b6f9f11e901ba51

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 73167fdeddf553b7a182d7b71ddfe67c1e8264c0ec41acba68835261c2634636
MD5 2377a9492f72e01293c4b91ce424920b
BLAKE2b-256 93a079b45262af778a112bf15ace730e3e0bf463dc631b8ec90edb7e362e768a

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5196341fb215e72dc808acf2baca834e81366826707bb96c94a85f2e316e8990
MD5 6aab3f69d0414e51331bb18ebec51a4c
BLAKE2b-256 8f339a9ab857b955d4db0ce366c93ecb73b825dbb0fb03b3e8838194f5219dc8

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp312-none-win_amd64.whl.

File metadata

  • Download URL: kcl_lib-0.10.5-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kcl_lib-0.10.5-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 80ff35bd07b8cc84f0e2d8117974ddb11a8ea36ee698cbc42ace7edcd9f1f4fa
MD5 d2625759febcf2c8200025460cde6a26
BLAKE2b-256 ddacc1332c4d718bd7703748f04d406780b1d94e2307dddd447b33c77a33a222

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 18b684ea3a815459d7a7d40ec2cd53fea15484de95ff3a1b744b7ff749793710
MD5 76a3a05b0689fd280ceef2cc7a61fe8c
BLAKE2b-256 cd18165f5b02b06bb9bac24eb5918a38a9a08a89a955e2edbddd98dc1db08c48

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd5b03d508fc4dcd3e90f4e4a7be2704e0f2dea3be7e309b1b441a294adc3877
MD5 882b42af2848b8ef9b47d2b44acd1e16
BLAKE2b-256 ae19011f9a7e3e358a3919341b8611b29b1f5e755afb70b21556e774b84c98c1

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 de37be61e32a2057d2bfe1377d3ab74f13511e4de62a691e6726b7dd69d836cd
MD5 4191fe9e332f16e2db4d6d15c41de159
BLAKE2b-256 6868787290fa31c3637051121d2845199f9c845d4209872ef9831ef9b2905f9f

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp311-none-win_amd64.whl.

File metadata

  • Download URL: kcl_lib-0.10.5-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kcl_lib-0.10.5-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 ba1c9875a6a1532d1056b898fa4edce1bca6a602c3fa8db830d3d38a93d70bb7
MD5 45a7cad395505874fce54cdc52cc1ab4
BLAKE2b-256 531a8670e94107ba74f4f056eaf587e08548e0d6d0a8c1d69c96400ddac9ad34

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 181e0c094b59fe1d76b2799ac49db8c5d443331ef9ea565993e34e85d0951f98
MD5 d29f34d54c6dca4627f81b9ee28af1ee
BLAKE2b-256 25c7052a6a93db309703c51e55056b3e9fd593d2070cfb54d2d09fd9e0c95601

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5cc878aa078f6fab3bc6ec3dfe0fde2cc03a6420983678c2792ce46a91aa963e
MD5 b6564afd51f830279f8e268cf84f804a
BLAKE2b-256 39d00313e4f41d71ac4868fa5dbb537a7cbc95cced337e6d508ffe1822a16818

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 18c2d458b539bcad484afe893c4977040175b8580cf0d41112860dde61bb7f4e
MD5 fa9ab09264be8c011582899ce880993e
BLAKE2b-256 aa26f30b71c419d1f5eba144ae4d578fe7f5e5b3d46003c38fef9886ea3a0042

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp310-none-win_amd64.whl.

File metadata

  • Download URL: kcl_lib-0.10.5-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kcl_lib-0.10.5-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 9e9ab20a069995c0c9ac881024173ac8d064a4c513e00dac85e6899c3eee4abb
MD5 bd6059fab09975dc36f20ac8e714197c
BLAKE2b-256 c2feb842d7b41d51f7df722b8dde002073c38824f16e79a1f757d14891e6e814

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 19b6b573fc4d5107f046ee132920c1612cf40f92c4ee3a393ebff211e8b3bad2
MD5 f4af6a6ce1e6d856b66abd9ffede8ae9
BLAKE2b-256 65a41740e8a719a1b9908388d3c23ce79b04d4f47b6ba0f8511b062a329f9313

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d8ee92b88314090df5df4a7aac16e6df4bbd07bc5402a2984e00e41dbee3d9ba
MD5 8846398d7ad994e8384d5ad3bdac40d6
BLAKE2b-256 204e10b6b2f0b9d3d08c351c2e5b4986f4a18b5b14aeb47cd0e85edf202f6c36

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 3c4301ef5259edba34b7822790283110359da403801c4dbd6d9d69ba091887ae
MD5 440a2afa7887255948fa91d84b017281
BLAKE2b-256 813a1a16a32f75f0b4a79f97ebfae681e57b2263f0bcf4b2b453971263b2faf9

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp39-none-win_amd64.whl.

File metadata

  • Download URL: kcl_lib-0.10.5-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kcl_lib-0.10.5-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 7ed17a10c8ea83bc8e8e9e3524e35542326e4926e519d91a183d81ad1b984d46
MD5 e337204979885ebd156c7f62dc759d81
BLAKE2b-256 5e200f5780bba7abb700c1980a4c6469f53a3e7695f5b4ad058e84a06c3ed4a2

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d3b5c9cb51ab43fc8f992abf2ff4f135ebf22e574166838ad65a2092192a831
MD5 c2c1c0706143d4b773ea3ae236a0d272
BLAKE2b-256 ae235338c2f7e0314123be95fee4208cf7ae597e60d0a73d930d81e45a9bc803

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b11c7e4a24005629f98925d47b7a8c4f49c4e67ee2d4e54ce1c9b05960f182f
MD5 cc515b94756da03b03c476b3c2e76590
BLAKE2b-256 91b3abec64b4ff0bed8552b560def5e1af155332fdacf35046307bb75b80c7b6

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 7dabfb5cdb7fbf6b725a9568d2304b83124a1b494f79a97eb3fbdb27725623ad
MD5 81206abd52e62057c603c193111ba073
BLAKE2b-256 fae04126f828c70b1bff72f73dd8c6a499d5540abc59e9ac73d8a230669460a6

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp38-none-win_amd64.whl.

File metadata

  • Download URL: kcl_lib-0.10.5-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kcl_lib-0.10.5-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 fc38e25d728d73141dd822579034fe5192271429424726353681cc6050c6362b
MD5 f1af2fe96f8ea8d3c71785e0e83d71fc
BLAKE2b-256 83fa7b391c32c732924e96a037d8b6629058ad810625c49b3399881d6cb9aa89

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 985b20de3051307c406708677d3ae34ebd91e113bd528a469ac377eef13c6dcd
MD5 c0d79b1d9957d17301d650eb9ce91e98
BLAKE2b-256 00e2e875ac87c2b63e32656c2d9f541d9ca6133e4d514baf6a8610cb7a0c82ae

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 57a7082d413d582bf9b05498bea7f362450e9a0aed6cee6076980fa3bf28cfd5
MD5 4357a893d85f913e7dbd1a26af4c0119
BLAKE2b-256 1953e21fe4ad54b13ce8c62410d867207d8b90fc430c26396406c72ae823156e

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp37-none-win_amd64.whl.

File metadata

  • Download URL: kcl_lib-0.10.5-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.7, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for kcl_lib-0.10.5-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 12e7e9f6647907db6e15c4df326732ee378444a75c345e8fb856331a1c02aa1c
MD5 039ed6d5e906def09842bb825fdb934c
BLAKE2b-256 1525bf83f1774fc323c8d1e600ff506aca50e404d3803d3fa11d84b0bffb651a

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a2be86733b931f38a4ea9250232f5cb34f64c65372b4c9e6558f1d8d6d297552
MD5 c7a0d336ecdd8b6550beac6528c9532d
BLAKE2b-256 2bf93782c2dbcc102de6a1559d73b91612cbb219cec66d5a958caca7a296c8af

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kcl_lib-0.10.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6284fc88d5b98907d8cf1d6c63505ebfa8ac77d788bcffe4370b78bd0f6b937
MD5 b69803e2ca58f6909d0676265701b282
BLAKE2b-256 4b6cc07dcdb4899bd5ce82a83fe1da9e25ed4fae9a5cf976664f94b60dede94b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page