All checks were successful
ci/woodpecker/push/unit Pipeline was successful
Strip session-only routes (auth, me, teams, hosts, channels, admin, audit-logs) from api/openapi.yaml via new scripts/prune_openapi.py, which is wired into `make generate` and `make prune-spec`. Spec drops from 4787 to 1717 lines; regenerated _generated.py drops from 906 to 415 lines with all obsolete models removed. Add SDK methods on CapsulesResource / AsyncCapsulesResource for the apiKey-usable routes that were previously unwrapped: - capsules.stats(range=...) -> CapsuleStats - capsules.usage(from_=..., to=...) -> UsageResponse (accepts date) - capsules.metrics(id, range=...) -> CapsuleMetrics Add EventsResource / AsyncEventsResource exposing WrennClient.events.stream() over /v1/events/stream (SSE). Parser handles `:keepalive` comments and multi-line `data:` frames. Re-export new models (CapsuleStats, CapsuleMetrics, MetricPoint, UsageResponse, SSEEvent, Resource, Actor) from wrenn.models. Drop email-validator runtime dep (no EmailStr remains). Bump version to 0.3.0 (pyproject + __version__). Add pyyaml to dev deps and types-PyYAML to the pre-commit mypy hook for the prune script. Normalize docstrings on new methods/classes to Google style with Example:: blocks where useful. Regenerate docs/reference.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
56 lines
1.3 KiB
TOML
56 lines
1.3 KiB
TOML
[project]
|
|
name = "wrenn"
|
|
version = "0.3.0"
|
|
description = "Python SDK for Wrenn"
|
|
readme = "README.md"
|
|
license = "MIT"
|
|
license-files = ["LICENSE"]
|
|
authors = [
|
|
{ name = "Rafeed M. Bhuiyan", email = "rafeed@omukk.dev" },
|
|
{ name = "Tasnim Kabir Sadik", email = "tksadik@omukk.dev" },
|
|
]
|
|
requires-python = ">=3.13"
|
|
keywords = ["wrenn"]
|
|
classifiers = [
|
|
"Development Status :: 3 - Alpha",
|
|
"Intended Audience :: Developers",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.13",
|
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
"Typing :: Typed",
|
|
]
|
|
dependencies = [
|
|
"certifi>=2026.2.25",
|
|
"httpx>=0.28.1",
|
|
"httpx-ws>=0.9.0",
|
|
"pydantic>=2.12.5",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"datamodel-code-generator[ruff]>=0.56.0",
|
|
"mypy>=1.20.0",
|
|
"pre-commit>=4.6.0",
|
|
"pydoc-markdown>=4.8.2",
|
|
"pytest>=9.0.3",
|
|
"pytest-asyncio>=1.3.0",
|
|
"pyyaml>=6.0.3",
|
|
"respx>=0.23.1",
|
|
"ruff>=0.15.10",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://wrenn.dev"
|
|
Repository = "https://github.com/wrennhq/python-sdk"
|
|
|
|
[tool.pytest.ini_options]
|
|
markers = [
|
|
"integration: integration tests (require live server)",
|
|
]
|