{"id":15565546,"url":"https://github.com/jelmer/setuptools-protobuf","last_synced_at":"2025-10-02T23:34:32.180Z","repository":{"id":61495437,"uuid":"547237203","full_name":"jelmer/setuptools-protobuf","owner":"jelmer","description":"protobuf support for setuptools","archived":false,"fork":false,"pushed_at":"2025-09-08T12:30:52.000Z","size":135,"stargazers_count":16,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-09-08T14:35:25.794Z","etag":null,"topics":["protobuf","python","setuptools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jelmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"jelmer"}},"created_at":"2022-10-07T10:59:19.000Z","updated_at":"2025-09-08T12:30:49.000Z","dependencies_parsed_at":"2023-09-22T23:29:06.353Z","dependency_job_id":"2ac1da86-04a5-4981-8139-dca12f77fb11","html_url":"https://github.com/jelmer/setuptools-protobuf","commit_stats":{"total_commits":25,"total_committers":2,"mean_commits":12.5,"dds":0.07999999999999996,"last_synced_commit":"304e3b1f7cd31b0da696b83dc4602d50e854a504"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/jelmer/setuptools-protobuf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmer%2Fsetuptools-protobuf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmer%2Fsetuptools-protobuf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmer%2Fsetuptools-protobuf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmer%2Fsetuptools-protobuf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jelmer","download_url":"https://codeload.github.com/jelmer/setuptools-protobuf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jelmer%2Fsetuptools-protobuf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277526756,"owners_count":25833447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-29T02:00:09.175Z","response_time":84,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["protobuf","python","setuptools"],"created_at":"2024-10-02T16:58:53.531Z","updated_at":"2025-10-02T23:34:32.162Z","avatar_url":"https://github.com/jelmer.png","language":"Python","funding_links":["https://github.com/sponsors/jelmer"],"categories":[],"sub_categories":[],"readme":"# protobuf support for setuptools\n\nPlugin for `setuptools` that adds support for compiling protobuf files.\n\n## Dependencies\n\nThe plugin requires the external ``protoc`` executable that is part of the\n[protobuf project](https://github.com/protocolbuffers/protobuf) to be present.\nOn Debian systems, this executable is shipped in the ``protobuf-compiler`` package.\n\nIf the ``protoc_version`` option is specified, the specified version of protoc\nwill be downloaded from github. When it is not specified, a ``protoc`` binary is\nexpected to be present in the environment. You can override the binary with the\nPROTOC environment variable.\n\nOptionally, it can also generate typing hints if the ``mypy`` extra is selected.\n\nThere is no separate ``install_proto`` command; generated files (e.g. \\_pb2.py\nfiles) are placed in the source tree and expected to be installed by other\ninstall commands.\n\n## Usage\n\nYou can configure `setuptools-protobuf` in either `setup.py`, `setup.cfg` or `pyproject.toml`.\n\n### setup.py\n\n```python\nfrom setuptools_protobuf import Protobuf\n\nsetup(\n...\n    setup_requires=['setuptools-protobuf'],\n    protobufs=[Protobuf('example/foo.proto')],\n)\n```\n\n### setup.cfg\n\n```ini\n...\n\n[options]\nsetup_requires =\n    setuptools\n    setuptools-protobuf\n```\n\n### pyproject.toml\n\n```toml\n[build-system]\nrequires = [\"setuptools\", \"setuptools-protobuf\"]\n\n[tool.setuptools-protobuf]\nprotobufs = [\"example/foo.proto\"]\n\n# Require the generation of typing hints:\nmypy = true\n\n# Optionally, set the specific protoc version to use:\nprotoc_version = '25.1'\n\n# Optionally, set a proto file search path (`--proto_path` or `-I` option to protoc)\nproto_path = \"src\"\n```\n\n## GitHub actions\n\nTo install protoc in a GitHub action, you can use the\n[setup-protoc](https://github.com/arduino/setup-protoc) action:\n\n```yaml\n- name: Install Protoc\n  uses: arduino/setup-protoc@v2\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelmer%2Fsetuptools-protobuf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjelmer%2Fsetuptools-protobuf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjelmer%2Fsetuptools-protobuf/lists"}