HackerTrans
TopNewTrendsCommentsPastAskShowJobs

tank-34

no profile record

Submissions

Treat the Context Window as a Data Assembly Problem

klr-pattern.github.io
3 points·by tank-34·18 giorni fa·0 comments

[untitled]

1 points·by tank-34·23 giorni fa·0 comments

[untitled]

1 points·by tank-34·mese scorso·0 comments

[untitled]

1 points·by tank-34·mese scorso·0 comments

[untitled]

1 points·by tank-34·mese scorso·0 comments

[untitled]

1 points·by tank-34·mese scorso·0 comments

[untitled]

1 points·by tank-34·2 mesi fa·0 comments

[untitled]

1 points·by tank-34·2 mesi fa·0 comments

[untitled]

1 points·by tank-34·2 mesi fa·0 comments

[untitled]

1 points·by tank-34·2 mesi fa·0 comments

Reframing the Developer Experience of Data Assembly

allmonday.github.io
1 points·by tank-34·3 mesi fa·0 comments

Yet another BFF toolkit for Python

allmonday.github.io
1 points·by tank-34·3 mesi fa·1 comments

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

allmonday.github.io
1 points·by tank-34·3 mesi fa·0 comments

[untitled]

1 points·by tank-34·4 mesi fa·0 comments

[untitled]

1 points·by tank-34·4 mesi fa·0 comments

[untitled]

1 points·by tank-34·4 mesi fa·0 comments

[untitled]

1 points·by tank-34·5 mesi fa·0 comments

FastAPI Voyager's new feature: application levle ER Diagram

fastapi-voyager.top
2 points·by tank-34·5 mesi fa·2 comments

[untitled]

1 points·by tank-34·6 mesi fa·0 comments

[untitled]

1 points·by tank-34·6 mesi fa·0 comments

comments

tank-34
·mese scorso·discuss
[flagged]
tank-34
·4 mesi fa·discuss
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 mesi fa·discuss
repo: https://github.com/allmonday/fastapi-voyager
tank-34
·5 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
Clean Architecture Practice with Pydantic-Resolve and FastAPI-Voyager
tank-34
·7 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
the return value in resolve/post method will be automatically validated by the pydantic class defined in field annotation.
tank-34
·8 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
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 mesi fa·discuss
heere is the repo: https://github.com/allmonday/fastapi-voyager
tank-34
·8 mesi fa·discuss
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 mesi fa·discuss
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.