Summary
The package includes several Google API dependencies that are not actually used in the codebase, causing unnecessary bloat (~15-20MB extra).
Unused dependencies
| Package |
In setup.py/requirements.txt |
Actually imported |
google-api |
✅ |
❌ |
google-api-core |
✅ |
❌ |
google-api-python-client |
✅ |
❌ |
google-auth |
✅ |
❌ |
google-auth-httplib2 |
✅ |
❌ |
googleapis-common-protos |
✅ |
❌ |
Evidence
I searched the codebase and found only these Google-related imports:
client.py: from google.protobuf import empty_pb2
rootService.py: from google.protobuf import empty_pb2
Both only use google.protobuf (the core protobuf package), not any of the Google API packages listed above.
Suggested fix
Remove unused dependencies from setup.py and requirements.txt:
- google-api>=0.1.12
- google-api-core>=2.18.0
- google-api-python-client>=2.123.0
- google-auth>=2.29.0
- google-auth-httplib2>=0.2.0
- googleapis-common-protos>=1.63.0
Keep only what's actually used:
grpcio
protobuf
ecdsa
cachetools
- (and other actually-used packages)
Impact
- Faster installs
- Smaller container images
- Fewer transitive dependencies to audit for security
- Reduced chance of dependency conflicts
Happy to submit a PR if this approach is acceptable.
Summary
The package includes several Google API dependencies that are not actually used in the codebase, causing unnecessary bloat (~15-20MB extra).
Unused dependencies
google-apigoogle-api-coregoogle-api-python-clientgoogle-authgoogle-auth-httplib2googleapis-common-protosEvidence
I searched the codebase and found only these Google-related imports:
client.py:from google.protobuf import empty_pb2rootService.py:from google.protobuf import empty_pb2Both only use
google.protobuf(the core protobuf package), not any of the Google API packages listed above.Suggested fix
Remove unused dependencies from
setup.pyandrequirements.txt:Keep only what's actually used:
grpcioprotobufecdsacachetoolsImpact
Happy to submit a PR if this approach is acceptable.