fern
NSwag
fern | NSwag | |
---|---|---|
29 | 40 | |
2,355 | 6,513 | |
3.4% | - | |
9.9 | 8.7 | |
6 days ago | about 15 hours ago | |
TypeScript | C# | |
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.
fern
-
The Stainless SDK Generator
Lots of these have been popping up lately, they all seem really good.
https://buildwithfern.com/
- Fern: Toolkit to generate SDKs and Docs for your API
-
Ask HN: Who is hiring? (December 2023)
Fern | https://buildwithfern.com | Founding Backend Engineer | $160k + equity | On-site NYC | Full-time
At Fern, we're creating the modern developer experience platform. We work with developer-focused companies to generate SDKs & API documentation. We're looking for a Founding Backend Engineer to help us scale with our users. You'll join a small team (3 of us) and will be a product owner who designs, builds, and ships weekly.
Learn more at https://www.buildwithfern.com/careers
-
Ask HN: Who is hiring? (November 2023)
Fern (YC W23) | Founding Engineer | New York City | $130k-$160k + 0.5-1.0% equity | Full Time | Open Source | https://buildwithfern.com
REST APIs underpin the internet but are still painful to work with. They are often untyped, unstandardized, and out-of-sync across multiple sources of truth. With Fern, we aim to bring great developer experiences to REST APIs.
Our stack is Next.js + Vercel, Express (Node.js) + FastAPI (Python), Postgres DB + Prisma ORM, and AWS CDK. We're open source: https://www.github.com/fern-api/fern
We closed a Seed this year from top-tier US investors, including Y Combinator, Abhinav Asthana (Postman CEO), Arash Ferdowsi (Dropbox co-founder), and Ian McCrystal (Stripe's Head of Docs).
Learn more: https://www.buildwithfern.com/careers
- Fern: Beautiful SDKs and Docs for Your API
-
Show HN: REST Alternative to GraphQL and tRPC
Thank you for your encouraging words and insights!
There are indeed popular DSLs and code to openapi solutions out there. Many of which are easy to plug in to the openapi-stack libraries btw!
I guess I personally always found it frustrating to try to control the generated OpenAPI output using additional tooling and ended up preferring yaml + a visualisation tool as the api design workflow. (e.g. swagger editor)
But something like https://buildwithfern.com, or using zod as substitute for json schema may indeed be worth a try as a step before emitting openapi.
-
Ask HN: Who is hiring? (October 2023)
Fern (YC W23) | Founding Engineer | New York City | $125k-$175k + equity | Full Time | Open Source | https://buildwithfern.com
REST APIs underpin the internet but are still painful to work with. They are often untyped, unstandardized, and out-of-sync across multiple sources of truth. With Fern, we aim to bring great developer experiences to REST APIs.
Our stack is Next.js + Vercel, Express (Node.js) + FastAPI (Python), Postgres DB + Prisma ORM, and AWS CDK.
We closed a Seed this year from top-tier US investors, including Y Combinator, Abhinav Asthana (Postman CEO), Arash Ferdowsi (Dropbox co-founder), and Ian McCrystal (Stripe's Head of Docs).
Apply by emailing [email protected]
-
Show HN: Langfuse – Open-source observability and analytics for LLM apps
Hi HN! Langfuse is OSS observability and analytics for LLM applications (repo: https://github.com/langfuse/langfuse, 2 min demo: https://langfuse.com/video; try it yourself: https://langfuse.com/demo)
Langfuse makes capturing and viewing LLM calls (execution traces) a breeze. On top of this data, you can analyze the quality, cost and latency of LLM apps.
When GPT-4 dropped, we started building LLM apps – a lot of them! [1, 2] But they all suffered from the same issue: it’s hard to assure quality in 100% of cases and even to have a clear view of user behavior. Initially, we logged all prompts/completions to our production database to understand what works and what doesn’t. We soon realized we needed more context, more data and better analytics to sustainably improve our apps. So we started building a homegrown tool.
Our first task was to track and view what is going on in production: what user input is provided, how prompt templates or vector db requests work, and which steps of an LLM chain fail. We built async SDKs and a slick frontend to render chains in a nested way. It’s a good way to look at LLM logic ‘natively’. Then we added some basic analytics to understand token usage and quality over time for the entire project or single users (pre-built dashboards).
Under the hood, we use the T3 stack (Typescript, NextJs, Prisma, tRPC, Tailwind, NextAuth), which allows us to move fast + it means it's easy to contribute to our repo. The SDKs are heavily influenced by the design of the PostHog SDKs [3] for stable implementations of async network requests. It was a surprisingly inconvenient experience to convert OpenAPI specs to boilerplate Python code and we ended up using Fern [4] here. We’re fans of Tailwind + shadcn/ui + tremor.so for speed and flexibility in building tables and dashboards fast.
Our SDKs run fully asynchronously and make network requests in the background. We did our best to reduce any impact on application performance to a minimum. We never block the main execution path.
We've made two engineering decisions we've felt uncertain about: to use a Postgres database and Looker Studio for the analytics MVP. Supabase performs well at our scale and integrates seamlessly into our tech stack. We will need to move to an OLAP database soon and are debating if we need to start batching ingestion and if we can keep using Vercel. Any experience you could share would be helpful!
Integrating Looker Studio got us to first analytics charts in half a day. As it is not open-source and does not work with our UI/UX, we are looking to switch it out for an OSS solution to flexibly generate charts and dashboards. We’ve had a look at Lightdash and would be happy to hear your thoughts.
We’re borrowing our OSS business model from Posthog/Supabase who make it easy to self-host with features reserved for enterprise (no plans yet) and a paid version for managed cloud service. Right now all of our code is available under a permissive license (MIT).
Next, we’re going deep on analytics. For quality specifically, we will build out model-based evaluations and labeling to be able to cluster traces by scores and use cases.
Looking forward to hearing your thoughts and discussion – we’ll be in the comments. Thanks!
[1] https://learn-from-ai.com/
[2] https://www.loom.com/share/5c044ca77be44ff7821967834dd70cba
[3] https://posthog.com/docs/libraries
[4] https://buildwithfern.com/
-
tRPC – Move Fast and Break Nothing. End-to-end typesafe APIs made easy
You can recommend it in what context, from openapi (as they claim https://github.com/fern-api/fern#starting-from-openapi ) or from their ... special ... definition schema?
For those wanting less talk, moar code: https://github.com/fern-api/fern-java/blob/0.4.2-rc3/example... -> https://github.com/fern-api/fern-java/blob/0.4.2-rc3/example...
-
OpenAPI v4 Proposal
I'm one of the builders of an open source project (buildwithfern.com) to improve client codegen. One of the learnings I've had is that the quality of OpenAPI specs varies widely (like really widely). We wrote a linter that suggests improvements to your OpenAPI before you run the code generators and that's been really helpful for generating idiomatic clients.
You can try Fern for free: https://buildwithfern.com
NSwag
-
TypeSpec: A New Language for API-Centric Development
https://github.com/RicoSuter/NSwag
There is no need to be facetious solutions like these exist for many platforms and ecosystems out there.
With best regards.
-
This week I released v2.1 of my text-templating library Weave that now uses Source Generators by default.
I'm mostly using it for C# API client generation from backend code - sort of similar to what a tool like NSwag Studio will do. I think NTypewriter has more flexibility though, and having a live view with the VS plugin makes development quick.
-
OpenAPI v4 Proposal
NSwag does a wonderful job of generating TypeScript clients from OpenAPI specs. Definitely give it a shot before killing your current setup.
https://github.com/RicoSuter/NSwag (It sucks in any OpenAPI yml, not just ones from Swashbuckle/C#)
- Looking for an alternative to NSwag
-
The Typescript ecosystem is exhausting
I use this https://github.com/RicoSuter/NSwag but it's designed for .Net backends to some extent. But you can use the client generation from the command line or manually with the standalone client app.
- Code generation from Swagger specification file
-
Tool for generating example API requests and responses from OpenAPI
Here are three tools that you can use to generate example API requests and responses from OpenAPI specifications. These tools should work well even if your schemas are deeply nested: Nswag (Command Line and GUI): Nswag is a Swagger/OpenAPI toolchain for .NET, TypeScript, and other platforms. It supports code generation, client generation, and API documentation. You can use NswagStudio, which is a graphical interface, or you can use the command line tool called "NSwag.exe" for generating example API requests and responses. GitHub: https://github.com/RicoSuter/NJsonSchema NswagStudio: https://github.com/RicoSuter/NSwag/wiki/NSwagStudio Dredd (Command Line): Dredd is a language-agnostic command-line tool for validating API descriptions against backend implementations. It supports OpenAPI, Swagger, and API Blueprint formats. Dredd can generate example requests and responses and validate whether your API implementation conforms to the API description. GitHub: https://github.com/apiaryio/dredd Documentation: https://dredd.org/en/latest/ Stoplight Studio (GUI): Stoplight Studio is a modern API design and documentation platform that supports OpenAPI and JSON Schema. It allows you to create, edit, and validate OpenAPI specifications and provides a powerful visual interface for generating example API requests and responses. Website: https://stoplight.io/studio/ GitHub: https://github.com/stoplightio/studio These tools should provide you with the ability to generate example API requests and responses from your OpenAPI specifications and handle deeply nested schemas.
- Help me to generate swagger json Net 6
-
Web API generate of swagger json file
I’ve got an ASP.NET Core web API - I integrate NSwag (which I prefer to Swashbuckle - personal preference), run the app locally to generate the actual JSON file. See https://github.com/RicoSuter/NSwag Then I have a Bicep file that creates the API from the OpenAPI specification. Sorry - I don’t do Terraform (most of the Azure samples are of Bicep, but it should be easy to convert).
-
Open API Generators for Typescript / Node?
I have actually found that, but I was hoping for something with more popularity. E.g. this one is for .NET: https://github.com/RicoSuter/NSwag ( you can also generate typescript clients). But I do not want to bring in the dependency to another language, if possible.
What are some alternatives?
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
trpc - 🧙♀️ Move Fast and Break Nothing. End-to-end typesafe APIs made easy.
autorest - OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python
openapi-typescript-codegen - NodeJS library that generates Typescript or Javascript clients based on the OpenAPI specification
Refit - The automatic type-safe REST library for .NET Core, Xamarin and .NET. Heavily inspired by Square's Retrofit library, Refit turns your REST API into a live interface.
speakeasy - Speakeasy CLI - Enterprise developer experience for your API
swagger-ui - Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
electron-trpc - Build type-safe Electron inter-process communication using tRPC
Polly - Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+.
openai-node - The official Node.js / Typescript library for the OpenAI API
protobuf-net.Grpc - GRPC bindings for protobuf-net and grpc-dotnet