typeship 0.1.0__py3-none-any.whl

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.
typeship/__init__.py ADDED
@@ -0,0 +1,28 @@
1
+ """typeship — a typed, zero-dependency Python SDK.
2
+
3
+ Generated by typeship — https://typeship.dev — do not edit by hand.
4
+ """
5
+ from ._client import VERSION, TypeshipClient, AsyncTypeshipClient
6
+ from ._core import RequestOptions, Transport
7
+ from ._validate import ValidationError, Violation
8
+ from ._errors import ApiError, TransportError, TypeshipError, UnexpectedApiError, UnauthorizedError, PayloadTooLargeError, UnprocessableEntityError, ApiResponseError, BadRequestError, PaymentRequiredError, NotFoundError
9
+ from .models import * # noqa: F401,F403
10
+
11
+ __all__ = [
12
+ "TypeshipClient",
13
+ "AsyncTypeshipClient",
14
+ "VERSION",
15
+ "RequestOptions",
16
+ "Transport",
17
+ "TypeshipError",
18
+ "ApiError",
19
+ "TransportError",
20
+ "UnexpectedApiError",
21
+ "UnauthorizedError",
22
+ "PayloadTooLargeError",
23
+ "UnprocessableEntityError",
24
+ "ApiResponseError",
25
+ "BadRequestError",
26
+ "PaymentRequiredError",
27
+ "NotFoundError",
28
+ ]
typeship/_client.py ADDED
@@ -0,0 +1,145 @@
1
+ """typeship — client.
2
+
3
+ Generated by typeship — https://typeship.dev — do not edit by hand.
4
+ """
5
+ from __future__ import annotations
6
+
7
+ import os
8
+ from typing import Any, Callable, Dict, Literal, Mapping, Optional, Union
9
+
10
+ from ._core import DEFAULT_MAX_RETRIES, DEFAULT_TIMEOUT, HttpCore, RequestOptions, Transport
11
+ from .resources.generate import GenerateResource, AsyncGenerateResource
12
+ from .resources.projects import ProjectsResource, AsyncProjectsResource
13
+ from .resources.generations import GenerationsResource, AsyncGenerationsResource
14
+ from .resources.spec_versions import SpecVersionsResource, AsyncSpecVersionsResource
15
+ from .resources.account import AccountResource, AsyncAccountResource
16
+ from .resources.usage import UsageResource, AsyncUsageResource
17
+ from .resources.api_keys import ApiKeysResource, AsyncApiKeysResource
18
+
19
+ VERSION = "0.1.0"
20
+ USER_AGENT = "typeship/0.1.0 (typeship)"
21
+
22
+
23
+ def _configure(
24
+ *,
25
+ base_url: Optional[str] = None,
26
+ bearer_token: Optional[Union[str, Callable[[], str]]] = None,
27
+ timeout: float = DEFAULT_TIMEOUT,
28
+ max_retries: int = DEFAULT_MAX_RETRIES,
29
+ debug: Optional[Union[bool, Callable[[Dict[str, Any]], None]]] = None,
30
+ default_headers: Optional[Dict[str, str]] = None,
31
+ transport: Optional[Transport] = None,
32
+ on_request: Optional[Callable[[str, str, Dict[str, str]], None]] = None,
33
+ on_response: Optional[Callable[[int, Mapping[str, str], bytes], None]] = None,
34
+ on_error: Optional[Callable[[BaseException, str, str], None]] = None,
35
+ validate: Union[bool, Literal["warn"], None] = None,
36
+ ) -> HttpCore:
37
+ headers: Dict[str, Any] = dict(default_headers or {})
38
+ query: Dict[str, Any] = {}
39
+ bearer = bearer_token if bearer_token is not None else os.environ.get("TYPESHIP_TOKEN")
40
+ if bearer is not None:
41
+ headers["Authorization"] = (lambda: "Bearer " + bearer()) if callable(bearer) else "Bearer " + bearer
42
+ resolved_base = base_url or os.environ.get("TYPESHIP_BASE_URL") or "https://typeship.dev/api/v1"
43
+ if not resolved_base:
44
+ raise ValueError("No base URL: pass base_url or set TYPESHIP_BASE_URL.")
45
+ if debug is None:
46
+ debug = os.environ.get("TYPESHIP_DEBUG") == "1"
47
+ return HttpCore(
48
+ base_url=resolved_base,
49
+ headers=headers,
50
+ query=query,
51
+ timeout=timeout,
52
+ max_retries=max_retries,
53
+ user_agent=USER_AGENT,
54
+ debug=debug,
55
+ transport=transport,
56
+ on_request=on_request,
57
+ on_response=on_response,
58
+ on_error=on_error,
59
+ validate=validate,
60
+ )
61
+
62
+
63
+ class TypeshipClient:
64
+ """typeship — v0.1.0.
65
+
66
+ Methods raise on failure: a documented error response raises its typed
67
+ exception, and a network failure raises TransportError.
68
+ """
69
+
70
+ def __init__(
71
+ self,
72
+ *,
73
+ base_url: Optional[str] = None,
74
+ bearer_token: Optional[Union[str, Callable[[], str]]] = None,
75
+ timeout: float = DEFAULT_TIMEOUT,
76
+ max_retries: int = DEFAULT_MAX_RETRIES,
77
+ debug: Optional[Union[bool, Callable[[Dict[str, Any]], None]]] = None,
78
+ default_headers: Optional[Dict[str, str]] = None,
79
+ transport: Optional[Transport] = None,
80
+ on_request: Optional[Callable[[str, str, Dict[str, str]], None]] = None,
81
+ on_response: Optional[Callable[[int, Mapping[str, str], bytes], None]] = None,
82
+ on_error: Optional[Callable[[BaseException, str, str], None]] = None,
83
+ validate: Union[bool, Literal["warn"], None] = None,
84
+ ) -> None:
85
+ self._core = _configure(base_url=base_url, bearer_token=bearer_token, timeout=timeout, max_retries=max_retries, debug=debug, default_headers=default_headers, transport=transport, on_request=on_request, on_response=on_response, on_error=on_error, validate=validate)
86
+ self.generate = GenerateResource(self._core)
87
+ self.projects = ProjectsResource(self._core)
88
+ self.generations = GenerationsResource(self._core)
89
+ self.spec_versions = SpecVersionsResource(self._core)
90
+ self.account = AccountResource(self._core)
91
+ self.usage = UsageResource(self._core)
92
+ self.api_keys = ApiKeysResource(self._core)
93
+
94
+ def close(self) -> None:
95
+ """Release pooled connections."""
96
+ self._core.close()
97
+
98
+ def __enter__(self) -> "TypeshipClient":
99
+ return self
100
+
101
+ def __exit__(self, *exc: Any) -> None:
102
+ self.close()
103
+
104
+
105
+ class AsyncTypeshipClient:
106
+ """typeship — v0.1.0, awaitable.
107
+
108
+ The same surface as the synchronous client: await each call, and
109
+ async-iterate pages and streams. Requests run on the event loop's
110
+ default executor, so nothing blocks the loop.
111
+ """
112
+
113
+ def __init__(
114
+ self,
115
+ *,
116
+ base_url: Optional[str] = None,
117
+ bearer_token: Optional[Union[str, Callable[[], str]]] = None,
118
+ timeout: float = DEFAULT_TIMEOUT,
119
+ max_retries: int = DEFAULT_MAX_RETRIES,
120
+ debug: Optional[Union[bool, Callable[[Dict[str, Any]], None]]] = None,
121
+ default_headers: Optional[Dict[str, str]] = None,
122
+ transport: Optional[Transport] = None,
123
+ on_request: Optional[Callable[[str, str, Dict[str, str]], None]] = None,
124
+ on_response: Optional[Callable[[int, Mapping[str, str], bytes], None]] = None,
125
+ on_error: Optional[Callable[[BaseException, str, str], None]] = None,
126
+ validate: Union[bool, Literal["warn"], None] = None,
127
+ ) -> None:
128
+ self._core = _configure(base_url=base_url, bearer_token=bearer_token, timeout=timeout, max_retries=max_retries, debug=debug, default_headers=default_headers, transport=transport, on_request=on_request, on_response=on_response, on_error=on_error, validate=validate)
129
+ self.generate = AsyncGenerateResource(self._core)
130
+ self.projects = AsyncProjectsResource(self._core)
131
+ self.generations = AsyncGenerationsResource(self._core)
132
+ self.spec_versions = AsyncSpecVersionsResource(self._core)
133
+ self.account = AsyncAccountResource(self._core)
134
+ self.usage = AsyncUsageResource(self._core)
135
+ self.api_keys = AsyncApiKeysResource(self._core)
136
+
137
+ async def aclose(self) -> None:
138
+ """Release pooled connections."""
139
+ self._core.close()
140
+
141
+ async def __aenter__(self) -> "AsyncTypeshipClient":
142
+ return self
143
+
144
+ async def __aexit__(self, *exc: Any) -> None:
145
+ await self.aclose()