github.com/enbility/spine-go@v0.7.0/README.md (about)

     1  # spine-go
     2  
     3  [![Build Status](https://github.com/enbility/spine-go/actions/workflows/default.yml/badge.svg?branch=main)](https://github.com/enbility/spine-go/actions/workflows/default.yml/badge.svg?branch=main)
     4  [![GoDoc](https://img.shields.io/badge/godoc-reference-5272B4)](https://godoc.org/github.com/enbility/spine-go)
     5  [![Coverage Status](https://coveralls.io/repos/github/enbility/spine-go/badge.svg?branch=main)](https://coveralls.io/github/enbility/spine-go?branch=main)
     6  [![Go report](https://goreportcard.com/badge/github.com/enbility/spine-go)](https://goreportcard.com/report/github.com/enbility/spine-go)
     7  [![CodeFactor](https://www.codefactor.io/repository/github/enbility/spine-go/badge)](https://www.codefactor.io/repository/github/enbility/spine-go)
     8  
     9  ## Introduction
    10  
    11  This library provides an implementation of SPINE 1.3 in [go](https://golang.org), which is part of the [EEBUS](https://eebus.org) specification.
    12  
    13  Basic understanding of the EEBUS concepts SHIP and SPINE to use this library is required. Please check the corresponding specifications on the [EEBUS downloads website](https://www.eebus.org/media-downloads/).
    14  
    15  This repository was started as part of the [eebus-go](https://github.com/enbility/eebus-go) before it was moved into its own repository and this separate go package.
    16  
    17  __Important:__ In contrast to the EEBUS recommendation to use a "Generic" client feature, this library does not support this for the local device! Instead one should create a feature type with the client role for every required feature.
    18  
    19  ## Packages
    20  
    21  ### api
    22  
    23  This package contains required interfaces. They are used extensivly to be able to mock everything and implement tests that focus specificaly on a limited set of interface implementations
    24  
    25  ### integrationtests
    26  
    27  This packge contains tests that cover implementations of multiple packages in concert.
    28  
    29  ### mocks
    30  
    31  This package contains auto generated mocks for the interfaces defined in the api package using [Mockery](https://github.com/vektra/mockery).
    32  
    33  ### model
    34  
    35  This package contains the go represenation of the SPINE data model. It makes use of go tags for proper JSON serialization and also for implementing generic SPINE feature to function and data mapping.
    36  
    37  ### spine
    38  
    39  This package contains the implementation for working with the SPINE devices, entites, features, functions and data.
    40  
    41  ### util
    42  
    43  This package contains generic helpers used by most of the packages, e.g. for working with pointers.