versioninfo
oapi-codegen
versioninfo | oapi-codegen | |
---|---|---|
6 | 65 | |
236 | 5,292 | |
- | 3.7% | |
3.7 | 9.1 | |
10 months ago | 3 days ago | |
Go | Go | |
MIT License | Apache License 2.0 |
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.
versioninfo
-
Libraries you use most of your projects?
Oh, also https://github.com/carlmjohnson/versioninfo . Always need that.
-
FreePad | A free self-hosted pad written in go
Don’t. It’s obsolete. Just use debug.ReadBuildInfo()
-
Makefile and Dockerfile best practices
That’s obsolete. See https://github.com/carlmjohnson/versioninfo. Even if it weren’t, Make is an inappropriate tool. Because it is based on file modtimes, it can’t react to git hash changes. You just have rerun the steps every time, at which point Bash is a less awful language.
-
How to embed version when `go install`-ing (since you cannot use go:generate or ldflags -X)
Go 1.18 updates the debug info to also include the git status of the build. See https://github.com/carlmjohnson/versioninfo
-
Go 1.18 - debug/info - why not include the current git tag?
I use this trick in my versioninfo package. Obviously, it can't give you other tags, but most of the time the tag you want to know about is v1.2.3 anyway, and since tags are mutable but the Go sum DB is immutable, this is safer than just saying what tag was on disk at build time.
-
Getting excited for Go 1.18's lesser known features
I subscribed to GH activity for the correspondence friendliness-enhancing library by the author:
https://github.com/carlmjohnson/versioninfo/
The primary motivation curiousity to learn if this becomes "the [best/default] way" folks reach for when leveraging BuildInfo to deliver explicit binary versioning.
oapi-codegen
- TypeSpec: A New Language for API-Centric Development
-
The Stainless SDK Generator
what’s the difference between this and https://github.com/deepmap/oapi-codegen
-
AsyncAPI Codegen, a code generator from AsyncAPI spec v2 and v3.
During daytime, and especially work time, I used a great tool to generate code from OpenAPI specification: deepmap/oapi-codegen.
-
Created an API using Gin, want to create sdk for him
Then you can use oapi-codegen or openapi-generator to generate the Go (or other language) SDK for it.
-
Create Production-Ready SDKs with Goa
Deepmap OpenAPI code generator
-
Manage DEV Articles with Git and GitHub Actions
Luckily, Forem/DEV is open source and provides great API documentation and specification. I used oapi-codegen to automatically generate a Go API client. Then, I simply had to walk the root articles directory and:
-
oapi-codegen and local refs
I'm using https://github.com/deepmap/oapi-codegen to auto gen some types for my api as I want the contract to be the source of truth. However, I'm running into an issue, the same as (https://stackoverflow.com/questions/77237210/how-to-generate-models-from-openapi-with-ref) where oapi-codegen isn't recognizing references to local files. Has anyone run into this and found a work around? or is there a better tool to use for this
- OpenAPI Client and Server Code Generator for Golang
-
Openapi server generation
For Go, I've found https://github.com/deepmap/oapi-codegen/, and it works well.
-
Combining oapi-codegen, echo and validator frameworks to build robust APIs
I’m using oapi-codegen in my project and I don’t think it ships with a validator.
What are some alternatives?
assert - A simple assertion library using Go generics
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
FreePad - FreePad is a simple Go project to help you juggle temporary notes that you might wanna pass from one device to another, or from a person to another with memorable and easy to communicate online "Pads".
GoSwagger - Swagger 2.0 implementation for go
flagx - Extensions to the Go flag package
ogen - OpenAPI v3 code generator for go
kin-openapi - OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)
go-oas3 - Open API v3 server code generator
autorest - OpenAPI (f.k.a Swagger) Specification code generator. Supports C#, PowerShell, Go, Java, Node.js, TypeScript, Python
goa - 🌟 Goa: Elevate Go API development! 🚀 Streamlined design, automatic code generation, and seamless HTTP/gRPC support. ✨
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
CORS - Go net/http configurable handler to handle CORS requests