Skip to main content

COVESA Vehicle Signal Specification tooling.

Project description

VSS Tools

License Build Status

The overall goal of VSS Tools is to provide a set of tools that can be used to convert or verify Vehicle Signal Specifications defined by the format specified by the COVESA VSS project. VSS Tools is developed in parallel with VSS, please visit the COVESA VSS project for information on how to contribute. If any questions arise, please check out the FAQ for more information.

Installation

There are several ways of installing vss-tools. If you would like to contribute then please follow the contribute section instead. All of them are recommended to be done in an activated python virtual environment:

python -m venv .venv
source .venv/bin/activate

pypi

pip install vss-tools

from source:

# default branch
pip install git+https://github.com/COVESA/vss-tools.git
# explicit branch
pip install git+https://github.com/COVESA/vss-tools.git@master
# commit
pip install git+https://github.com/COVESA/vss-tools.git@1234567

See usage for how to start using it.

Usage

General CLI help should be used for up to date info of how to use the tools.

# Help for toplevel options and lists sub commands
vspec --help

# Help for export sub command options and lists sub commands
vspec export --help

# Help for json exporter options
vspec export json --help

Please check here for generic infos about exporters and their arguments as well as here for design decision, architecture and limitations.

Compatibility with VSS

The COVESA VSS project repository includes vss-tools as a submodule. The vss-tools version linked by the VSS repository is the preferred vss-tools version to use for that particular version of the VSS repository. It is not guaranteed that newer or older versions of vss-tools can successfully handle that particular version of the VSS repository. The table below gives an overview of basic version support for e.g. vspec export json. Other exporters may have stricter requirements.

VSS-tools version Supported VSS versions Comments
v3.0 v3.0 - v3.1.1
v3.1 v3.0 -v4.0
v4.0 v4.0
v4.1 v4.0 -
<latest source> v4.0 -

Changes affecting compatibility

Examples on changes affecting compatibility

  • VSS version v4.1 introduced a new syntax for the unit files that cannot be handled by vss-tools < v4.1
  • From v4.0 vss-tools expects unit file to be explicitly specified or provided in the same directory as the VSS input. VSS v3.1 is the first VSS version including a unit file in the VSS repository. This means vss-tools from v4.0 onwards cannot handle VSS-versions prior to VSS v3.1
  • VSS-tools v3.1 only supported default for attributes, resulting in that newer VSS-versions is not supported.
  • VSS-tools v4.0 requires case-sensitive for type, resulting in that VSS versions v3.1 and earlier is not supported.

Contributing

Poetry

We are using poetry or a package and venv handling system. Therefore a requirement to develop a tool is to install poetry on your host machine. Check here for official installation instructions. The recommended one is the following, however installing it through pip/pipx works aswell:

curl -sSL https://install.python-poetry.org | python3 -

You can then use the following command in the root directory of vss-tools to install all dependencies:

poetry install

Due to our poetry.toml the call will create a .venv directory but does not automatically activate it.

You can use that venv in several ways, with or without the help of poetry:

  • poetry shell: Spawns a new subshell with the appropriate environment activated. After that you can directly call tools
  • poetry run <tool>: Runs the given tool in the virtual environment but does return to the current environment after that
  • . $(poetry env info --path)/bin/activate: Enables the virtual environment. Since we do store virtual envs directly with the tool the command can be simplified to . .venv/bin/activate. See here for more detailed information how to run poetry e.g. for Windows and how to exit/deactivate it.
  • We also have an .envrc that automatically sources the .venv when available. Check direnv for how to set it up.

Examples (all from vss-tools root and after running poetry install):

venv activation:

source .venv/bin/activate
vspec --help

poetry shell:

poetry shell
vspec --help

poetry run:

poetry run vspec --help

direnv:

vspec --help

Pre-commit

This project uses pre-commit which helps formatting the source code in a streamlined way. It is very recommended to use it. To install hooks you can do pre-commit install from an activated environment. Hooks will then run every time you do a git commit on changed files. If you would like to run all hooks on all files you can do pre-commit run --all. Since pre-commit dependencies are installed in the virtual environment, it needs to be activated to be able to run them on a commit.

Installing additional tools

If you intend to run test cases related to vspec proto exporter you need to install the protobuf compiler. Please follow official instructions for your OS. For Debian systems it would be:

sudo apt update
sudo apt install -y golang-go protobuf-compiler
protoc --version  # Ensure compiler version is 3+

COVESA VSS Tools Official Distribution

License

Introduction

VSS-Tools is a collection of tools developed by COVESA to validate and transform signal catalogs defined by the COVESA Vehicle Signal Specification (VSS) syntax. The PyPI packaging of VSS-tools provide tools for converting VSS source files (*.vspec) to different formats.

Installing vss-tools

If you just want the latest version this should be sufficient:

pip install vss-tools

When installed the cli tool vspec should be available in your PATH.

For more information see the VSS-Tools wiki

Usage

For more information please visit the COVESA VSS-Tools repository.

Pip versioning

This is the versions types that may exist in PyPI for vss-tools and used for local pip install (pip install -e .)

  • X.Y or X.Y.Z - A released version.
  • X.Y.devN, N starting from 0 - Developer builds - may be published to PyPI if needed for testing purposes.
  • X.YaN, N starting from 0 - Pre-releases, may be published to PyPI if needed for testing purposes.
  • X.YrcN, N starting from 0 - Release candidates, to be published around two weeks before a major/minor release.

References

For more information on VSS and VSS-Tools please visit

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vss_tools-5.0rc0.tar.gz (66.1 kB view details)

Uploaded Source

Built Distribution

vss_tools-5.0rc0-py3-none-any.whl (88.7 kB view details)

Uploaded Python 3

File details

Details for the file vss_tools-5.0rc0.tar.gz.

File metadata

  • Download URL: vss_tools-5.0rc0.tar.gz
  • Upload date:
  • Size: 66.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.9

File hashes

Hashes for vss_tools-5.0rc0.tar.gz
Algorithm Hash digest
SHA256 ff5cdb4b8b0bf58a633cd03568f101a326384c30475bf855ed398e10db04e009
MD5 ff027ffb4ffa1c91a2d3276bcaef6a5c
BLAKE2b-256 501c9d01e80466ec84797be58fe59a42885dbba6580c608ea2fe72d395fa8266

See more details on using hashes here.

File details

Details for the file vss_tools-5.0rc0-py3-none-any.whl.

File metadata

  • Download URL: vss_tools-5.0rc0-py3-none-any.whl
  • Upload date:
  • Size: 88.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.9

File hashes

Hashes for vss_tools-5.0rc0-py3-none-any.whl
Algorithm Hash digest
SHA256 563b45c4187aa61b1865ec8aeff1a4361326afd0d27cb4843b085bed32e15270
MD5 e790df4c15452bff37749130ba2175b7
BLAKE2b-256 e1b6efbfd4ecbfa19e9235f43be7256d9cd08d07e5a59dfb0bf768e095152229

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page