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.1

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.1
File Size Uploaded Provenance Actions
kotharcomputing-1.0.1.tar.gz 29.6 kB Without provenance Details for kotharcomputing-1.0.1.tar.gz

Built distribution (wheel)

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

Total release size: 59.8 kB

Release files / kotharcomputing-1.0.1.tar.gz

Download URL kotharcomputing-1.0.1.tar.gz
Size 29.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a643b35620ceb659e7d472abf82cf335c241c0b23dd328ee7d91d6c9697c4e57
BLAKE2b-256 checksum
How to use checksums
f748dc2c6a57f571881a4c543743a5e3da3eaf9652cd128e5c3c63ca82cbd194
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.1-py3-none-any.whl

Download URL kotharcomputing-1.0.1-py3-none-any.whl
Size 30.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fd7fea0ffc385680d9c64608683410a7bc5a78a22521f2125d81da3130acef6
BLAKE2b-256 checksum
How to use checksums
dc85d88b4f649c8a7b775b9be3f287e0f94efe2e6637857e476d3c2e1a5c1780
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.1

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.1 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