Protobuf files for Agatha project
Project description
Agatha Protobuf
Shared gRPC contracts for the Agatha monorepo. Source .proto files live in src/agatha_protobuf/; generated stubs are committed under build/ (Go) and dist/ / installable Python package agatha-protobuf (Python).
- Package name (Python/PyPI):
agatha-protobuf - Go module:
github.com/blueprint-ai-org/protobuf - Current version: see
pyproject.toml(version)
Service domains (src/agatha_protobuf/)
activity_ingestor/ auth/ knowledge_graph/
lms_connector/ manager/ metrics_engine/
notification/ payment/ analysis/
Each subdirectory contains the .proto files for that service's gRPC contracts (messages + services). Edit these and regenerate.
Make targets
make install-deps # install protoc-gen-go, protoc-gen-go-grpc, build/twine helpers
make proto # compile .proto → Python (src/, with .pyi stubs and grpc_python_out)
make proto-go # compile .proto → Go under build/, then git-add + bump patch version
make clean # remove dist/ build/ *.egg-info and *_pb2*.py(i) files
make build # proto + python sdist/wheel into dist/
make publish # clean + build + upload to PyPI (twine)
Version management:
make patch # bump 1.1.x
make minor # bump 1.x.0
make major # bump x.0.0
make release VERSION=1.2.3 # set explicit version
make proto-go automatically git add ./build and runs make patch. Commit afterwards.
Prerequisites
- Python 3.8+ with a venv at
.venv/(the Makefile invokes.venv/bin/python3) - Go 1.24+ with
protoc-gen-goandprotoc-gen-go-grpconPATH(installed bymake install-deps) protocavailable viagrpc_tools.protoc(Python) andprotoc(Go)
Consuming from services
Go
import "github.com/blueprint-ai-org/protobuf/build/agatha_protobuf/auth"
Most services vendor this module — bump the dependency, then go mod tidy (GOPRIVATE=github.com/blueprint-ai-org/*, GITHUB_TOKEN).
Python
pip install agatha-protobuf
# or, in pyproject.toml:
# dependencies = ["agatha-protobuf>=1.1.0"]
from agatha_protobuf.auth import auth_pb2, auth_pb2_grpc
Workflow
- Edit
.protofiles undersrc/agatha_protobuf/<domain>/. make proto(Python) and/ormake proto-go(Go).- Bump version via
make patch|minor|major|release. - Commit
src/,build/,pyproject.toml. make publishto push the Python package to PyPI; for Go, consumers update viago get github.com/blueprint-ai-org/protobuf@<tag>.
Changelog
Pipeline: tenant_user_id added (plan 2026-05-13-notification-tenant-refactor, step-11)
Adds a raw (non-hashed) tenant_user_id field — FK to <tenantID>.user._id —
across the cross-monorepo Pub/Sub pipeline that runs
journal-created → behavioral-events-raw → risk-alerts. Producers
(agent, activity-ingestor) populate from Journal.user; consumers
(metrics-engine, notification) read alongside the existing person_id.
Schemas touched:
knowledge_graph/event.proto—IngestEventRequest.tenant_user_id(field 9).notification/notification.proto—RiskAlert.tenant_user_id(field 16);RiskAlert.person_id(field 3) marked[deprecated = true].activity_ingestor/journal.proto—Journal.userdocumented as the canonical source oftenant_user_id(no wire change).
JSON Pub/Sub structs (non-proto, in consuming services):
metrics-engine/internal/risk/alert_event.go—RiskAlertEvent.TenantUserID.metrics-engine/internal/infra/pubsub/event.go—BehavioralEvent.TenantUserID.knowledge-graph/internal/infra/pubsub/publisher.go—EventMessage.TenantUserID.
person_id is kept for one release cycle as a [deprecated = true] alias;
removal is a follow-up plan once all consumers have migrated.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agatha_protobuf-1.1.13.tar.gz.
File metadata
- Download URL: agatha_protobuf-1.1.13.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8d97731f0b3af67f4073ee10f6e61264d06fa1fd987262727e1b267d10850c8
|
|
| MD5 |
8f86fbf5128b94d47adefdb1430d5ad8
|
|
| BLAKE2b-256 |
5c2cfc3dededc19444ea6c270c8c46dbf3379d2a9fa2fcb0a33f7c9c08a0521e
|
File details
Details for the file agatha_protobuf-1.1.13-py3-none-any.whl.
File metadata
- Download URL: agatha_protobuf-1.1.13-py3-none-any.whl
- Upload date:
- Size: 20.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
44eb2f34d5b690a08bdb99ff9acd26a4cec928228f7a598a6ac4ce65472b40d2
|
|
| MD5 |
cbf44036b2ffae719fe40d253fb9469a
|
|
| BLAKE2b-256 |
7b493ff8dd6569a38a6953f340afa49c1ad9f77a1f3fae373b94f1994303dac3
|