gh-120057: Add os.reload_environ() function#126268
Conversation
Replace the os.environ.refresh() method with a new os.reload_environ() function.
Doc/library/os.rst
Outdated
| .. function:: reload_environ() | ||
|
|
||
| Update :data:`os.environ` and :data:`os.environb` with changes to the | ||
| environment made by :func:`os.putenv`, by :func:`os.unsetenv`, or made |
There was a problem hiding this comment.
I think that it is better to say "the process environment".
os.putenv and os.unsetenv update the cache, so there is no need to reload after them. You should refer to the C functions.
Please add a note that this function is not thread safe. Calling it while the environment is modified in other thread has undefined behavior. Reading from os.environ or calling os.getenv during reloading can return empty result.
There was a problem hiding this comment.
If the process environment is mentioned, perhaps it can be specifically mentioned that it is the current process environment (I think)
Edit
Or, it can be called the current program.
There was a problem hiding this comment.
os.putenv() and os.unsetenv() don't update os.environ: see test_reload_environ().
|
@serhiy-storchaka: Please review the updated PR. I addressed your review. |
serhiy-storchaka
left a comment
There was a problem hiding this comment.
LGTM. Let a native speaker to review the wording.
picnixz
left a comment
There was a problem hiding this comment.
Not a native speaker but here are some suggestions. For native speakers: @python/proofreaders
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
|
@picnixz: I applied your suggestions. |
ncoghlan
left a comment
There was a problem hiding this comment.
LGTM! (although see @AA-Turner's suggested docs wording tweaks)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
picnixz
left a comment
There was a problem hiding this comment.
Pro tips from someone who had lots of linter errors due to suggestions in the past: when submitting a suggestion, I usually Ctrl+A (or "Select all" on mobile) to check whether the text has trailing whitespaces or not. This helps reducing linter errors.
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
|
Merged, thanks for reviews! |
Replace the os.environ.refresh() method with a new os.reload_environ() function. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Replace the os.environ.refresh() method with a new os.reload_environ() function. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Replace the os.environ.refresh() method with a new os.reload_environ() function.
📚 Documentation preview 📚: https://cpython-previews--126268.org.readthedocs.build/