matrix-org / sygnal

Sygnal: reference Push Gateway for Matrix
Apache License 2.0
164 stars 147 forks source link

Undeclared dependencies #289

Closed squahtx closed 2 years ago

squahtx commented 2 years ago

In a few places we import packages that aren't declared as direct dependencies. These imports appear to work because they are transitive dependencies. We should be explicit about our list of dependencies since transitive dependencies can change out from under us.

A hacky command to find imports:

$ grep -P -r "^import \w+|^from \w+" sygnal -o -h | grep -P -o "\w+$" | sort | uniq
abc
aioapns
asyncio
attr
base64
copy
cryptography
datetime
hashlib
idna
importlib
importlib_metadata
io
json
logging
matrix_common
OpenSSL
opentracing
os
prometheus_client
py_vapid
pywebpush
re
service_identity
ssl
sygnal
sys
time
traceback
twisted
typing
typing_extensions
urllib
uuid
yaml
zope