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.7.tar.gz (54.8 kB view details)

Uploaded Source

Built Distributions

kcl_lib-0.10.7-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.7-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.7-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.7-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.7-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.7-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.7-cp312-none-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

kcl_lib-0.10.7-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.7-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.7-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.1 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.7-cp311-none-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

kcl_lib-0.10.7-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.7-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.7-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.1 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.7-cp310-none-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

kcl_lib-0.10.7-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.7-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.7-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.1 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.7-cp39-none-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

kcl_lib-0.10.7-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.7-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.7-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.1 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.7-cp38-none-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.8 Windows x86-64

kcl_lib-0.10.7-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.7-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.7-cp37-none-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.7 Windows x86-64

kcl_lib-0.10.7-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.7-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.7.tar.gz.

File metadata

  • Download URL: kcl_lib-0.10.7.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.7.tar.gz
Algorithm Hash digest
SHA256 b7798b7589b546564d245f297a62dd2019176da93dd17b64f752182adf1bd529
MD5 16d7a6357a23ec5756288c1e148cf4ab
BLAKE2b-256 3f4c687b3a1d5f19a4ece578822acd690c3bf7e94f0cb9e1b3b7386b08e987e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2fc05d0a742077c6301101b203bf8c485d11319a722ac7c10c98068996ab641
MD5 387a17815fbb49763fd54c315e6820e2
BLAKE2b-256 e2d73bfaa2f852c420abbab66f5b71795346266376aab658534d70742c413db0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c0a1fe9bf04d7caf2b7b1e825ac60f36ec9cc8c758968993623a1a5e4fc1f0f1
MD5 58e52379ae5777d8ffd4fff067fe5560
BLAKE2b-256 d0cecbd91c07a0dcff7f7c36a5e79666f3d19ee706e20f9a16ea5e57d97a99d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f70afd42b8359d2b79425fbdf4bcef6c847208fd951c7e31540610c1d7711853
MD5 0093fa843f95b0b7f7456075dd6947ae
BLAKE2b-256 9463cdbc518eaf710422cdf599b05aeeb763e3981118f7147d2f9f9d8252d28b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2c0e7dc4967d129459285c8c5297b036da991da9d1f867a76c03debe4f6a79c6
MD5 d6c332d006b9a5c7e93a930f5af9a349
BLAKE2b-256 56fcaeed4deff7c9d75180658f77f1c05f5192f7cc49d4515c0f61147a76eef5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8fe82f9270c29214e063e2b6bb224a161e96bd6fb13fae25346f7d8c0c6d67b3
MD5 3c1e3b5cc6c784c6d0e8428f18adf236
BLAKE2b-256 4c6c9127e9301e6e3451d6988c8d54d7155f806024eb127c1b05582f26467802

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7322bc9efaeff09de15be05c6f853384567d239ac39a87502bb2d2c1a718dbcf
MD5 7712320c00aac9928bd4e6b32ed6b484
BLAKE2b-256 2bb5eaae799dba92c78b359925be593b942aa59e600043d92c6e80cb85e81155

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.7-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 7.1 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.7-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 32ccaa371cbda7ded336159c7a6b66354ee7f5f40ed78a2a524f893b0d8bed07
MD5 a54bc14473ffbbcc543f3859ac362c52
BLAKE2b-256 9d3fa4759df1c4de7a8bbb6cd9423c1e57e2a79d187695472debca7e7dcdd282

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e67ae67ba0ceae7748bf5cb8fe34cb117b34ca666e0fdd35785ce8242777e1d6
MD5 5ffa8c80e191ff18eb5d53b3ac812230
BLAKE2b-256 f9c387c2580ba889886729f88e9cfe477934be66a47c3370860d4836c36b9731

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c613743be55587e7f9e51fae54c7f7507e456bfc4dc52634c8fe5f9d1f3214f
MD5 9fa74703bc524681092f1bcc22dbd7bd
BLAKE2b-256 4075d1f36f6934a7627798611e688b4a74579eed1f59e45c7cb1855fadb8831c

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.7-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.7-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 77bc8a77f9edeefb7231089e7d4e821f1a71a0ceadc6ac23bba4d527690c1a44
MD5 01a9fdc41d8014647afc2906cf750493
BLAKE2b-256 22e209d063356206b5f75b6363224e3b2af09198301ad16ef0f42c422f0170b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.7-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 7.1 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.7-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 defe73311a0791b4e604595aa52c3acf35a1b32192abd52ed6a79e38c55d4beb
MD5 796a5432f6bb89de01c64f4fed171c0c
BLAKE2b-256 dcf02f4c3751700260220223a240dd3728abb9c1bdd519449808ecb78a4f8f5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ea40ea3b17bd040dbdc3a407dba7d2fcd7b0b618ff867237861f020a7e433a1
MD5 4437132d3ec2294f6b9aa0f75a3d41f9
BLAKE2b-256 5a250a2242d1cd9c78fec9ba03a514e9270f702ebbc53cc98f6171d809c6fcbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c70fdeeabe91497d9cde8e41b2040ae3996c8462c767a3f3948a3ae91eb88bba
MD5 590c0722eb7c092a9764520a847c6c20
BLAKE2b-256 b52fd9c1ec8aa2f4eb9aaed562f73ab336e976293e2e60cf405bf8e6709c93fe

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.7-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.7-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 11b2e5ff586bf53b96a2c88bc28cfdce8e58467cceab4120b46dfa77080122be
MD5 0b11bcc7ebe37016f434e5fb773dec69
BLAKE2b-256 6da9c14ec10f7a092ac675164ee54e62e0789a99e66a6b2edb66f5b54e631f20

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.7-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 7.1 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.7-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 b1b6a09384bc015c59520fc355d1fa390a015f433fd920090332f3a186124185
MD5 62e9db8f39508fdb08946f32501f48ca
BLAKE2b-256 9c274a22d19771facdb255de333b732516cbc1255043fc5db3a1140a7d194154

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aae7e7fb559a1cadb5f9a19d4f63a80dcf13a5b33bb4a1a5ffdb9df6bda58f49
MD5 c5f0eae3dac60ae1af3f050af5866b3d
BLAKE2b-256 3f77173c9e7cca6fb8883ccd5b302b18ebe3f64b733c7f72531d89176d19e9d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 305a56fe55f43f6c87a1d8432618081f99af90ed7ebaf979dc5ae09c69ba7a35
MD5 ddafc03a46fabf132180ee9980f662b0
BLAKE2b-256 6bbfa92fa9653e3f64d30bd684c85a78f44ab7e6a46db7c79cf8c2861c6b6223

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.7-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.7-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 8af4bbb24c2c6679ad2e077ec494cb4f387680301f15b0796747600f91c7ae43
MD5 1dccef1af500a04dd985af7365c24b27
BLAKE2b-256 7b56130fe1bded472289111e897d4888ebeaae83490a2f4575625c299d0fb874

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.7-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 7.1 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.7-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 6e9eecd8e9fde848a0e5c8923bd7de7022011084ed15ccfe1597cb6628cc2b27
MD5 e9579a1f5401e9578916394ff0ef6557
BLAKE2b-256 2e6c1216ed4300ffdada7de6bd93577b2ba432bd0abe8a90acd2f7787b29590f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 68fc8ae3a07a872c380418d1f891e18899737e327a07a5cc9f46611b344babbd
MD5 604cd2f1b7c9406e78370fce45e87274
BLAKE2b-256 e4d06f1f57ace5579ab3f2e24ee49d5b07bd37896376a67e1cdcfb5a25577c91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ab4adbf5c18a61864d271ae6f2f378a6b67fd49a7e56ed1c864028154b644cf5
MD5 ee788bff3114ac209e81fe7f6a10adfd
BLAKE2b-256 7656b069c49f240b11f3aca9c7a8cafaa1576785dcd2d275d49127feac45fa1a

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.7-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.7-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 20ddda3369eedf69a31b1b19877d690bb2dd6c27d1b1979be1e9de08576fb1c7
MD5 cc0c639276dc2f71b183966ea8be6fc9
BLAKE2b-256 42d019ba3ede0ebd4d5997ef24148082d7d26e4110806c78e9038367de5c0b80

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.7-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 7.1 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.7-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 757e1f016608c537a12be84e2ad09fb573c93803eae9a9e79324f786fa059c4d
MD5 80afd139d57c6d5913097ea47e59e41c
BLAKE2b-256 959e6dfd03586bd981fbca16af2602f61584e42f963035c9fb7716bb12507f17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b08faeeac9ae63d955f5c04b5d3995ad7fe2acfee053f09c445ee4de5acb5a75
MD5 5a1c4068b9b8b51a17a742ae4af9c859
BLAKE2b-256 9bc5b789fb6991bd4c9210dab4f3144cf74504b2a62ecee55f0b2e2299313466

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5f0cad73446498f3d81d5fcc355bd2403ec351d9ec5b0ae64c4be552a6b4c702
MD5 9663389a06053ef5ae4a39372dffc702
BLAKE2b-256 390abfb4cb71e7dd0c324c7d9c06d16842f3e78421a184df82d6c05a956bfa0b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.7-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 7.1 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.7-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 e1f90cecee341349f8880c409cd24d921451bfa66be2c23e5d5f9b2e8bb788eb
MD5 46a672bdabe7d854e59ae3d2771cf6d0
BLAKE2b-256 d9492d5f5c3352885645e5f056853075352b509d5211cff737c8298a9d9ed429

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26159716351a084b7713370fbf2b1cf2e73684bd34e965a1d7daf047b0e9831e
MD5 6e8cce8f432db2a59ff48910fc1ee957
BLAKE2b-256 6c96c0379110f001efd46e3b46aa7c0d69ba96ae155fb8348e02d273d41eaf12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 83d92bf15cfb5a64ee0328c4bb57ae2dd318cf40b37afeb015b2394a4765c77c
MD5 e5f9abd048bd3f75b130b1f51ca379bb
BLAKE2b-256 07f9ca5b21ed9488c75b39e976999a4694f16c1a90c304e1358acb5c97c11655

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