Skip to main content

Installation

If you're only interested in utilizing the existing proto definitions and not making changes to the datamodel, packages are readily available to support development in both C# and Python.

Python Usage

Install via Pip

pip install ares-datamodel

C# Usage

ARES-Datamodel can be installed in your C# project using the Nuget package manager. Simply navigate to your nuget package manager in your project and with your source set to nuget.org, search for ARES-Datamodel. Details for this package can be found at the nuget repo

Method 2 Manual (For Developers)

Those looking to make changes to the datamodel will have to generate their own language specific protobuf messages for testing. This can be done using the setup and generation steps below.

Dependencies

Confirm installations with:

protoc --version
dotnet --version

Building or Regenerating Library Code

When .proto definitions are updated, you can regenerate the corresponding language specific proto files.

Generating C# Library

New C# specific proto files can be generated using the dotnet pack command. Ensure your active directory is the dotnet directory, and run the following command:

dotnet pack -c Release --output ./nupkg /p:Version=x.x.x

This outputs a local nuget package that can be used for testing changes.

Generating Python Iibrary

Python specific proto files can be generated by running a python build command.

Preferrably, you can install an editable version of the library using pip's -e argument.

  1. It's important that you set/create an envionrment variable named "ARES_DM_PACKAGE_VERSION" and give it a value, so that the toml file will work corectly.
  2. pip install -e \path\to\ares-datamodel\python

Alternatively, you can build manually.

  • Ensure your active directory is the python directory.
  • run the following command:
python -m build

This outputs two files, a .tar.gz file and a .whl file. Either of these can be used to install your package from the locally generated copy using pip

pip install .\dist\ares_datamodel-0.10.0b2.tar.gz

Versioning & Releases

This project follows Semantic Versioning (SemVer), with tags like v0.13.2-beta.1.

Each release represents a stable snapshot of the Protobuf definitions and generated artifacts. Consumers should reference a specific release tag to ensure schema compatibility.

Change TypeExampleImpact
Patchv1.0.1 → v1.0.2Minor, non-breaking fixes
Minorv1.0.0 → v1.1.0Additive, backward-compatible changes
Majorv1.0.0 → v2.0.0Breaking schema or service changes