diff --git a/docs/faq.md b/docs/faq.md index 71ac22c1c2d..70b2d44c7c8 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -223,3 +223,16 @@ RUN poetry install --no-dev The two key options we are using here are `--no-root` (skips installing the project source) and `--no-directory` (skips installing any local directory path dependencies, you can omit this if you don't have any). [More information on the options available for `poetry install`]({{< relref "cli#install" >}}). + + +### My requests are timing out! + +Poetry's default HTTP request time out is 15 seconds, the same as `pip`. +Similar to `PIP_REQUESTS_TIMEOUT`, the experimental environment variable `POETRY_REQUESTS_TIMEOUT` +can be set to alter this value. As this environment variable is **unstable**, it may be removed in the future, but +not before being replaced with a permanent alternative. + +Note that it is almost always better to debug network stability than to blindly increase +the request timeout -- the timeout controls how long it Poetry waits to establish a HTTP +request/connection, and not how long Poetry will wait for a response to finish +(Poetry will keep on waiting as long as the response is unfinished). diff --git a/src/poetry/utils/constants.py b/src/poetry/utils/constants.py index 56bec540ae2..e8fe2918e50 100644 --- a/src/poetry/utils/constants.py +++ b/src/poetry/utils/constants.py @@ -1,8 +1,10 @@ from __future__ import annotations +import os + # Timeout for HTTP requests using the requests library. -REQUESTS_TIMEOUT = 15 +REQUESTS_TIMEOUT = int(os.getenv("POETRY_REQUESTS_TIMEOUT", 15)) RETRY_AFTER_HEADER = "retry-after"