Python
Python is fully supported by Speedscale. Use this page for Python-specific proxy settings, TLS trust configuration, demo guidance, and the proxymock local workflow.
- Support matrix: Technology Support
- Shared proxymock proxy reference: Language Configuration
Kubernetes Sidecar
When Python runs with the Speedscale sidecar in forward or dual mode, configure the runtime to use the
sidecar's forward proxy on 127.0.0.1:4140 unless you changed proxy-out-port.
Typical settings:
export HTTP_PROXY=http://127.0.0.1:4140
export HTTPS_PROXY=http://127.0.0.1:4140
If tls-out is enabled, also trust the Speedscale CA separately, commonly with REQUESTS_CA_BUNDLE for
requests-based applications.
See Proxy Modes and TLS Support for the shared sidecar behavior.
Demo App
- Public demo: speedscale/mock-lab (
pythondirectory) - Stack: standard-library Python (no Flask, no Makefile) that calls one downstream, the CNCF projects API at
https://demo-api.trafficreplay.com - Local run:
python3 app.py - Traffic generator:
./lab/tests/run_tests.sh --recording
This is the current public Python demo used for local proxymock examples.
proxymock
Use this path for the fastest Python first success on a developer workstation.
- 1. Install and initialize proxymock
brew install speedscale/tap/proxymock proxymock initUse browser sign-in by default. Use `proxymock init --api-key <your key>` only for CI or other headless environments.
- 2. Clone the demo and start recording
git clone https://github.com/speedscale/mock-lab cd mock-lab/python proxymock record -- python3 app.pyproxymock records the app while it starts the Python service as a child process. The app listens on port 8080 and calls the CNCF projects API downstream.
- 3. Generate one real workflow
./lab/tests/run_tests.sh --recordingRun the test driver from the repo root. It drives the requests that become the exported production-style trace.
- 4. Stop the recording, then run with mocks
cd mock-lab/python proxymock mock -- python3 app.pyThe mocked run should no longer need live outbound dependencies.
- 5. Replay the same traffic against a change
cd mock-lab/python proxymock replay --test-against http://localhost:8080Use replay as the regression check before shipping Python changes.
TLS Trust
The demo app uses the standard-library urllib client and needs no manual CA configuration locally — proxymock injects the trusted bundle for you. For Python applications that use requests, trust the Speedscale certificate bundle with REQUESTS_CA_BUNDLE. See the shared Language Configuration page for the exact command and related options.