{"id":751,"library":"dbt-protos","title":"dbt-protos","description":"dbt-protos is a Python library that provides public Protocol Buffer (proto) bindings for dbt. It serves as a central, 100% generated repository for dbt's public proto definitions, facilitating internal communication and metadata handling within the dbt ecosystem. Currently at version 1.0.443, its release cadence is closely tied to dbt Core and other related dbt libraries.","status":"active","version":"1.0.443","language":"python","source_language":"en","source_url":"https://github.com/dbt-labs/proto-python-public","tags":["dbt","protobuf","data-modeling","generated-code"],"install":[{"cmd":"pip install dbt-protos","lang":"bash","label":"Install latest version"}],"dependencies":[{"reason":"Runtime dependency for handling Protocol Buffer messages.","package":"protobuf","optional":false}],"imports":[{"wrong":"from dbtlabs.dbt_common_pb2 import Project","symbol":"Project","correct":"from dbtlabs.dbt_common_pb2 import Project"}],"quickstart":{"code":"from dbt_protos.dbt_common_pb2 import Project\n\n# Instantiate a generated proto message (e.g., a 'Project' message)\nproject_message = Project(name=\"my_dbt_project\", dbt_version=\"1.8.0\")\n\nprint(f\"Created dbt Project message: {project_message.name} (dbt version: {project_message.dbt_version})\")\n","lang":"python","description":"This quickstart demonstrates how to import and instantiate a generated Protocol Buffer message from `dbt-protos`. Since `dbt-protos` is primarily a binding library for internal dbt structures, direct end-user application logic using these protos is less common than other dbt libraries. This example uses a hypothetical 'Project' message from `dbt_common_pb2`."},"warnings":[{"fix":"Ensure your installed `protobuf` library version is compatible with, or newer than, the version used to generate `dbt-protos`. Check the `protobuf` dependency requirements of `dbt-protos` or related `dbt-core` versions.","message":"Incompatible Protobuf Gencode/Runtime Versions: Using `dbt-protos` with an older `protobuf` runtime than the version it was generated with can lead to `google.protobuf.runtime_version.VersionError`. This is a common issue with any protobuf-generated code.","severity":"breaking","affected_versions":"All versions where protobuf runtime/gencode mismatch occurs"},{"fix":"Do not manually edit files within the `dbt_protos` package. If changes to dbt's protobuf definitions are needed, engage with the dbt Labs team through their official channels.","message":"Library is 100% Generated: `dbt-protos` is entirely generated code. Direct modifications to its files are not recommended as they will be overwritten by future updates. This also means the API surface is dictated by the underlying .proto definitions.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Understand that `dbt-protos` is foundational. Most users will interact with dbt through `dbt-core`, dbt adapters, or other higher-level dbt libraries. Direct usage is typically reserved for advanced integrations or metadata inspection.","message":"Primarily an Internal/Foundational Library: `dbt-protos` provides low-level bindings for dbt's internal communication and metadata. It is not typically used for direct end-user data transformation logic or application development in the same way `dbt-core` or adapter plugins are. Expectations of a rich, high-level API for general use may lead to confusion.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure `dbt-protos` is properly installed in your Python environment using `pip install dbt-protos`. If using a virtual environment, ensure it is activated.","message":"The `dbt-protos` library was not found in the Python environment. This typically means it was not installed, or the current environment does not have access to it.","severity":"breaking","affected_versions":"All versions"},{"fix":"Ensure `dbt-protos` is correctly installed in your Python environment. This can typically be resolved by running `pip install dbt-protos`. If using a virtual environment, ensure it is activated before installation.","message":"ModuleNotFoundError: No module named 'dbt_protos'. This error occurs when the `dbt-protos` package is not found in the Python environment's path.","severity":"breaking","affected_versions":"All versions"}],"env_vars":null,"search_vec":"'1.0.443':47 '100':25 'bind':17 'buffer':15 'cadenc':50 'central':24 'close':52 'code':69 'communic':36 'core':56 'current':44 'data':65 'data-model':64 'dbt':2,5,19,29,42,55,60,62 'dbt-proto':1,4 'definit':33 'ecosystem':43 'facilit':34 'generat':26,68 'generated-cod':67 'handl':39 'intern':35 'librari':10,61 'metadata':38 'model':66 'proto':3,6,16,32 'protobuf':63 'protocol':14 'provid':12 'public':13,31 'python':9 'relat':59 'releas':49 'repositori':27 'serv':21 'tie':53 'version':46 'within':40","created_at":"2026-03-29T04:20:06.626335+00:00","updated_at":"2026-04-16T05:49:01.906110+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nModuleNotFoundError: No module named 'dbtlabs.dbt_common_pb2'"},"ecosystem":"pypi","meta_description":null,"install_score":0,"quickstart_score":0,"quickstart_tag":"stale","pypi_latest":"1.0.514","cli_name":"","cli_version":null,"type":"library","homepage":"https://www.getdbt.com","github":"https://github.com/dbt-labs/proto-python-public","docs":null,"changelog":null,"pypi":"https://pypi.org/project/dbt-protos/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["serialization","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":"stale"}}