codenotary / codenotary/immudb-py
Unnecessary Google API dependencies in requirements
- Dominant language
- Python
- Stars
- 52
- Forks
- 8
- PR merge metrics
- No merged PRs in 30d
Description
## 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`:
```diff
- 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.
Contributor guide
No contributing guide indexed for this repository
Research direction
Review setup.py and requirements.txt alongside the listed Google-related imports in client.py and rootService.py. Confirm the packages are unused, remove the six listed Google API dependencies while retaining protobuf and other used packages, then run the project’s available tests or installation checks to verify dependency resolution.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100