I would appreciate some quick info what this is all about. Clicking on link presents me with a huge diagram i know nothing about. What am I looking at?
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.
So this isn't really "visualize FastAPI endpoints", it's "visualize the inheritance cascade caused by using the pydantic-resolve approach to data fetching/transformation, which involves adding post-hooks to compositions of Pydantic objects". A vanilla FastAPI user like myself is going to have trouble understanding it without realizing how tied it is to that framework.
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.
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'.
This seems to show much deeper into the backend... OpenAPI really only shows the API surface as kind of a black box for external usage... this seems to be to aid diagnostics and understanding of internal calls and relationships.
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.
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
There has to be a better way to view this than the tangled web of overlapping lines, like that at lower left of the "services" rectangle on the right, even with the selection highlighting. Perhaps there is not, and it is fertile ground for developing a new visualization.