Coder Social home page Coder Social logo

fgn470 / amf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aml-org/amf

0.0 0.0 0.0 173.55 MB

AMF (AML Modeling Framework) is an open-source library capable of parsing and validating AML metadata documents.

Home Page: https://a.ml/docs

License: Other

Shell 0.07% JavaScript 3.96% Java 1.99% Scala 69.72% Objective-J 0.01% Jasmin 0.01% Lex 0.19% RAML 24.05% Dockerfile 0.01%

amf's Introduction

GitHub license Build Status Version

AML Modeling Framework

AMF (AML Modeling Framework) is an open-source programming framework, capable of parsing, generating and validating metadata documents defined using AML. It can be used as a library in Scala, Java, or JavaScript projects. The modular design of AMF facilitates creating plugins capable of parsing other metadata syntaxes not defined by AML.

๐Ÿ“ƒ Documentation

๐Ÿ“ฆ Artifacts

NPMJS github releases

Gradle

// add mulesoft repository
repositories {
    maven {
        url 'https://repository-master.mulesoft.org/nexus/content/repositories/releases'
    }
}
dependencies {
    compile 'com.github.amlorg:amf-api-contract_2.12:x.y.z'
}

Maven

<dependency>
    <groupId>com.github.amlorg</groupId>
    <artifactId>amf-api-contract_2.12</artifactId>
    <version>x.y.z</version>
</dependency>

NOTE: you may use the -SNAPSHOT versions of the artifacts at your own risk since those snapshot versions may contain breaking changes.

JavaScript

$ npm install --save amf-client-js

Generate artifacts directly from cloned repository

To build into a JVM jar:

sbt package

To build into a JS bundle:

sh js-build.sh

More info on how to add AMF to your project here.

AMF Native support

AMF natively supports the following formats:

  • YAML
  • JSON

the following semantic models:

  • WebApi (or "Web APIs" as in "APIs accessible over the network")
  • AsyncApi

and the following syntactic models:

  • JSON-LD "AMF model"
  • RAML 0.8 / 1.0 (mapped to "WebApi")
  • OpenAPI (OAS) 2.0 / 3.0 (mapped to "WebApi")
  • AsyncAPI 2.0 (mapped to "AsyncApi")

The models above and any other models may be extended and supported via custom AML-defined models. Other formats and models that cannot be expressed with AML may also be supported via plugins.

Guaranteed output

The only guaranteed output of AMF is the JSON-LD "AMF model". Any other output such as any output provided natively by the models listed under the section above may change at any time. This means that while the semantic representation of those outputs may remain unchanged, the syntactical expression such as the order in which the outputted metadata is expressed and any other syntax-related constructs may change from one version of AMF to another. If this is an issue for your use-case, you may consider using a custom resolution/generation pipeline.

AMF ecosystem modules

The following image shows each module in the AMF ecosystem as a dependency graph.

For AMF adopters it is recommended to use the amf-api-contract module which contains transitive dependencies with every module in the ecosystem except the CLI. For AML adopters (with no Web API nor Custom validation features usage) it is recommended to adopt the amf-aml module which includes parsing, validation & resolution for AML documents only. For more details on AML visit the AML repository.

AMF ecosystem modules The amf-api-contract and amf-aml are the recommended modules for AMF and AML adopters respectively.

Contributing

If you are interested in contributing to this project, please make sure to read our contributing guidelines.

amf's People

Contributors

agusayerza avatar agustinbettati avatar antoniogarrote avatar arielmirra avatar blocklucas avatar bulju avatar damianpedra avatar dtsimpson2 avatar eduardo-rubio avatar emiliolg avatar gbattist avatar gutee avatar hghianni avatar jstoiko avatar krishahn avatar llibarona avatar looseale avatar matiasponce avatar nschejtman avatar pcolunga avatar petrochenko-pavel-a avatar pope141 avatar pope1838 avatar postatum avatar shadow-devil avatar suntersa avatar tomsfernandez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.