Improve compatibility of `scripts/check-docker.py`
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
Currently `install-dev.sh` executes it using `$bpython` (aka "bootstrap Python"), which may be a system Python.So if the system Python is older than 3.7 or does not allow silent installation of `requests` and `requests_unixsocket`, the script will break.
Let's do:
- `check-docker.py`: Write a minimalistic replacement of `requests` and `requests_unixsocket` with the Python standard library only. Rewrite the script using those new wrappers.
- `install-dev.sh`: Use `$(pyenv prefix $(pyenv latest 3.9))/bin/python` to execute `check-docker.py`, as 3.9 is required as the pants runtime.
JIRA Issue: BA-218
Contributor guide
Research direction
Start with check-docker.py to map its current requests and requests_unixsocket usage, then inspect install-dev.sh to confirm how $bpython invokes it. Replace those dependencies with standard-library wrappers and update the invocation to the specified Python 3.9 path. Done means both files work without silently installing those packages and the development installation flow completes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, python
- Domain
- devops, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100