The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 Go Openapi3 Projects
-
kin-openapi
OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
gnostic
A compiler for APIs described by the OpenAPI Specification with plugins for code generation and other API support tasks.
-
huma
A modern, simple, fast & flexible micro framework for building HTTP REST/RPC APIs in Go backed by OpenAPI 3 and JSON Schema.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
stackql
Query, provision and operate Cloud and SaaS resources and APIs using an extensible SQL based framework
-
vacuum
vacuum is the worlds fastest OpenAPI 3, OpenAPI 2 / Swagger linter and quality analysis tool. Built in go, it tears through API specs faster than you can think. vacuum is compatible with Spectral rulesets and generates compatible reports.
-
akita-cli
The Akita CLI helps you make sense of API traffic. Passively watch API traffic with apidump. Model API behavior with apispec. Compare API behavior with apidiff.
-
libopenapi
libopenapi is a fully featured, high performance OpenAPI 3.1, 3.0 and Swagger parser, library, validator and toolkit for golang applications.
-
openapi-generator-go
An opinionated OpenAPI v3 code generator for Go. Use this to generate API models and router scaffolding.
-
wiretap
The world's coolest API Validation and compliance tool. Validate APIs against OpenAPI specifications and much more (by pb33f)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
what’s the difference between this and https://github.com/deepmap/oapi-codegen
We'll use the excellent kin-openapi Go library to convert the OpenAPI 2.0 schema to OpenAPI 3.0.
Project mention: I write HTTP services in Go after 13 years (Mat Ryer, 2024) | news.ycombinator.com | 2024-02-09
Project mention: I write HTTP services in Go after 13 years (Mat Ryer, 2024) | news.ycombinator.com | 2024-02-09https://github.com/ogen-go/ogen
Write openapi definition, it'll do routing, definition of structs, validation of JSON schemas, etc.
All I need to do is implement the service.
Validating an integer range for a querystring parameter is just too boring. And too easy to mistype when writing it manually.
Anyways, so far only been playing, so haven't found the bad parts yet.
Project mention: Looking for Open-source web app back-end repository written in Golang | /r/golang | 2023-12-08Project using APIBin for examples https://rest.sh
Since the OpenAPI can effectively describe our resources, we can reuse it to generate a dummy server that can be later used for development and testing purposes without bootstrapping any actual services. There some tools available that can help us with this task, such as Prism, OpenAPI Mock, OpenAPI Backend and the MSW library we have already seen.
Like Steampipe's revolutionary approach, StackQL harnesses the power of SQL to query your resources seamlessly. Moreover, it empowers you to utilize SQL syntax for querying and creating resources.
Project mention: Show HN: Extensible OpenAPI linter written in go | news.ycombinator.com | 2024-04-03
Project mention: A common question about how to find repositories to contribute to | /r/golang | 2023-06-03Want to get involved in the OpenAPI community? This is an up and coming library for working with OpenAPI docs lots of potential for improvement https://github.com/pb33f/libopenapi
Project mention: I write HTTP services in Go after 13 years (Mat Ryer, 2024) | news.ycombinator.com | 2024-02-09
I've been using wI2L/fizz with loopfz/gadgeto for autogenerating OpenAPI 3 documentation, but both libraries seem to have died down and there are many pull requests that haven't gotten any attention.
Swaggest OpenAPI structures for Go
Project mention: Generating Code Without Generating Technical Debt? | news.ycombinator.com | 2023-11-10I’ve built conviction that code generation only gets useful in the long term when it is entirely deterministic, or filtered through humans. Otherwise it is almost always technical debt. Hence LLM code generation products are a cool toy, but no sensible teams will use them without an amazing “Day 2” workflow.
As an example, in my day job (https://speakeasyapi.dev), we sell code generation products using the OpenAPI specification to generate downstream artefacts (language SDKs, terraform providers, markdown documentation). The determinism makes it useful — API updates propagate continuously from server code, to specifications, then to the SDKs / providers / docs site. There are no breaking changes because the pipeline is deterministic and humans are in control of the API at the start. The code generation itself is just a means to an end : removing boilerplate effort and language differences by driving it from a source of truth (server api routes/types). Continuously generated, it is not debt.
We’ve put a lot of effort into trying to make an LLM agent useful in this context. However giving them control of generated code directly means it’s hard to keep the “no breaking changes”, and “consistency” restrictions that’s needed to make code generation useful.
The trick we’ve landed on to get utility out of an LLM in a code generation task, is to restrict it to manipulating a strictly typed interface document, such that it can only do non-breaking things to code (e.g. adjust comments / descriptions / examples) by making changes through this interface.
If you cannot find something to integrate with your existing test suite, consider using Wiretap which can run as a proxy, and handle contract testing of the requests/responses that come through it in testing or staging environments.
Go Openapi3 related posts
- AsyncAPI Codegen, a code generator from AsyncAPI spec v2 and v3.
- Serverless APIs: Auto-Generate OpenAPI Docs & CI/CD Protections
- Show HN: Go framework with builtin OpenAPI support
- How Can You Achieve Continuous Deployment for *APIs*?
- Show HN: Huma 2.0, it's like FastAPI for Go built on OpenAPI 3.1 and JSON Schema
- Looking for Open-source web app back-end repository written in Golang
- Created an API using Gin, want to create sdk for him
-
A note from our sponsor - WorkOS
workos.com | 26 Apr 2024
Index
What are some of the best open-source Openapi3 projects in Go? This list will help you:
Project | Stars | |
---|---|---|
1 | oapi-codegen | 5,178 |
2 | kin-openapi | 2,372 |
3 | gnostic | 1,979 |
4 | huma | 1,276 |
5 | ogen | 1,072 |
6 | apisprout | 669 |
7 | restish | 640 |
8 | oasdiff | 580 |
9 | openapi-mock | 467 |
10 | stackql | 433 |
11 | vacuum | 421 |
12 | akita-cli | 343 |
13 | libopenapi | 322 |
14 | rest | 311 |
15 | kusk-gateway | 246 |
16 | thema | 228 |
17 | apibrew | 219 |
18 | fizz | 204 |
19 | openapi-go | 193 |
20 | speakeasy | 139 |
21 | openapi-generator-go | 94 |
22 | GoAPI | 82 |
23 | wiretap | 71 |
Sponsored