An open API service indexing awesome lists of open source software.

https://github.com/starwit/vision-api

Data model for Starwit's Awareness Engine
https://github.com/starwit/vision-api

sae vision-api

Last synced: 5 months ago
JSON representation

Data model for Starwit's Awareness Engine

Awesome Lists containing this project

README

          

# Vision API repository

This repo contains the main data model for the Starwit Awareness Engine (SAE). See umbrella repo here: https://github.com/starwit/starwit-awareness-engine

## How-To Use

### Python / Poetry
- Add the following to your `pyproject.toml` dependencies section\
`visionapi = { git = "https://github.com/starwit/vision-api.git", subdirectory = "python/visionapi", tag = "3.5.3" }`

### Java / Maven
- Add dependency to your project:
```xml

de.starwit
vision-api
3.5.3

```
- Add maven repository to your `~/.m2/settings.xml` (adapt example / your config as necessary):
```xml


github



github


central
https://repo1.maven.org/maven2


github
https://maven.pkg.github.com/starwit/vision-api

true






github
YOUR_GITHUB_USER
GITHUB_TOKEN_WITH_PACKAGE_READ_PERMISSIONS


```

## Tools & Setup

* Install protoc via pipx:
```
sudo apt install pipx
pipx install protoc-wrapper==31.1.0
```
* ! If you change protoc version, you need to change protobuf version in `java\visionapi\pom.xml`, `python\visionapi\pyproject.toml` and protoc version in `Makefile`

## How-To Update
1. Make desired changes in `./visionapi`
2. Increase version in `./VERSION`
3. Run `make`
4. Make sure that there are no old leftover files in the generated projects
5. Describe change in changelog section below
5. Commit, tag with version and push
```
// Commit stuff, like git add, git commit and such
git tag
git push
git push
```

## Changelog
### 3.5.3
- Add `protobuf-java-util` to java library
- No protocol changes

### 3.5.2
- No changes

### 3.5.1
- Add `class_name` to `DetectionCount`

### 3.5.0
- Add `ModelMetadata` containing `class_names` mapping to `SaeMessage`

### 3.4.0
- Add `MessageType` field `type` to all top-level messages
- Add `TypeMessage` as a dummy to deserialize type field

### 3.3.0
- Add `PositionMessage` to represent position information from a GNSS receiver

### 3.2.1
- Add `DetectionCountMessage` to summarize detection data

### 3.2.0
- Add `source_id` to messages (to distinguish which source the messages are generated from)
- Add `IncidentMessage.source_id`
- Add `AnomalyMessage.source_id`

### 3.1.0
- Add camera location field to all messages (as type `GeoCoordinate`)
- Add `SaeMessage.frame.camera_location`
- Add `AnomalyMessage.camera_location`
- Add `IncidentMessage.camera_location`