forked from wrenn/python-sdk
Introduces the core Wrenn client and a dedicated sandbox execution environment. This includes automated model generation and a custom exception hierarchy to support robust integration. - Add `WrennClient` in `src/wrenn/client.py` for API interaction. - Implement `Sandbox` in `src/wrenn/sandbox.py` for isolated execution. - Add Pydantic/model support via `_generated.py`. - Define project-specific error types in `exceptions.py`. - Include AGENTS.md documentation for specialized logic. - Add comprehensive unit and integration tests. - Update build system (Makefile, uv.lock, pyproject.toml) and LICENSE.
37 lines
824 B
Makefile
37 lines
824 B
Makefile
# Makefile
|
|
.PHONY: generate lint test check test-integration
|
|
|
|
# Variables
|
|
SPEC_URL = "https://git.omukk.dev/wrenn/wrenn/raw/branch/main/internal/api/openapi.yaml"
|
|
SPEC_PATH = "api/openapi.yaml"
|
|
|
|
generate:
|
|
@echo "Fetching latest OpenAPI spec from Git repo..."
|
|
|
|
mkdir -p api
|
|
|
|
curl -fsSL $(SPEC_URL) -o $(SPEC_PATH)
|
|
|
|
uv run datamodel-codegen \
|
|
--input $(SPEC_PATH) \
|
|
--output src/wrenn/models/_generated.py \
|
|
--output-model-type pydantic_v2.BaseModel \
|
|
--snake-case-field \
|
|
--field-constraints \
|
|
--use-schema-description \
|
|
--target-python-version 3.13 \
|
|
--use-annotated \
|
|
--openapi-scopes schemas
|
|
|
|
lint:
|
|
uv run ruff check src/
|
|
uv run ruff format --check src/
|
|
|
|
test:
|
|
uv run pytest tests/test_client.py -v
|
|
|
|
test-integration:
|
|
uv run pytest tests/ -v -m "integration or not integration"
|
|
|
|
check: lint test
|