HackerTrans
トップ新着トレンドコメント過去質問紹介求人

tank-34

no profile record

投稿

Treat the Context Window as a Data Assembly Problem

klr-pattern.github.io
3 ポイント·投稿者 tank-34·17 日前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·22 日前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·先月·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·先月·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·先月·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·先月·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·2 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·2 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·2 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·2 か月前·0 コメント

Reframing the Developer Experience of Data Assembly

allmonday.github.io
1 ポイント·投稿者 tank-34·3 か月前·0 コメント

Yet another BFF toolkit for Python

allmonday.github.io
1 ポイント·投稿者 tank-34·3 か月前·1 コメント

Pydantic-resolve – define relationships once, reuse across REST, GraphQL and MCP

allmonday.github.io
1 ポイント·投稿者 tank-34·3 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·4 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·4 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·4 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·5 か月前·0 コメント

FastAPI Voyager's new feature: application levle ER Diagram

fastapi-voyager.top
2 ポイント·投稿者 tank-34·5 か月前·2 コメント

[untitled]

1 ポイント·投稿者 tank-34·6 か月前·0 コメント

[untitled]

1 ポイント·投稿者 tank-34·6 か月前·0 コメント

コメント

tank-34
·先月·議論
[flagged]
tank-34
·4 か月前·議論
No schema files. No resolvers. No boilerplate.

Just decorators and Python. Your SQLModel classes become GraphQL APIs instantly.

Plus: expose your GraphQL via MCP to AI assistants (Claude, GPT, etc.) with zero extra code.
tank-34
·5 か月前·議論
repo: https://github.com/allmonday/fastapi-voyager
tank-34
·5 か月前·議論
declare the relationship:

class Story(BaseModel, BaseEntity):

    __pydantic_resolve_relationships__ = [
        Relationship( field='id', target_kls=list[task_schema.Task], loader=task_loader.story_to_task_loader),
        Relationship( field='owner_id', target_kls=user_schema.User, loader=user_loader.user_batch_loader)
    ]

    id: int
    name: str
    owner_id: int
    sprint_id: int

    model_config = ConfigDict(from_attributes=True)
and consume it

class Story1(DefineSubset):

    __subset__ = (BaseStory, ('id', 'name', 'owner_id'))

    tasks: Annotated[list[Task1], LoadBy('id')] = []
    assignee: Annotated[Optional[BaseUser], LoadBy('owner_id')] = None

    related_users: list[BaseUser] = []
    def post_related_users(self, collector=Collector(alias='related_users')):
        return collector.values()
tank-34
·6 か月前·議論
In the new version, an ER model at the application layer was designed to better describe the business model and manage the DataLoader. Developers can focus more on describing the relationships between data without worrying prematurely about databases or other query details.
tank-34
·6 か月前·議論
Clean Architecture Practice with Pydantic-Resolve and FastAPI-Voyager
tank-34
·7 か月前·議論
A solid tool for building fixed graph-like data.

Easily construct complex business data by defining ER diagrams, combining data, and applying various data adjustment methods

Minimal cognitive load

Extremely developer-friendly for those with GraphQL experience, helping improve the code quality and maintainability of API integrations

When combined with fastapi-voyager, it allows visualizing the constructed code graphically
tank-34
·7 か月前·議論
toggle the 'ER diagram' and show the full picture in graph

application level ER diagram can provide much more information for business entities and hide unnecesary middle tables.

definition: https://github.com/allmonday/composition-oriented-developmen...

fastapi-voyager itself is also improved a lot for better experiences.
tank-34
·7 か月前·議論
https://github.com/allmonday/fastapi-voyager

Visualize your FastAPI endpoints, and explore them interactively.

- better search experience - better graph interaction - persistent page in query string
tank-34
·8 か月前·議論
to better describe the relationship, it borrows the concept 'subset' from pydantic-resolve, which act like pick several fields from original class but you can still reference to it.

@subset(User) class PickedUser: ....
tank-34
·8 か月前·議論
you are right, in fact the most valuable part in our backend is 'business mode/logic', with voyager we can have a new choice to better understand them.
tank-34
·8 か月前·議論
the return value in resolve/post method will be automatically validated by the pydantic class defined in field annotation.
tank-34
·8 か月前·議論
it's not bound with pydantic-resolve, for vanilla fastapi user if the business model are well designed and composed, it can benefited from this visualization approach too.

the goal is to make the dependencies clear for developers, and figure out the potential impacts from one node to others.

pydantic-resolve is just another my project to make the process of data composition close to ER model and get rid of glue codes like 'for loops'.
tank-34
·8 か月前·議論
https://github.com/allmonday/composition-oriented-developmen...

those are clusters based on modules, you can swith off by toggle 'show module cluster'
tank-34
·8 か月前·議論
if you double click route / pydantic class and click 'view in vscode', it will lead you to the file in github

and in local env, you can 'really' open it in vscode.
tank-34
·8 か月前·議論
thanks for suggestion. this project is still in early stage, I've listed some ux related Todos but not yet finished. TBH, i dont expected it to be noticed in hacker's news LOL
tank-34
·8 か月前·議論
in swagger, from the definition of schema you are not able to easily figure out the related class, the name is marked as <object> or array<object>

in voyager their relationships are visualized and very close to the source code.
tank-34
·8 か月前·議論
heere is the repo: https://github.com/allmonday/fastapi-voyager
tank-34
·8 か月前·議論
scroll to zoom in/out

pick tag/routes at left panel, and see subgraphs

double click to see field table and source code, click link to see source code in github

click focus to hide other nodes.

...
tank-34
·8 か月前·議論
this project is inspired by https://apis.guru/graphql-voyager/, which visualize the entity relationships based on graphviz and add fancy ui effects.

fastapi-voyager, from left to right, is tag, routes(apis) and response_models, it indicates the internal relationship between routes, which can help developers/PO easily figure out the data structure.