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

Uploaded Source

Built Distributions

kcl_lib-0.10.8-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.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-cp312-none-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.12 Windows x86-64

kcl_lib-0.10.8-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.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.2 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.8-cp311-none-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.11 Windows x86-64

kcl_lib-0.10.8-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.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.2 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.8-cp310-none-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.10 Windows x86-64

kcl_lib-0.10.8-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.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.2 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.8-cp39-none-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.9 Windows x86-64

kcl_lib-0.10.8-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.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.2 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.8-cp38-none-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.8 Windows x86-64

kcl_lib-0.10.8-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.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

kcl_lib-0.10.8-cp37-none-win_amd64.whl (7.2 MB view details)

Uploaded CPython 3.7 Windows x86-64

kcl_lib-0.10.8-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.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ ARM64

File details

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

File metadata

  • Download URL: kcl_lib-0.10.8.tar.gz
  • Upload date:
  • Size: 56.3 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.8.tar.gz
Algorithm Hash digest
SHA256 48ca7c8c5dd46698cbe346837263c716ecf0e75b14bd1223c6f1e92a8fa46e18
MD5 66c7a17e49e6cca2532f4640a767c9de
BLAKE2b-256 c83b0f07f40f7fb8348b3fd9e5e6684a520fd0353402111bcbc8224f70fb4141

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 625660bcb951c25e62cfd1efb8d1e8a301dc41dd3119f850dc897751e3b456e1
MD5 62308ba25fb20038909329a55f227f34
BLAKE2b-256 4db672769252f67f6cce8e04507026c5205d88605f7e17a6f2d06b34afe561c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6a69c40aff93a301dd51deebf4e869e8431901864a573b7273c28e9b8eab2160
MD5 48586ee39ef6fc8bc13bc03427301a76
BLAKE2b-256 76479386cb76052ddbba17b3636a35b630f54ddcb666a2eb5f44bad56b23c188

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ff1a2c07edef04930d54ede30500310d57e8b532c82d52d83b70ca145f065723
MD5 da32c249c30bdec62de39b5f454e4310
BLAKE2b-256 8b424bf645afe6caed82eb375a59095a596ac1a8b4dc47c7fb6de44a0e0ada08

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d0d3ba6ee20ab170802974bebaba0d2421e288bf9f68354124f37d58754bb90c
MD5 028227d958d9ea3343346064919ed006
BLAKE2b-256 7ee85a5f44104853d767d0cd5a31e1c7bbdade31472d45eae51279668404ff97

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3d80affd10c3283c1d94f4257ff241ab39fd24125bd6311b2e6c1078e779c8ea
MD5 4a159f96278bda3324c17f3ed7a6fef1
BLAKE2b-256 412713e1973283f55c552bc4b1f93096bf5f5fd63e71ccff45eae288daf0b840

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.8-cp312-none-win_amd64.whl
  • Upload date:
  • Size: 7.2 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.8-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 1b19512a3f09f3287d6c9dba8f45597c40da6fe8f9afc2ba288ccdd859724389
MD5 8cb6fd3a4d38de0807cdc6f9422af144
BLAKE2b-256 a0fd95cb0edcf91979480ff3bf5f16df6f69af476fd1af22b24fbb4d82d0417d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 99cd363af9324ac254fa7e9f5ba9dc6d6de5dbe79944903025df7f4858c5eed1
MD5 86ee26dd0aef32b719eda832be05fee6
BLAKE2b-256 f6860a22e08619a51c4946e82f78f4da400b53cdb40b7dd5b0b703aec51de43b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 099e4f2ccd36e40d1dd2dae8d3842fcd6c9c3d2a9829fabc501f0ec494c59217
MD5 330d49a6c2e33efde072aea04f45e325
BLAKE2b-256 6d19de4f1228e9e86463421adab5770cda250526d054c4d73a297f7047ac2831

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.8-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.8-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 fc252e704ddc113a3cad122553757f5b8a90b0b21ac49cdcc44d6285c787c759
MD5 6d5be50fa687fc0ec3b8b6caf4a98fc3
BLAKE2b-256 7965e74fd46029e80372c2462984b888afec2956447fc73184f4aae1673648cf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.8-cp311-none-win_amd64.whl
  • Upload date:
  • Size: 7.2 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.8-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 d529dd21521a81e138d13f1db0a3576911970e98370890f991495488ac25bcb0
MD5 dffe5f01f3a2d000d141a1d1fbdcf04d
BLAKE2b-256 cd10ab177381bc1dff58d391c03dcb08b3468b03229eb095e0fd6d062962b353

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a8ff96f48a4090a7e94ae125907aae8ed3849e5118964dc7a97f914053422239
MD5 dc11d248ee8fe644a9dd52b3477d5961
BLAKE2b-256 3d45d10b94c20ef458371e04530a16eb4823de755d0e2adf50632635ded9bf8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 49838afabb18b80f36c2c708d2c29459705db8b9cb27048af2d9d6cc448a82f9
MD5 6bd05327a9152207bcf312341be0976c
BLAKE2b-256 2323e5f9ab05aa60b54e91fa7157b511aaaff5ab01440a44be5f7b37443e2e53

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.8-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.8-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 d70620772fff30f01edad239f9d80821a139efb1c613eea4e35b25247683c395
MD5 25b1a18b7ba9b9425d9e1a6ec654e1c8
BLAKE2b-256 93f242d1077cdfa387b0109a5a058325003346caded2c8b804d2bea3a6109212

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.8-cp310-none-win_amd64.whl
  • Upload date:
  • Size: 7.2 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.8-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 27fdf0204ee9f8c560df911e38b04d97b17477515ff6dff8bd590fdcf71aace0
MD5 6bed8ec9a2e20e24491cab8c636b16d9
BLAKE2b-256 f26d22d4a9072a590151ee90c30dbbcf9a393f1d1a450af881bbba412bab45c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d029ce05db28ad2e7dcb639800ac082ee524e343e8ae522ebfee4addc1426644
MD5 f7b01ed81b504afb690bca09e73de521
BLAKE2b-256 656107af7884370681d6540fc1628bc6e96f9a09654941274f62da6143dd22b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b280d093577cf6ff2e86e9bb0accb01e672d708f2293b23044953995fb0585ce
MD5 2941a7ac865b33f5e363f42cdb354fe7
BLAKE2b-256 40a241ec6feed9b6377501e44f2311ad26b66f7aa1a90f5a014c29b336fbeb84

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.8-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.8-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 d0526b1ca8ddeb5c4a0ec3f8d556e35b352d0ab53eaf5d3d24c7a7f572b1ddc3
MD5 edd106f1ada720e39dfcfae2f5a48c18
BLAKE2b-256 d6a92f8335764583458de48ef2bc3f378ef2b8dd3bc5bd9ab5ce9781df2d5b11

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.8-cp39-none-win_amd64.whl
  • Upload date:
  • Size: 7.2 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.8-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 8f27b77876ce3e6875efd5fa3423dfe6714f9be26c188afa88b583821b01c3a7
MD5 1dcad8925eacff4e59e71e42708613fe
BLAKE2b-256 b47885f1d13fdcc58d3e8202bb83d00fc8c46876395bdbdadbf41842b3712d4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9d9121c9a2c1e2b06124e966a1ebc42d93760b0cb8b5986a5e6d5420afa4da71
MD5 d373d58415aac6dce9c1c91327cc5b18
BLAKE2b-256 89f8dccdaf1c2b94461716f748c74e217608ecb7063014973806bee909e0800d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f15af1e71faac0520014e06d52dbf75678a2ae8414b09cd75eb560738b665a62
MD5 513e4acbfd1a41b627c3c0803ac0ca90
BLAKE2b-256 9d8fc523e3a3cca2c0255ac63f7274ba53657b113f681ec7234c6b9c2a252c1b

See more details on using hashes here.

File details

Details for the file kcl_lib-0.10.8-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.8-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 816de78c63a70ef4c56dd6ee09d1d1771d11a88b34e123e74e936789d84d37f1
MD5 e46a3110536eddecf3f22c6e508165aa
BLAKE2b-256 aa2a962c08e9354c0b3696683bc38d3bd1f73fee645fcbfb6af7cfaa2161b9f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.8-cp38-none-win_amd64.whl
  • Upload date:
  • Size: 7.2 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.8-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 cf973d034bb23765203843ccff3334af360674667ed90f5b8d2eae760798708c
MD5 cb7459813e35134c75e0c004ac8a7523
BLAKE2b-256 3c034a9e90983e379ab90d000aa6dcb4fd9110e629d8517d823f118b15b5ec1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ebde040d0dcf6b3c9cf465ed0af3672f39ce0dcd903e4113ae4074ee1e1ff55
MD5 943eaba292c4d00d30777919e3f1afde
BLAKE2b-256 b9857cef87c53012f97588b5511e5ca3378946d6f7a8e2be7ff737612b6e6166

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f90eabe6c355b5d3a159b42caf2f174e019bfb6016842cdffb78e4fc0356215f
MD5 314485733b0329d2c9ca069f0d2fcecd
BLAKE2b-256 43fdeedfb959ac7c13a90b7cfde3e94b0fb3c9b132bc0851c72e480660c42cf3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: kcl_lib-0.10.8-cp37-none-win_amd64.whl
  • Upload date:
  • Size: 7.2 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.8-cp37-none-win_amd64.whl
Algorithm Hash digest
SHA256 f6d700ea64c42e4fbd992e7b28382f361d9173a2f968e358d77496e6669f743b
MD5 cbc69b9a1adcc0fb907e466156d84061
BLAKE2b-256 e354cb2453b76fb720af689ed791e981d83f4d2290de697b69c1792733bcb30f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 deb984f158ae17d01d21d8bc458e974d7c6823a6560c8d6a8e1a36c624a723b8
MD5 4def971d72f49e60319873d6d7edab31
BLAKE2b-256 b2ce240ee7c6298c03082282c32487e26d9433d2da5ea80ea33ca579b44d898b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kcl_lib-0.10.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dc5cb90458b2d7c93276f7ab3065377c2617829d0f2d1ab0f618108971ca12fc
MD5 7b2973cf7f0289eff951a142281ef1cc
BLAKE2b-256 b97897700bcc4942635e64b76f21be033bc043e5c312e3e60bc6173e46f20399

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