Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
58 lines (47 loc) · 1.79 KB
/
Copy pathMakefile
File metadata and controls
58 lines (47 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
ROOT_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))/../..)
generate-api:
redocly bundle python-sdk --config $(ROOT_DIR)/redocly.yaml -o $(ROOT_DIR)/spec/openapi_generated.python-sdk.yml
openapi-python-client generate --output-path $(ROOT_DIR)/packages/python-sdk/e2b/api/api --overwrite --path $(ROOT_DIR)/spec/openapi_generated.python-sdk.yml
rm -rf e2b/api/client
mv e2b/api/api/e2b_api_client e2b/api/client
rm -rf e2b/api/api
ruff format .
generate-volume-api:
redocly bundle volume --config $(ROOT_DIR)/redocly.yaml -o $(ROOT_DIR)/spec/openapi_generated.volume.yml
openapi-python-client generate --output-path $(ROOT_DIR)/packages/python-sdk/e2b/volume/api --overwrite --path $(ROOT_DIR)/spec/openapi_generated.volume.yml
rm -rf e2b/volume/client
mv e2b/volume/api/e2b_api_client e2b/volume/client
rm -rf e2b/volume/api
ruff format .
# Requires `buf` and the codegen dependency group (`make init`), which
# provides the `protoc-gen-connectrpc` plugin.
generate-envd:
cd $(ROOT_DIR)/spec/envd && pwd && buf generate --template buf-python.gen.yaml
./scripts/fix-python-pb.sh
ruff format .
generate: generate-api generate-envd generate-mcp generate-volume-api
# Install the code-generation toolchain into the uv env. After this, run the
# generators locally with e.g. `uv run make generate-api`.
init:
uv sync --group codegen
typecheck:
ty check
lint:
ruff check .
ruff format --check .
format:
ruff format .
generate-mcp:
datamodel-codegen \
--input ../../spec/mcp-server.json \
--input-file-type jsonschema \
--output e2b/sandbox/mcp.py \
--output-model-type typing.TypedDict \
--target-python-version 3.11 \
--class-name McpServer \
--use-field-description \
--disable-timestamp \
--extra-fields forbid
.PHONY: test
test:
uv run pytest --verbose --numprocesses=4