Skip to main content

Kothar Python SDK

Python SDK for the Kothar API generated from schemas/openapi.yml.

Install the published SDK with pip install kotharcomputing. Starting with 1.0.0, the package is released from kothardev/kothar-platform and its version follows the platform tag (v1.0.0 publishes 1.0.0). It replaces the package previously built in kothar-backend; use the workspace and target API examples below when updating applications from the legacy SDK. Existing PyPI releases remain available for pinned installations.

Aleph language server

The SDK also provides a separate anonymous HTTP client for the Aleph language server. It does not use Kothar API authentication:

from kotharcomputing import AlephLanguageServerClient

aleph = AlephLanguageServerClient()
analysis = aleph.analyze('print("hello")', include_ast=True)
parsed = aleph.ast('print("hello")', format=True, discover_test=True)
tests = aleph.discover_tests('test "example" {}')
formatted = aleph.format('print( "hello" )')

Pass base_url= or AlephLanguageServerClientOptions to use another Aleph deployment. The default endpoint is https://aleph.kotharcomputing.com.

ast accepts an optional structured filter and returns a required AST with syntax and light binding diagnostics, without establishing full type correctness. Both ast and analyze accept format and discover_test; their optional tests field and the direct discover_tests result use AlephTestDiscoverySection, with recursive sections and typed test metadata. Discovery does not execute source or tests. The client-level timeout applies to these methods too.

The reviewed contract is pinned in schemas/aleph-openapi.json; maintenance and SDK parity checks are documented in RFC 0013.

Workshop API tokens

Create an immutable token in Account settings → API tokens, explicitly select its permissions, and save the credential when it is shown. Delete it to revoke access; create a replacement to change metadata, expiration, or grants. Non-expiring tokens keep their issued grants until revoked.

This example needs Files → List (All files) and Targets → List. Set the credential and the workspace/user IDs shown on the account page in environment variables. API tokens cannot use the session-only personal or me aliases. Never save credentials in source code, logs, or browser storage.

import os
from kotharcomputing import KotharClient

client = KotharClient(access_token=os.environ["KOTHAR_API_TOKEN"])
files = client.workspaces.id(os.environ["KOTHAR_WORKSPACE_ID"]).files.list()
targets = client.users.id(os.environ["KOTHAR_USER_ID"]).targets.list()

Creating tasks also needs read access to the chosen task definition and any specified target. Task search-schema discovery needs Targets → List and Task definitions → List. Add these grants explicitly when needed.

Metadata

Release files for kotharcomputing 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kotharcomputing 1.0.0
File Size Uploaded Provenance Actions
kotharcomputing-1.0.0.tar.gz 29.5 kB Without provenance Details for kotharcomputing-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for kotharcomputing 1.0.0
File Interpreter ABI Platform Actions
kotharcomputing-1.0.0-py3-none-any.whl Python 3 none any Details for kotharcomputing-1.0.0-py3-none-any.whl

Total release size: 59.8 kB

Release files / kotharcomputing-1.0.0.tar.gz

Download URL kotharcomputing-1.0.0.tar.gz
Size 29.5 kB
Tags Source
SHA-256 checksum
How to use checksums
658bbd09bb841e34163469e71d3e31177e281ae765f057bebf80953594b4e150
BLAKE2b-256 checksum
How to use checksums
49d0df3f6b5fad56d28e58a381199e25decdcc9f5e162fab17d47afabf13dd98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / kotharcomputing-1.0.0-py3-none-any.whl

Download URL kotharcomputing-1.0.0-py3-none-any.whl
Size 30.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6926ea3fdb2ac33c1253d7948faeb1083c624aa5f2e50258a7e948ef6e15ac26
BLAKE2b-256 checksum
How to use checksums
667b9a68fc47688f1c2e9b938b2f97445157dc65e5dba6551440e7cfaf6a6ee7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for kotharcomputing 1.0.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page