Language Independent Interface Types For INSIGHT
The proto files can be consumed as GIT submodules or copied and built directly in the consumer project.
The compiled files are published to central repositories (Maven, ...).
Prerequisites
Python
pip install grpcio grpcio-tools mypy-protobuf
Go
# protoc (protobuf compiler)
# Ubuntu/Debian:
sudo apt install -y protobuf-compiler
# macOS:
brew install protobuf
# Go protobuf plugins
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/srikrsna/protoc-gen-gotag@latest
Ensure $GOPATH/bin (usually ~/go/bin) is on your PATH.
Generate gRPC Client Libraries
To generate the raw gRPC client libraries, use make gen-${LANGUAGE}. Currently supported languages are:
- python
- golang
Using local build
When testing you can build the python version locally using make build-python. This will build a version of 0.0.1-dev,
this can then be installed using pip install.
make build-python VERSION=0.0.2
Then update the agent pyproject.yaml
dependencies = [
"insight-proto @ file:///home/bdonnell/repo/github/opentrace/insight-proto/build/python",
]
Then run pip install for the agent:
pip install -e".[dev]"
Due to this being a dev build sometimes pip gets confused so you might need to run uninstall.
pip uninstall insight-proto
Go
Build the Go protobuf locally and update the insight-proto-go submodule:
make build-go-local
Then in your Go service, add a replace directive in go.mod to point at your local copy:
replace github.com/opentrace/insight-proto-go => /home/bdonnell/repo/github/opentrace/insight-proto/insight-proto-go
Releasing
To release this we use GitHub Actions when a new release is tagged via GitHub.
Release files for insight-proto 0.0.60
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| insight_proto-0.0.60.tar.gz | 53.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| insight_proto-0.0.60-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 130.0 kB
Release files / insight_proto-0.0.60.tar.gz
| Download URL | insight_proto-0.0.60.tar.gz |
|---|---|
| Size | 53.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ca9a4c819717cbdaa7e2b058cd389d446a15cc2322205cd6b0a320d1b0a080e7
|
|
BLAKE2b-256 checksum How to use checksums |
34b75274560eb002c5a28fc51fe4c4123a79ab6df90b2c424c5a629fb35cbd3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / insight_proto-0.0.60-py3-none-any.whl
| Download URL | insight_proto-0.0.60-py3-none-any.whl |
|---|---|
| Size | 76.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f6800af6029435182382cd48339ef13de9ca1a79b19e27af631f17dc74f7fe57
|
|
BLAKE2b-256 checksum How to use checksums |
3243748322575d88c8ba503259fba1b97300ae9f3f33f1ab78903502f52ec1c2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|