is-msgs
Repository containing all the standard protobuf messages definitions for the is:: framework. The .proto definitions are used to generate code in other programming languages. In order to use that generated code you need to know the conventions for your language of choice:
Documentation for the messages and their fields can be found in the docs folder.
C++
BUILDING FROM SOURCE
To build this library from source first run the bootstrap script to get build dependencies, then run the build script.
./bootstrap.sh # to get build dependencies
./build.sh # to build library
CONAN PACKAGE
A conan artifact is available in our bintray repository.
USAGE
#include <is/msgs/common.pb.h>
is::common::Tensor tensor;
Javascript / NodeJS
To use protocol buffers with JavaScript you need the protocol compiler protoc download a pre-built binary on GitHub.
Install build dependencies and compile .proto schemas to .js files:
npm install # to get build dependencies
npm run generate # to generate js files
Now to use it on server side (nodejs) simply import and use the generated files, i.e:
const common = require("./is/msgs/common_pb.js");
let tensor = new common.Tensor();
tensor.setDoublesList([1, 2, 3]);
console.log(tensor.toObject());
// ...
To use it on the browser, browserify the files by running:
npm run browserify
Now to use it on the browser, include the browserified bundle, i.e:
<script src="is_msgs.js"></script>
<script>
var tensor = new proto.is.msgs.common.Tensor();
tensor.setDoublesList([1, 2, 3]);
console.log(tensor.toObject());
</script>
// ...
Python
To use protocol buffers with Python, simply run:
pip install --user is-msgs
If your project contains messages using a message from this repository, e.g.:
syntax = "proto3";
import "is/msgs/common.proto";
message MyMessage {
is.common.Pose pose = 1;
}
You can build using:
python -m is_msgs.utils.build <LIST_OF_PROTO_FILES>
Releasing new versions
First of all, bumps the version on the .version
file following the pattern ^[0-9]+\.[0-9]+\.[0-9]+$
.
Post release steps
After release is_msgs
in any programing language, the protobuf's documentation available docs/README.md
file will be automatically updated. Remember to commit and push those changes, as well as creates a tag on git related to the new version. To do so, run the following commands:
git tag v$(cat .version)
git push origin v$(cat .version)
Python
It's important to test your package before release it. You can do that installing it locally running the command bellow. It's recommended to use virtual environments.
python setup.py install --user
Ensure that the new features added are working properly. Afterwards, you'll need do build a tarball file with package's content.
python setup.py sdist
A .tar.gz
file will be created on dist/
folder, containing the version on its name. Now, use the twine
tool to send you package to PyPi
. Username and password will be required.
twine upload dist/is_msgs-$(cat .version).tar.gz
C++
Under construction