telefunc
datamodel-code-generator
telefunc | datamodel-code-generator | |
---|---|---|
11 | 9 | |
609 | 2,315 | |
- | - | |
9.1 | 9.4 | |
10 days ago | about 18 hours ago | |
TypeScript | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
telefunc
-
tRPC – Move Fast and Break Nothing. End-to-end typesafe APIs made easy
Compared with tRPC: https://github.com/brillout/telefunc/issues/9
-
GraphQL vs. REST APIs: a complete guide
For JavaScript based projects TeleFunc[1] can make development way simpler by 'removing' the need for an API.
[1]: https://telefunc.com/
-
Next, Nest, Nuxt Nust?
- api routes (cloud functions) require another package (on purpose). see https://telefunc.com/ from the same maintainer
other than that, no gatchas i encountered. i would choose vite-plugin-ssr again.
-
Is there a library or a standard way of creating an interface for my api endpoints?
Another suggestion to solve your problem could be to use telefunc
-
Remote Functions. Instead of API
> My experience was that for the simplest use cases, the ergonomics were unbeatable.
Exactly.
> the “just a function” interface was a distraction and I found myself wishing for a more conventional RPC interface.
For real-time use cases, I agree. I believe functions are the wrong abstraction here for real-time. I do plan to support real-time but using a "it's just variables" abstraction instead, see https://github.com/brillout/telefunc/issues/36.
> cleverer abstractions usually mean more work overall to integrate everything and boring is better.
Yes, Telefunc's downside is that it requires a transformer. The Vite and Webpack one are reliable and used in production (using `es-module-lexer` under the hood). The hope here is that, as Telefunc's popularity grows, more and more stacks are reliably supported. Also, there is a prototype using Telefunc without a transformer at all, which works but needs polishing.
> I experimented with a higher-magic version of this a couple of years ago.
Neat, curious, is it on GitHub?
-
End-to-end type safety with tRPC (example repository)
An alternativeto tRPC that I find easier to use is telefunc
datamodel-code-generator
- Datamodel-code-generator: Pydantic model/dataclass from OpenAPI, JSON, YAML
-
tRPC – Move Fast and Break Nothing. End-to-end typesafe APIs made easy
Like generating pydantic models or dataclasses for an OpenAPI schema? I haven't needed to go in that direction myself, but this[0] looks promising!
Apologies if I've misunderstood your comment
https://koxudaxi.github.io/datamodel-code-generator/
-
OpenAPI v4 Proposal
I'm sorry, but you have completely misunderstood the purpose of Open API.
It is not a specification to define your business logic classes and objects -- either client or server side. Its goal is to define the interface of an API, and to provide a single source of truth that requests and responses can be validated against. It contains everything you need to know to make requests to an API; code generation is nice to have (and I use it myself, but mainly on the server side, for routing and validation), but not something required or expected from OpenAPI
For what it's worth, my personal preferred workflow to build an API is as follows:
1. Build the OpenAPI spec first. A smaller spec could easily be done by hand, but I prefer using a design tool like Stoplight [0]; it has the best Web-based OpenAPI (and JSON Schema) editor I have encountered, and integrates with git nearly flawlessly.
2. Use an automated tool to generate the API code implementation. Again, a static generation tool such as datamodel-code-generator [1] (which generates Pydantic models) would suffice, but for Python I prefer the dynamic request routing and validation provided by pyapi-server [2].
3. Finally, I use automated testing tools such as schemathesis [3] to test the implementation against the specification.
[0] https://stoplight.io/
[1] https://koxudaxi.github.io/datamodel-code-generator/
[2] https://pyapi-server.readthedocs.io
[3] https://schemathesis.readthedocs.io
-
Create Pydantic datamodel from huge JSON file with local datamodel-code-generator
The site also provide a link to the github repo of the underlying program.
-
PSA: I think this JSON to Pydantic converter is extremely useful for boilerplate model creation
Not sure who owns/hosts the site, but its based on this github repo.
-
My top python library
That's what datamodel-code-generator propose.
-
I use attrs instead of pydantic
had generally good experience creating typed wrappers for api's with json-schema-to-pydantic[0] converter
[0] https://github.com/koxudaxi/datamodel-code-generator
-
What's the best libraries to build a REST API with Openapi compatibility
To save you some work, if you have already an OpenAPI specification at hand, you can use datamodel-code-generator to generate your Pydantic models from the spec.
-
This is what I pushed today, I don't know why but I was very positive about the code until someone reviewed it and pointed out the obvious. Also 'internal_data' field is very essential for other parts of the code. It is so embarrassing I want to disappear from the face of the earth.
And there are code generators for it! https://github.com/koxudaxi/datamodel-code-generator/
What are some alternatives?
electron-trpc - Build type-safe Electron inter-process communication using tRPC
sqlmodel - SQL databases in Python, designed for simplicity, compatibility, and robustness.
vike - 🔨 Like Next.js / Nuxt but as do-one-thing-do-it-well Vite plugin.
pydantic - Data validation using Python type hints
tRPC-example - e2e type safety with tRPC
pydantic-factories - Simple and powerful mock data generation using pydantic or dataclasses
wundergraph - WunderGraph is a Backend for Frontend Framework to optimize frontend, fullstack and backend developer workflows through API Composition.
fastapi - FastAPI framework, high performance, easy to learn, fast to code, ready for production
ts-websocket-compressor - This library compresses data sent over a WebSocket connection to improve throughput on devices that can't use compression for one reason or another.
odmantic - Sync and Async ODM (Object Document Mapper) for MongoDB based on python type hints
phero - Full-stack type-safety with pure TypeScript
cattrs - Composable custom class converters for attrs.