Skip to content

Commit

Permalink
Add experimental POETRY_REQUESTS_TIMEOUT option
Browse files Browse the repository at this point in the history
Co-authored-by: Bjorn Neergaard <bjorn@neersighted.com>
  • Loading branch information
Secrus and neersighted committed May 4, 2023
1 parent 9e5dd98 commit c72dca2
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 1 deletion.
13 changes: 13 additions & 0 deletions docs/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -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).
4 changes: 3 additions & 1 deletion src/poetry/utils/constants.py
Original file line number Diff line number Diff line change
@@ -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"

Expand Down

0 comments on commit c72dca2

Please sign in to comment.