Skip to content

Commit

Permalink
Codegen now produce models
Browse files Browse the repository at this point in the history
  • Loading branch information
Ananto30 committed Jun 27, 2024
1 parent 5397c4e commit 7f1b3ee
Show file tree
Hide file tree
Showing 19 changed files with 1,061 additions and 138 deletions.
9 changes: 0 additions & 9 deletions Dockerfile.test.py310

This file was deleted.

9 changes: 0 additions & 9 deletions Dockerfile.test.py38

This file was deleted.

9 changes: 0 additions & 9 deletions Dockerfile.test.py39

This file was deleted.

21 changes: 21 additions & 0 deletions examples/basic/schema.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,30 @@
from dataclasses import dataclass
from datetime import date
from typing import List

import msgspec


class Address(msgspec.Struct):
street: str
city: str
zip: int


class User(msgspec.Struct):
name: str
age: int
emails: List[str]
addresses: List[Address]
registered_at: date


@dataclass
class Teacher:
name: str


class Student(User):
roll_no: int
marks: List[int]
teachers: List[Teacher]
13 changes: 12 additions & 1 deletion examples/basic/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from zero import ZeroServer

from .schema import User
from .schema import Student, Teacher, User

app = ZeroServer(port=5559)

Expand Down Expand Up @@ -42,6 +42,17 @@ def hello_users(users: typing.List[User]) -> str:
return f"Hello {', '.join([user.name for user in users])}! Your emails are {', '.join([email for user in users for email in user.emails])}!"


teachers = [
Teacher(name="Teacher1"),
Teacher(name="Teacher2"),
]


@app.register_rpc
def hello_student(student: Student) -> str:
return f"Hello {student.name}! You are {student.age} years old. Your email is {student.emails[0]}! Your roll no. is {student.roll_no} and your marks are {student.marks}!"


if __name__ == "__main__":
app.register_rpc(echo)
app.register_rpc(hello_world)
Expand Down
Empty file.
Loading

0 comments on commit 7f1b3ee

Please sign in to comment.