Skip to content
This repository has been archived by the owner on May 20, 2022. It is now read-only.

cogment/cogment-api

Repository files navigation

cogment-api

Apache 2 License Changelog

Cogment is an innovative open source AI platform designed to leverage the advent of AI to benefit humankind through human-AI collaboration developed by AI Redefined. Cogment enables AI researchers and engineers to build, train and operate AI agents in simulated or real environments shared with humans. For the full user documentation visit https://docs.cogment.ai

This module, cogment-api, is the gRPC API definition for Cogment.

About the API

The Cogment framework API is implemented using gRPC services. gRPC automatically generates client and server stubs in a plethora of programming languages using protocol buffers. The protocol buffer data and associated language defines the gRPC service and method request and response types in .proto files. The cogment api is composed of a set of .proto files within which the communication between the Cogment framework services are defined.

Retrieve

Retrieval of a version of the API can be done by a simple script:

COGMENT_API_DIR="."
COGMENT_API_VERSION="v1.0.0"

mkdir -p "${COGMENT_API_DIR}/cogment/api"
curl -L "https://cogment.github.io/cogment-api/${COGMENT_API_VERSION}/cogment-api-${COGMENT_API_VERSION}.tar.gz" | tar xz -C "${COGMENT_API_DIR}/cogment/api"

Developers

Release process

People having mainteners rights of the repository can follow these steps to release a version MAJOR.MINOR.PATCH. The versioning scheme follows Semantic Versioning.

  1. Run ./scripts/create_release_branch.sh MAJOR.MINOR.PATCH to create the release branch and update the version of the package,
  2. On the release branch, check and update the changelog if needed and make sure everything's fine on CI,
  3. Run ./scripts/tag_release.sh MAJOR.MINOR.PATCH to create the specific version section in the changelog, merge the release branch in main, create the release tag and update the develop branch with those.

The rest: publishing the package, updating the mirror repositories is handled directly by the CI.