Replies: 1 comment 3 replies
-
Brief summary: TypeSpec is an IDL for describing APIs and API payloads. The syntax is very typescript-like (there are JS APIs). It has a lot of features of modern type languages, e.g compositional definition of types with The parts of TypeSpec that can't be directly expressed in LinkML are:
The first is due to difference in scope - LinkML is for describing the data model, not an interface. However, it's easy for users to roll their own operation metamodel (we should probably make a standard for this). The second is not something we have seen a lot of requests for, but could in principle be added. IMO this is a feature that is more commonly needed for a local programmatic data model rather than a data exchange standard. LinkML has many features that can't be directly expressed, but one of the main differences is the focus of LinkML on interoperability - e.g. Semantic Enums, URIs, ... Obvious differences include a focus on different language ecosystems - TypeSpec seems to have great JS/TS support, there appear to be npm modules to emit Python (unclear if pydantic or dataclasses or anything else - need to evaluate). LinkML support is best for Python, but we are gradually building out ecosystems for JS/TS, R, Java |
Beta Was this translation helpful? Give feedback.
-
https://typespec.io/
Beta Was this translation helpful? Give feedback.
All reactions