Intent
Route every platform (including macOS) through the releases.stackql.io proxy and send a pystackql/{version} User-Agent so pulls are attributable in Analytics Engine.
Current state
- Linux/Windows already use the proxy.
- macOS uses
storage.googleapis.com/stackql-public-releases/... (GCS bucket) - bypasses the proxy.
requests.get sends the default python-requests/x UA.
- Download logic is duplicated in
utils/download.py and utils/helpers.py.
Changes (apply to both files, or dedupe to one)
# Darwin URL
- return 'https://storage.googleapis.com/stackql-public-releases/latest/stackql_darwin_multiarch.pkg'
+ return 'https://releases.stackql.io/stackql/latest/stackql_darwin_multiarch.pkg'
# request (set version-stamped UA; import from wherever the package version is defined)
- r = requests.get(url, stream=True)
+ r = requests.get(url, stream=True, headers={"User-Agent": f"pystackql/{__version__}"})
Acceptance
Intent
Route every platform (including macOS) through the
releases.stackql.ioproxy and send apystackql/{version}User-Agent so pulls are attributable in Analytics Engine.Current state
storage.googleapis.com/stackql-public-releases/...(GCS bucket) - bypasses the proxy.requests.getsends the defaultpython-requests/xUA.utils/download.pyandutils/helpers.py.Changes (apply to both files, or dedupe to one)
Acceptance
releases.stackql.iopystackql/<version>