At the following page you can take a look at the generated code, the code is based on this TypeAPI specification. This is only a demo to give you a first insight, for live examples feel free to login at the backend and use the live generator.
"""
Client automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
import requests
import sdkgen
from requests import RequestException
from typing import List
from typing import Dict
from typing import Any
from urllib.parse import parse_qs
from .test_tag import TestTag
class Client(sdkgen.ClientAbstract):
def __init__(self, base_url: str, credentials: sdkgen.CredentialsInterface):
super().__init__(base_url, credentials)
def test(self) -> TestTag:
return TestTag(
self.http_client,
self.parser
)
@staticmethod
def buildAnonymous(baseUrl: str):
return Client(baseUrl, sdkgen.Anonymous())
"""
error automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
from pydantic import BaseModel, Field, GetCoreSchemaHandler, Tag
from pydantic_core import CoreSchema, core_schema
from typing import Any, Dict, Generic, List, Optional, TypeVar, Annotated, Union
class Error(BaseModel):
success: Optional[bool] = Field(default=None, alias="success")
message: Optional[str] = Field(default=None, alias="message")
pass
"""
ErrorException automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
import sdkgen
from typing import Dict
from typing import Any
from .error import Error
class ErrorException(sdkgen.KnownStatusCodeException):
payload: Error = None
def __init__(self, payload):
self.payload = payload
def get_payload(self) -> Error:
return self.payload
"""
hello_world automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
from pydantic import BaseModel, Field, GetCoreSchemaHandler, Tag
from pydantic_core import CoreSchema, core_schema
from typing import Any, Dict, Generic, List, Optional, TypeVar, Annotated, Union
class HelloWorld(BaseModel):
message: Optional[str] = Field(default=None, alias="message")
pass
"""
response automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
from pydantic import BaseModel, Field, GetCoreSchemaHandler, Tag
from pydantic_core import CoreSchema, core_schema
from typing import Any, Dict, Generic, List, Optional, TypeVar, Annotated, Union
class Response(BaseModel):
success: Optional[bool] = Field(default=None, alias="success")
message: Optional[str] = Field(default=None, alias="message")
pass
"""
TestTag automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
import requests
import sdkgen
from requests import RequestException
from typing import List
from typing import Dict
from typing import Any
from urllib.parse import parse_qs
from .error import Error
from .error_exception import ErrorException
from .hello_world import HelloWorld
from .response import Response
from .todo import Todo
from .todos import Todos
class TestTag(sdkgen.TagAbstract):
def __init__(self, http_client: requests.Session, parser: sdkgen.Parser):
super().__init__(http_client, parser)
def get_hello(self) -> HelloWorld:
"""
Returns a hello world message
"""
try:
path_params = {}
query_params = {}
query_struct_names = []
url = self.parser.url('/hello/world', path_params)
options = {}
options['headers'] = {}
options['params'] = self.parser.query(query_params, query_struct_names)
response = self.http_client.request('GET', url, **options)
if response.status_code >= 200 and response.status_code < 300:
data = HelloWorld.model_validate_json(json_data=response.content)
return data
statusCode = response.status_code
raise sdkgen.UnknownStatusCodeException('The server returned an unknown status code: ' + str(statusCode))
except RequestException as e:
raise sdkgen.ClientException('An unknown error occurred: ' + str(e))
def get_entries(self, start_index: int, count: int) -> Todos:
"""
Returns available todo entries
"""
try:
path_params = {}
query_params = {}
query_params['startIndex'] = start_index
query_params['count'] = count
query_struct_names = []
url = self.parser.url('/todo', path_params)
options = {}
options['headers'] = {}
options['params'] = self.parser.query(query_params, query_struct_names)
response = self.http_client.request('GET', url, **options)
if response.status_code >= 200 and response.status_code < 300:
data = Todos.model_validate_json(json_data=response.content)
return data
statusCode = response.status_code
raise sdkgen.UnknownStatusCodeException('The server returned an unknown status code: ' + str(statusCode))
except RequestException as e:
raise sdkgen.ClientException('An unknown error occurred: ' + str(e))
def insert(self, payload: Todo) -> Response:
"""
Inserts a new todo entry
"""
try:
path_params = {}
query_params = {}
query_struct_names = []
url = self.parser.url('/todo', path_params)
options = {}
options['headers'] = {}
options['params'] = self.parser.query(query_params, query_struct_names)
options['json'] = payload.model_dump(by_alias=True)
options['headers']['Content-Type'] = 'application/json'
response = self.http_client.request('POST', url, **options)
if response.status_code >= 200 and response.status_code < 300:
data = Response.model_validate_json(json_data=response.content)
return data
statusCode = response.status_code
raise sdkgen.UnknownStatusCodeException('The server returned an unknown status code: ' + str(statusCode))
except RequestException as e:
raise sdkgen.ClientException('An unknown error occurred: ' + str(e))
def throw_exception(self) -> HelloWorld:
"""
Returns a hello world message
"""
try:
path_params = {}
query_params = {}
query_struct_names = []
url = self.parser.url('/exception', path_params)
options = {}
options['headers'] = {}
options['params'] = self.parser.query(query_params, query_struct_names)
response = self.http_client.request('GET', url, **options)
if response.status_code >= 200 and response.status_code < 300:
data = HelloWorld.model_validate_json(json_data=response.content)
return data
statusCode = response.status_code
if statusCode == 500:
data = Error.model_validate_json(json_data=response.content)
raise ErrorException(data)
raise sdkgen.UnknownStatusCodeException('The server returned an unknown status code: ' + str(statusCode))
except RequestException as e:
raise sdkgen.ClientException('An unknown error occurred: ' + str(e))
"""
todo automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
from pydantic import BaseModel, Field, GetCoreSchemaHandler, Tag
from pydantic_core import CoreSchema, core_schema
from typing import Any, Dict, Generic, List, Optional, TypeVar, Annotated, Union
class Todo(BaseModel):
title: Optional[str] = Field(default=None, alias="title")
pass
"""
todos automatically generated by SDKgen please do not edit this file manually
https://sdkgen.app
"""
from pydantic import BaseModel, Field, GetCoreSchemaHandler, Tag
from pydantic_core import CoreSchema, core_schema
from typing import Any, Dict, Generic, List, Optional, TypeVar, Annotated, Union
from .todo import Todo
class Todos(BaseModel):
total_results: Optional[int] = Field(default=None, alias="totalResults")
start_index: Optional[int] = Field(default=None, alias="startIndex")
items_per_page: Optional[int] = Field(default=None, alias="itemsPerPage")
entry: Optional[List[Todo]] = Field(default=None, alias="entry")
pass