Raml
An implementation of a RAML parser for Go. Compliant with RAML 0.8.
Install / Use
/learn @go-raml/RamlREADME
Looking for active maintainers!
--
raml
An implementation of a RAML parser for Go. Compliant with RAML 0.8.
Introduction
RAML is a YAML-based language that describes RESTful APIs. Together with the YAML specification, this specification provides all the information necessary to describe RESTful APIs; to create API client-code and API server-code generators; and to create API user documentation from RAML API definitions.
The raml package enables Go programs to parse RAML files and valid RAML API definitions. It was originally developed within EverythingMe.
Status
The raml package is currently unstable and does not offer any kind of API stability guarantees.
Installation
The yaml package may be installed by running:
$ go get gopkg.in/raml.v0
Opening that same URL in a browser will present a nice introductory page containing links to the documentation, source code, and all versions available for the given package:
https://gopkg.in/raml.v0
The actual implementation of the package is in GitHub:
https://github.com/go-raml/raml
Contributing to development
Typical installation process for developing purposes:
$ git clone git@github.com:go-raml/raml.git
$ cd raml
$ go build
$ go install
$ go test
Usage
Usage is very simple:
package main
import (
"fmt"
raml "gopkg.in/raml.v0"
"github.com/kr/pretty"
)
func main() {
fileName := "./samples/congo/api.raml"
if apiDefinition, err := raml.ParseFile(fileName); err != nil {
fmt.Printf("Failed parsing RAML file %s:\n %s", fileName, err.Error())
} else {
fmt.Printf("Successfully parsed RAML file %s!\n\n", fileName)
pretty.Printf(apiDefinition)
}
}
Getting help
- Look up the RAML 0.8 spec if in doubt
- Contact Alon, the maintainer, directly: diamant.alon@gmail.com
Roadmap
TBD.
Reporting Bugs and Contributing Code
- Want to report a bug or request a feature? Please open an issue.
- Want to contribute to raml? Fork the project and make a pull request. Cool cool cool.
License
See LICENSE file.
Related Skills
node-connect
337.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.2kCommit, push, and open a PR
