kotharcomputing 1.0.1__tar.gz → 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/PKG-INFO +19 -38
- kotharcomputing-1.1.0/README.md +38 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/pyproject.toml +1 -1
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing.egg-info/PKG-INFO +19 -38
- kotharcomputing-1.0.1/README.md +0 -57
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/setup.cfg +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/__init__.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/_generated/__init__.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/_generated/operations.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/_generated/types.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/aleph_language_server.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/client.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/errors.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/py.typed +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/transport.py +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing.egg-info/SOURCES.txt +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing.egg-info/dependency_links.txt +0 -0
- {kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kotharcomputing
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary: Python SDK for the Kothar API
|
|
5
5
|
Author: Kothar Computing
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -17,39 +17,7 @@ Description-Content-Type: text/markdown
|
|
|
17
17
|
|
|
18
18
|
# Kothar Python SDK
|
|
19
19
|
|
|
20
|
-
Python SDK for the Kothar API
|
|
21
|
-
|
|
22
|
-
Install the published SDK with `pip install kotharcomputing`. Starting with `1.0.0`,
|
|
23
|
-
the package is released from `kothardev/kothar-platform` and its version follows the
|
|
24
|
-
platform tag (`v1.0.0` publishes `1.0.0`). It replaces the package previously built
|
|
25
|
-
in `kothar-backend`; use the workspace and target API examples below when updating
|
|
26
|
-
applications from the legacy SDK. Existing PyPI releases remain available for pinned installations.
|
|
27
|
-
|
|
28
|
-
## Aleph language server
|
|
29
|
-
|
|
30
|
-
The SDK also provides a separate anonymous HTTP client for the Aleph language
|
|
31
|
-
server. It does not use Kothar API authentication:
|
|
32
|
-
|
|
33
|
-
```python
|
|
34
|
-
from kotharcomputing import AlephLanguageServerClient
|
|
35
|
-
|
|
36
|
-
aleph = AlephLanguageServerClient()
|
|
37
|
-
analysis = aleph.analyze('print("hello")', include_ast=True)
|
|
38
|
-
parsed = aleph.ast('print("hello")', format=True, discover_test=True)
|
|
39
|
-
tests = aleph.discover_tests('test "example" {}')
|
|
40
|
-
formatted = aleph.format('print( "hello" )')
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Pass `base_url=` or `AlephLanguageServerClientOptions` to use another Aleph
|
|
44
|
-
deployment. The default endpoint is `https://aleph.kotharcomputing.com`.
|
|
45
|
-
|
|
46
|
-
`ast` accepts an optional structured `filter` and returns a required AST with syntax and light binding diagnostics,
|
|
47
|
-
without establishing full type correctness. Both `ast` and `analyze` accept `format` and `discover_test`; their optional
|
|
48
|
-
`tests` field and the direct `discover_tests` result use `AlephTestDiscoverySection`, with recursive sections and typed
|
|
49
|
-
test metadata. Discovery does not execute source or tests. The client-level `timeout` applies to these methods too.
|
|
50
|
-
|
|
51
|
-
The reviewed contract is pinned in `schemas/aleph-openapi.json`; maintenance and SDK parity checks are documented in
|
|
52
|
-
[RFC 0013](../../../docs/rfcs/0013-workshop-tasks-and-aleph-execution.md).
|
|
20
|
+
Python SDK for the [Kothar API](https://docs.kotharcomputing.com/docs/the-forge/API).
|
|
53
21
|
|
|
54
22
|
## Workshop API tokens
|
|
55
23
|
|
|
@@ -58,8 +26,7 @@ credential when it is shown. Delete it to revoke access; create a replacement to
|
|
|
58
26
|
Non-expiring tokens keep their issued grants until revoked.
|
|
59
27
|
|
|
60
28
|
This example needs **Files → List (All files)** and **Targets → List**. Set the credential and the workspace/user IDs shown
|
|
61
|
-
on the account page in environment variables. API tokens cannot use the session-only `personal` or `me` aliases.
|
|
62
|
-
save credentials in source code, logs, or browser storage.
|
|
29
|
+
on the account page in environment variables. API tokens cannot use the session-only `personal` or `me` aliases.
|
|
63
30
|
|
|
64
31
|
```python
|
|
65
32
|
import os
|
|
@@ -70,5 +37,19 @@ files = client.workspaces.id(os.environ["KOTHAR_WORKSPACE_ID"]).files.list()
|
|
|
70
37
|
targets = client.users.id(os.environ["KOTHAR_USER_ID"]).targets.list()
|
|
71
38
|
```
|
|
72
39
|
|
|
73
|
-
Creating tasks also needs read access to the chosen task definition and any specified target.
|
|
74
|
-
|
|
40
|
+
Creating tasks also needs read access to the chosen task definition and any specified target.
|
|
41
|
+
|
|
42
|
+
## Aleph language server
|
|
43
|
+
|
|
44
|
+
The SDK also provides a separate anonymous HTTP client for the Aleph language
|
|
45
|
+
server. It does not use Kothar API authentication:
|
|
46
|
+
|
|
47
|
+
```python
|
|
48
|
+
from kotharcomputing import AlephLanguageServerClient
|
|
49
|
+
|
|
50
|
+
aleph = AlephLanguageServerClient()
|
|
51
|
+
analysis = aleph.analyze('print("hello")', include_ast=True)
|
|
52
|
+
parsed = aleph.ast('print("hello")', format=True, discover_test=True)
|
|
53
|
+
tests = aleph.discover_tests('test "example" {}')
|
|
54
|
+
formatted = aleph.format('print( "hello" )')
|
|
55
|
+
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Kothar Python SDK
|
|
2
|
+
|
|
3
|
+
Python SDK for the [Kothar API](https://docs.kotharcomputing.com/docs/the-forge/API).
|
|
4
|
+
|
|
5
|
+
## Workshop API tokens
|
|
6
|
+
|
|
7
|
+
Create an immutable token in **Account settings → API tokens**, explicitly select its permissions, and save the
|
|
8
|
+
credential when it is shown. Delete it to revoke access; create a replacement to change metadata, expiration, or grants.
|
|
9
|
+
Non-expiring tokens keep their issued grants until revoked.
|
|
10
|
+
|
|
11
|
+
This example needs **Files → List (All files)** and **Targets → List**. Set the credential and the workspace/user IDs shown
|
|
12
|
+
on the account page in environment variables. API tokens cannot use the session-only `personal` or `me` aliases.
|
|
13
|
+
|
|
14
|
+
```python
|
|
15
|
+
import os
|
|
16
|
+
from kotharcomputing import KotharClient
|
|
17
|
+
|
|
18
|
+
client = KotharClient(access_token=os.environ["KOTHAR_API_TOKEN"])
|
|
19
|
+
files = client.workspaces.id(os.environ["KOTHAR_WORKSPACE_ID"]).files.list()
|
|
20
|
+
targets = client.users.id(os.environ["KOTHAR_USER_ID"]).targets.list()
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Creating tasks also needs read access to the chosen task definition and any specified target.
|
|
24
|
+
|
|
25
|
+
## Aleph language server
|
|
26
|
+
|
|
27
|
+
The SDK also provides a separate anonymous HTTP client for the Aleph language
|
|
28
|
+
server. It does not use Kothar API authentication:
|
|
29
|
+
|
|
30
|
+
```python
|
|
31
|
+
from kotharcomputing import AlephLanguageServerClient
|
|
32
|
+
|
|
33
|
+
aleph = AlephLanguageServerClient()
|
|
34
|
+
analysis = aleph.analyze('print("hello")', include_ast=True)
|
|
35
|
+
parsed = aleph.ast('print("hello")', format=True, discover_test=True)
|
|
36
|
+
tests = aleph.discover_tests('test "example" {}')
|
|
37
|
+
formatted = aleph.format('print( "hello" )')
|
|
38
|
+
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: kotharcomputing
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary: Python SDK for the Kothar API
|
|
5
5
|
Author: Kothar Computing
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -17,39 +17,7 @@ Description-Content-Type: text/markdown
|
|
|
17
17
|
|
|
18
18
|
# Kothar Python SDK
|
|
19
19
|
|
|
20
|
-
Python SDK for the Kothar API
|
|
21
|
-
|
|
22
|
-
Install the published SDK with `pip install kotharcomputing`. Starting with `1.0.0`,
|
|
23
|
-
the package is released from `kothardev/kothar-platform` and its version follows the
|
|
24
|
-
platform tag (`v1.0.0` publishes `1.0.0`). It replaces the package previously built
|
|
25
|
-
in `kothar-backend`; use the workspace and target API examples below when updating
|
|
26
|
-
applications from the legacy SDK. Existing PyPI releases remain available for pinned installations.
|
|
27
|
-
|
|
28
|
-
## Aleph language server
|
|
29
|
-
|
|
30
|
-
The SDK also provides a separate anonymous HTTP client for the Aleph language
|
|
31
|
-
server. It does not use Kothar API authentication:
|
|
32
|
-
|
|
33
|
-
```python
|
|
34
|
-
from kotharcomputing import AlephLanguageServerClient
|
|
35
|
-
|
|
36
|
-
aleph = AlephLanguageServerClient()
|
|
37
|
-
analysis = aleph.analyze('print("hello")', include_ast=True)
|
|
38
|
-
parsed = aleph.ast('print("hello")', format=True, discover_test=True)
|
|
39
|
-
tests = aleph.discover_tests('test "example" {}')
|
|
40
|
-
formatted = aleph.format('print( "hello" )')
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Pass `base_url=` or `AlephLanguageServerClientOptions` to use another Aleph
|
|
44
|
-
deployment. The default endpoint is `https://aleph.kotharcomputing.com`.
|
|
45
|
-
|
|
46
|
-
`ast` accepts an optional structured `filter` and returns a required AST with syntax and light binding diagnostics,
|
|
47
|
-
without establishing full type correctness. Both `ast` and `analyze` accept `format` and `discover_test`; their optional
|
|
48
|
-
`tests` field and the direct `discover_tests` result use `AlephTestDiscoverySection`, with recursive sections and typed
|
|
49
|
-
test metadata. Discovery does not execute source or tests. The client-level `timeout` applies to these methods too.
|
|
50
|
-
|
|
51
|
-
The reviewed contract is pinned in `schemas/aleph-openapi.json`; maintenance and SDK parity checks are documented in
|
|
52
|
-
[RFC 0013](../../../docs/rfcs/0013-workshop-tasks-and-aleph-execution.md).
|
|
20
|
+
Python SDK for the [Kothar API](https://docs.kotharcomputing.com/docs/the-forge/API).
|
|
53
21
|
|
|
54
22
|
## Workshop API tokens
|
|
55
23
|
|
|
@@ -58,8 +26,7 @@ credential when it is shown. Delete it to revoke access; create a replacement to
|
|
|
58
26
|
Non-expiring tokens keep their issued grants until revoked.
|
|
59
27
|
|
|
60
28
|
This example needs **Files → List (All files)** and **Targets → List**. Set the credential and the workspace/user IDs shown
|
|
61
|
-
on the account page in environment variables. API tokens cannot use the session-only `personal` or `me` aliases.
|
|
62
|
-
save credentials in source code, logs, or browser storage.
|
|
29
|
+
on the account page in environment variables. API tokens cannot use the session-only `personal` or `me` aliases.
|
|
63
30
|
|
|
64
31
|
```python
|
|
65
32
|
import os
|
|
@@ -70,5 +37,19 @@ files = client.workspaces.id(os.environ["KOTHAR_WORKSPACE_ID"]).files.list()
|
|
|
70
37
|
targets = client.users.id(os.environ["KOTHAR_USER_ID"]).targets.list()
|
|
71
38
|
```
|
|
72
39
|
|
|
73
|
-
Creating tasks also needs read access to the chosen task definition and any specified target.
|
|
74
|
-
|
|
40
|
+
Creating tasks also needs read access to the chosen task definition and any specified target.
|
|
41
|
+
|
|
42
|
+
## Aleph language server
|
|
43
|
+
|
|
44
|
+
The SDK also provides a separate anonymous HTTP client for the Aleph language
|
|
45
|
+
server. It does not use Kothar API authentication:
|
|
46
|
+
|
|
47
|
+
```python
|
|
48
|
+
from kotharcomputing import AlephLanguageServerClient
|
|
49
|
+
|
|
50
|
+
aleph = AlephLanguageServerClient()
|
|
51
|
+
analysis = aleph.analyze('print("hello")', include_ast=True)
|
|
52
|
+
parsed = aleph.ast('print("hello")', format=True, discover_test=True)
|
|
53
|
+
tests = aleph.discover_tests('test "example" {}')
|
|
54
|
+
formatted = aleph.format('print( "hello" )')
|
|
55
|
+
```
|
kotharcomputing-1.0.1/README.md
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
# Kothar Python SDK
|
|
2
|
-
|
|
3
|
-
Python SDK for the Kothar API generated from `schemas/openapi.yml`.
|
|
4
|
-
|
|
5
|
-
Install the published SDK with `pip install kotharcomputing`. Starting with `1.0.0`,
|
|
6
|
-
the package is released from `kothardev/kothar-platform` and its version follows the
|
|
7
|
-
platform tag (`v1.0.0` publishes `1.0.0`). It replaces the package previously built
|
|
8
|
-
in `kothar-backend`; use the workspace and target API examples below when updating
|
|
9
|
-
applications from the legacy SDK. Existing PyPI releases remain available for pinned installations.
|
|
10
|
-
|
|
11
|
-
## Aleph language server
|
|
12
|
-
|
|
13
|
-
The SDK also provides a separate anonymous HTTP client for the Aleph language
|
|
14
|
-
server. It does not use Kothar API authentication:
|
|
15
|
-
|
|
16
|
-
```python
|
|
17
|
-
from kotharcomputing import AlephLanguageServerClient
|
|
18
|
-
|
|
19
|
-
aleph = AlephLanguageServerClient()
|
|
20
|
-
analysis = aleph.analyze('print("hello")', include_ast=True)
|
|
21
|
-
parsed = aleph.ast('print("hello")', format=True, discover_test=True)
|
|
22
|
-
tests = aleph.discover_tests('test "example" {}')
|
|
23
|
-
formatted = aleph.format('print( "hello" )')
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
Pass `base_url=` or `AlephLanguageServerClientOptions` to use another Aleph
|
|
27
|
-
deployment. The default endpoint is `https://aleph.kotharcomputing.com`.
|
|
28
|
-
|
|
29
|
-
`ast` accepts an optional structured `filter` and returns a required AST with syntax and light binding diagnostics,
|
|
30
|
-
without establishing full type correctness. Both `ast` and `analyze` accept `format` and `discover_test`; their optional
|
|
31
|
-
`tests` field and the direct `discover_tests` result use `AlephTestDiscoverySection`, with recursive sections and typed
|
|
32
|
-
test metadata. Discovery does not execute source or tests. The client-level `timeout` applies to these methods too.
|
|
33
|
-
|
|
34
|
-
The reviewed contract is pinned in `schemas/aleph-openapi.json`; maintenance and SDK parity checks are documented in
|
|
35
|
-
[RFC 0013](../../../docs/rfcs/0013-workshop-tasks-and-aleph-execution.md).
|
|
36
|
-
|
|
37
|
-
## Workshop API tokens
|
|
38
|
-
|
|
39
|
-
Create an immutable token in **Account settings → API tokens**, explicitly select its permissions, and save the
|
|
40
|
-
credential when it is shown. Delete it to revoke access; create a replacement to change metadata, expiration, or grants.
|
|
41
|
-
Non-expiring tokens keep their issued grants until revoked.
|
|
42
|
-
|
|
43
|
-
This example needs **Files → List (All files)** and **Targets → List**. Set the credential and the workspace/user IDs shown
|
|
44
|
-
on the account page in environment variables. API tokens cannot use the session-only `personal` or `me` aliases. Never
|
|
45
|
-
save credentials in source code, logs, or browser storage.
|
|
46
|
-
|
|
47
|
-
```python
|
|
48
|
-
import os
|
|
49
|
-
from kotharcomputing import KotharClient
|
|
50
|
-
|
|
51
|
-
client = KotharClient(access_token=os.environ["KOTHAR_API_TOKEN"])
|
|
52
|
-
files = client.workspaces.id(os.environ["KOTHAR_WORKSPACE_ID"]).files.list()
|
|
53
|
-
targets = client.users.id(os.environ["KOTHAR_USER_ID"]).targets.list()
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Creating tasks also needs read access to the chosen task definition and any specified target. Task search-schema
|
|
57
|
-
discovery needs **Targets → List** and **Task definitions → List**. Add these grants explicitly when needed.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/_generated/operations.py
RENAMED
|
File without changes
|
|
File without changes
|
{kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing/aleph_language_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{kotharcomputing-1.0.1 → kotharcomputing-1.1.0}/src/kotharcomputing.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|