All Projects → caicloud → Nirvana

caicloud / Nirvana

Licence: apache-2.0
Golang Restful API Framework for Productivity

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Nirvana

Typin
Declarative framework for interactive CLI applications
Stars: ✭ 126 (-72.61%)
Mutual labels:  cli, middleware, framework
Restana
Super fast and minimalist framework for building REST micro-services.
Stars: ✭ 341 (-25.87%)
Mutual labels:  middleware, framework
Pode
Pode is a Cross-Platform PowerShell web framework for creating REST APIs, Web Sites, and TCP/SMTP servers
Stars: ✭ 329 (-28.48%)
Mutual labels:  openapi, framework
Loopback Next
LoopBack makes it easy to build modern API applications that require complex integrations.
Stars: ✭ 3,972 (+763.48%)
Mutual labels:  openapi, framework
Http Router
🎉 Release 2.0 is released! Very fast HTTP router for PHP 7.1+ (incl. PHP8 with attributes) based on PSR-7 and PSR-15 with support for annotations and OpenApi (Swagger)
Stars: ✭ 124 (-73.04%)
Mutual labels:  openapi, middleware
Prism
Turn any OpenAPI2/3 and Postman Collection file into an API server with mocking, transformations and validations.
Stars: ✭ 2,484 (+440%)
Mutual labels:  openapi, cli
Wpemerge
A modern, MVC-powered WordPress as a CMS workflow. 🚀
Stars: ✭ 348 (-24.35%)
Mutual labels:  middleware, framework
Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+8506.09%)
Mutual labels:  openapi, framework
Transmittable Thread Local
📌 TransmittableThreadLocal (TTL), the missing Java™ std lib(simple & 0-dependency) for framework/middleware, provide an enhanced InheritableThreadLocal that transmits values between threads even using thread pooling components.
Stars: ✭ 4,678 (+916.96%)
Mutual labels:  middleware, framework
Swaggen
OpenAPI/Swagger 3.0 Parser and Swift code generator
Stars: ✭ 385 (-16.3%)
Mutual labels:  openapi, cli
Gongular
A different approach to Go web frameworks
Stars: ✭ 438 (-4.78%)
Mutual labels:  middleware, framework
Openapi Cli Generator
Generate a CLI from an OpenAPI 3 specification
Stars: ✭ 121 (-73.7%)
Mutual labels:  openapi, cli
Dreamfactory
DreamFactory API Management Platform
Stars: ✭ 1,148 (+149.57%)
Mutual labels:  openapi, framework
Zen
zen is a elegant and lightweight web framework for Go
Stars: ✭ 257 (-44.13%)
Mutual labels:  middleware, framework
Best Of Web Python
🏆 A ranked list of awesome python libraries for web development. Updated weekly.
Stars: ✭ 1,118 (+143.04%)
Mutual labels:  openapi, framework
Libterm
iOS sandboxed terminal with Python, Lua and Clang
Stars: ✭ 348 (-24.35%)
Mutual labels:  cli, framework
Bubbletea
A powerful little TUI framework 🏗
Stars: ✭ 7,886 (+1614.35%)
Mutual labels:  cli, framework
Api Platform
Create REST and GraphQL APIs, scaffold Jamstack webapps, stream changes in real-time.
Stars: ✭ 7,144 (+1453.04%)
Mutual labels:  openapi, framework
Oval
oval: CLI for (O)penAPI Specification document (val)idation.
Stars: ✭ 15 (-96.74%)
Mutual labels:  openapi, cli
Mirakurun
A Modern DTV Tuner Server Service for ISDB.
Stars: ✭ 352 (-23.48%)
Mutual labels:  openapi, middleware

Nirvana

Build Status Coverage Status GoDoc Go Report Card OpenTracing Badge

Nirvana is a golang API framework designed for productivity and usability. It aims to be the building block for all golang services at Caicloud. The high-level goals and features include:

  • consistent API behavior, structure and layout across all golang projects
  • improve engineering productivity with openAPI and client generation, etc
  • validation can be added by declaring validation method as part of API definition
  • out-of-box instrumentation support, e.g. metrics, profiling, tracing, etc
  • easy and standard configuration management, as well as standard cli interface

Nirvana is also extensible and performant, with the goal to support fast developmenet velocity.

Getting Started

Nirvana provides documentations in two languages to help you expore this framework. Note right now, only Chinese docs are kept up-to-date.

In addition, nirvana-practice provides a practical way for you to get familiar with Nirvana.

Features

  • API Framework based on Descriptors
  • Request Filter
  • Middleware
  • Validator
  • Plugins
  • API Doc Generation
  • Client Generation

Contributing

If you are interested in contributing to Nirvana, please checkout CONTRIBUTING.md. We welcome any code or non-code contribution!

Licensing

Nirvana is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].